linux/drivers/gpu/drm/omapdrm
Daniel Vetter 5117bd898e drm/omap: gem: Fix mm_list locking
- None of the list walkings where protected.

- Switch to a mutex since the list walking at device resume time can
  sleep when pinning buffers through the tiler.

Only thing we need to be careful with here is that while we walk the
list we can't unreference any gem objects, since the final unref would
result in a recursive deadlock. But the only functions that walk the
list is the device resume and debugfs dumping, so all safe.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-06-28 13:41:05 +03:00
..
displays drm/omap: fix email address 2018-06-28 13:41:05 +03:00
dss drm/omap: fix email address 2018-06-28 13:41:05 +03:00
Kconfig drm/omap: Get rid of DRM_OMAP_NUM_CRTCS config option 2017-04-03 12:36:40 +03:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
omap_connector.c drm/omap: handle alloc failures in omap_connector 2018-05-07 10:19:12 -04:00
omap_connector.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
omap_crtc.c drm: omapdrm: dispc: Pass DISPC pointer to dispc_ops operations 2018-03-01 09:18:18 +02:00
omap_crtc.h drm: omapdrm: dss: Pass omap_drm_private pointer to dss_mgr_ops 2018-03-01 09:18:18 +02:00
omap_debugfs.c drm/omap: gem: Fix mm_list locking 2018-06-28 13:41:05 +03:00
omap_dmm_priv.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_dmm_tiler.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
omap_dmm_tiler.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_drv.c drm/omap: gem: Fix mm_list locking 2018-06-28 13:41:05 +03:00
omap_drv.h drm/omap: gem: Fix mm_list locking 2018-06-28 13:41:05 +03:00
omap_encoder.c drm: omapdrm: Remove filename from header and fix copyright tag 2017-12-19 11:21:32 +02:00
omap_encoder.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
omap_fb.c drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_fb.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
omap_fbdev.c drm/omap: gem: Replace struct_mutex usage with omap_obj private lock 2018-06-28 13:41:05 +03:00
omap_fbdev.h drm/omap: cleanup fbdev init/free 2018-03-01 09:18:18 +02:00
omap_gem.c drm/omap: gem: Fix mm_list locking 2018-06-28 13:41:05 +03:00
omap_gem.h gpu: drm: omapdrm: Adding new typedef vm_fault_t 2018-06-28 13:41:05 +03:00
omap_gem_dmabuf.c drm: omapdrm: Remove filename from header and fix copyright tag 2017-12-19 11:21:32 +02:00
omap_irq.c drm: omapdrm: dispc: Pass DISPC pointer to dispc_ops operations 2018-03-01 09:18:18 +02:00
omap_irq.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_plane.c drm/omap: Use normalized zpos for plane placement 2018-03-28 09:45:45 +03:00
omap_plane.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
tcm-sita.c drm/omap: silence unititialized variable warning 2018-05-07 10:19:11 -04:00
tcm-sita.h drm: omapdrm: Remove filename from header and fix copyright tag 2017-12-19 11:21:32 +02:00
tcm.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
TODO