aboutsummaryrefslogtreecommitdiff
path: root/drivers/mfd/glamo/glamo-cmdq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mfd/glamo/glamo-cmdq.c')
-rw-r--r--drivers/mfd/glamo/glamo-cmdq.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/mfd/glamo/glamo-cmdq.c b/drivers/mfd/glamo/glamo-cmdq.c
index 442963cc876..28c52680398 100644
--- a/drivers/mfd/glamo/glamo-cmdq.c
+++ b/drivers/mfd/glamo/glamo-cmdq.c
@@ -57,6 +57,7 @@
#include "glamo-core.h"
#include "glamo-drm-private.h"
#include "glamo-regs.h"
+#include "glamo-buffer.h"
#define GLAMO_CMDQ_SIZE (128 * 1024) /* 128k ring buffer */
@@ -495,10 +496,11 @@ int glamo_cmdq_setup(struct glamodrm_handle *gdrm)
}
-int glamo_cmdq_init(struct glamodrm_handle *gdrm)
+int glamo_cmdq_init(struct drm_device *dev)
{
struct drm_gem_object *obj;
struct drm_glamo_gem_object *gobj;
+ struct glamodrm_handle *gdrm = dev->dev_private;
int ret = 0;
obj = glamo_gem_object_alloc(dev, GLAMO_CMDQ_SIZE, 4);
@@ -507,9 +509,10 @@ int glamo_cmdq_init(struct glamodrm_handle *gdrm)
ret = -ENOMEM;
goto out;
}
- gobj = fbo->driver_private;
+ gobj = obj->driver_private;
gdrm->cmdq_offs = GLAMO_OFFSET_FB + gobj->block->start;
- gdrm->cmdq_base = ioremap(gdrm->vram->start + offs, GLAMO_CMDQ_SIZE);
+ gdrm->cmdq_base = ioremap(gdrm->vram->start + gdrm->cmdq_offs,
+ GLAMO_CMDQ_SIZE);
/* Set up registers */
glamo_cmdq_setup(gdrm);
@@ -521,6 +524,7 @@ out:
int glamo_cmdq_shutdown(struct glamodrm_handle *gdrm)
{
+ iounmap(gdrm->cmdq_base);
return 0;
}