linux/drivers/gpu/drm/omapdrm
Laurent Pinchart 09e5bb6d5b drm/omap: dss: Add device operations flags
When an omap_dss_device operation can be implemented in multiple places
in a chain of devices, it is important to find out which device to
address to perfom the operation. This is currently done by calling the
operation on the display device at the end of the chain, and recursively
delagating the operation to the previous device if it can't be performed
locally. The drawback of this approach is an increased complexity in
omap_dss_device drivers.

In order to simplify the drivers, we will switch from a recursive model
to an interative model, centralizing the complexity in a single
location. This requires knowing which operations an omap_dss_device
supports at runtime. We can already test which operations are
implemented by checking the operation pointer, but implemented
operations can require resources whose availability varies between
systems. For instance a hot-plug signal from a connector can be wired to
a GPIO or to a bridge chip.

Add operation flags that can be set in the omap_dss_device structure by
drivers to signal support for operations.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-09-03 16:13:29 +03:00
..
displays drm/omap: Move most omap_dss_driver operations to omap_dss_device_ops 2018-09-03 16:13:29 +03:00
dss drm/omap: dss: Add device operations flags 2018-09-03 16:13:29 +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
TODO
omap_connector.c drm/omap: Move most omap_dss_driver operations to omap_dss_device_ops 2018-09-03 16:13:29 +03:00
omap_connector.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
omap_crtc.c drm/omap: Move most omap_dss_driver operations to omap_dss_device_ops 2018-09-03 16:13:29 +03:00
omap_crtc.h drm/omap: Pass pipe pointer to omap_crtc_init() 2018-09-03 16:13:28 +03: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: Move most omap_dss_driver operations to omap_dss_device_ops 2018-09-03 16:13:29 +03:00
omap_drv.h drm/omap: Store CRTC lookup by channel table in omap_drm_private 2018-09-03 16:13:28 +03:00
omap_encoder.c drm/omap: Move most omap_dss_driver operations to omap_dss_device_ops 2018-09-03 16:13:29 +03: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: Nuke omap_framebuffer_get_next_connector() 2018-05-25 21:21:39 +03:00
omap_fb.h drm/omapdrm: Nuke omap_framebuffer_get_next_connector() 2018-05-25 21:21:39 +03:00
omap_fbdev.c drm/omap: Group CRTC, encoder, connector and dssdev in a structure 2018-09-03 16:13:27 +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/omap: remove now unused functions 2018-06-25 13:28:06 +10:00
omap_irq.c drm/omap: Group CRTC, encoder, connector and dssdev in a structure 2018-09-03 16:13:27 +03: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