diff options
author | Dave Airlie <airlied@redhat.com> | 2014-04-17 23:12:04 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2014-04-17 23:12:04 -0400 |
commit | d62c3e7a73f87defb17651109a55d36adedadc6f (patch) | |
tree | 76de169974960e3dfc46de2829e357c8cf1539fc /drivers/gpu/drm/omapdrm/omap_gem.c | |
parent | 90e48970c206a2dd7810a5d3dcf07effab956919 (diff) | |
parent | f2d022aa421ca903a30f63b04528064b7eceaf5e (diff) |
Merge tag 'omapdrm-fixes-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next
Fixes for omapdrm, some of which were already present in 3.14, and some which
appeared in 3.15-rc1:
- fixes for primary-plane handling which caused crashes
- fix all kinds of uninit issues which prevented from unloading the omapdrm
module.
- fixes for HDMI enable/disable issues
* tag 'omapdrm-fixes-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
drm/omap: fix the handling of fb ref counts
drm/omap: protect omap_crtc's event with event_lock spinlock
drm/omap: Use old_fb to synchronize between successive page flips
drm/omap: Fix crash when using LCD3 overlay manager
drm/omap: gem sync: wait on correct events
drm/omap: Fix memory leak in omap_gem_op_async
drm/omap: remove warn from debugfs
drm/omap: remove extra plane->destroy from crtc destroy
drm/omap: print warning when rotating non-TILER fb
drm/omap: fix missing unref to fb's buf object
drm/omap: fix plane rotation
drm/omap: fix enabling/disabling of video pipeline
drm/omap: fix missing disable for unused encoder
drm/omap: fix race issue when unloading omapdrm
drm/omap: fix DMM driver (un)registration
drm/omap: fix uninit order in pdev_remove()
drm/omap: fix output enable/disable sequence
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_gem.c')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_gem.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_gem.c b/drivers/gpu/drm/omapdrm/omap_gem.c index c8d972763889..95dbce286a41 100644 --- a/drivers/gpu/drm/omapdrm/omap_gem.c +++ b/drivers/gpu/drm/omapdrm/omap_gem.c | |||
@@ -980,12 +980,9 @@ int omap_gem_resume(struct device *dev) | |||
980 | #ifdef CONFIG_DEBUG_FS | 980 | #ifdef CONFIG_DEBUG_FS |
981 | void omap_gem_describe(struct drm_gem_object *obj, struct seq_file *m) | 981 | void omap_gem_describe(struct drm_gem_object *obj, struct seq_file *m) |
982 | { | 982 | { |
983 | struct drm_device *dev = obj->dev; | ||
984 | struct omap_gem_object *omap_obj = to_omap_bo(obj); | 983 | struct omap_gem_object *omap_obj = to_omap_bo(obj); |
985 | uint64_t off; | 984 | uint64_t off; |
986 | 985 | ||
987 | WARN_ON(!mutex_is_locked(&dev->struct_mutex)); | ||
988 | |||
989 | off = drm_vma_node_start(&obj->vma_node); | 986 | off = drm_vma_node_start(&obj->vma_node); |
990 | 987 | ||
991 | seq_printf(m, "%08x: %2d (%2d) %08llx %08Zx (%2d) %p %4d", | 988 | seq_printf(m, "%08x: %2d (%2d) %08llx %08Zx (%2d) %p %4d", |
@@ -1050,10 +1047,10 @@ static inline bool is_waiting(struct omap_gem_sync_waiter *waiter) | |||
1050 | { | 1047 | { |
1051 | struct omap_gem_object *omap_obj = waiter->omap_obj; | 1048 | struct omap_gem_object *omap_obj = waiter->omap_obj; |
1052 | if ((waiter->op & OMAP_GEM_READ) && | 1049 | if ((waiter->op & OMAP_GEM_READ) && |
1053 | (omap_obj->sync->read_complete < waiter->read_target)) | 1050 | (omap_obj->sync->write_complete < waiter->write_target)) |
1054 | return true; | 1051 | return true; |
1055 | if ((waiter->op & OMAP_GEM_WRITE) && | 1052 | if ((waiter->op & OMAP_GEM_WRITE) && |
1056 | (omap_obj->sync->write_complete < waiter->write_target)) | 1053 | (omap_obj->sync->read_complete < waiter->read_target)) |
1057 | return true; | 1054 | return true; |
1058 | return false; | 1055 | return false; |
1059 | } | 1056 | } |
@@ -1229,6 +1226,8 @@ int omap_gem_op_async(struct drm_gem_object *obj, enum omap_gem_op op, | |||
1229 | } | 1226 | } |
1230 | 1227 | ||
1231 | spin_unlock(&sync_lock); | 1228 | spin_unlock(&sync_lock); |
1229 | |||
1230 | kfree(waiter); | ||
1232 | } | 1231 | } |
1233 | 1232 | ||
1234 | /* no waiting.. */ | 1233 | /* no waiting.. */ |