summaryrefslogtreecommitdiffstats
path: root/drivers/staging/gma500/gem_glue.c
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2011-07-05 15:37:55 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-07-05 08:20:40 -0700
commit5338afdfb5eeaefeefd9dcdb06977920eca5d941 (patch)
treee2bb313c655e2cb7905e746460c23d3254a578e8 /drivers/staging/gma500/gem_glue.c
parent078d6f71677cda935ed182dbb391e946e13766ec (diff)
downloadop-kernel-dev-5338afdfb5eeaefeefd9dcdb06977920eca5d941.zip
op-kernel-dev-5338afdfb5eeaefeefd9dcdb06977920eca5d941.tar.gz
gma500: Update the GEM todo
We also pull out the undo side of the mmap offset processing so we can later push it into GEM where it belongs Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/gma500/gem_glue.c')
-rw-r--r--drivers/staging/gma500/gem_glue.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/staging/gma500/gem_glue.c b/drivers/staging/gma500/gem_glue.c
index 0e7364b..779ac1a 100644
--- a/drivers/staging/gma500/gem_glue.c
+++ b/drivers/staging/gma500/gem_glue.c
@@ -42,6 +42,15 @@ int drm_gem_private_object_init(struct drm_device *dev,
void drm_gem_object_release_wrap(struct drm_gem_object *obj)
{
+ /* Remove the list map if one is present */
+ if (obj->map_list.map) {
+ struct drm_gem_mm *mm = obj->dev->mm_private;
+ struct drm_map_list *list = &obj->map_list;
+ drm_ht_remove_item(&mm->offset_hash, &list->hash);
+ drm_mm_put_block(list->file_offset_node);
+ kfree(list->map);
+ list->map = NULL;
+ }
if (obj->filp)
drm_gem_object_release(obj);
}
OpenPOWER on IntegriCloud