linux_dsm_epyc7002/drivers/gpu/drm/omapdrm
Laurent Pinchart 24ec84e854 drm/omap: Move DISPC runtime PM handling to omapdrm
The internal encoders (DSI, HDMI4, HDMI5 and VENC) runtime PM handlers
attempt to manage the runtime PM state of the connected DISPC, based on
the rationale that the DISPC providing data to the encoders requires
ensuring that the display is active whenever the encoders are active.

While the DISPC provides data to the encoders, it doesn't as such
constitute a resource that encoders require in order to be taken out
of suspend, contrary to for instance a functional clock or a power
supply. Encoders registers can be accessed without the DISPC being
active, and while the encoders will not output any video stream without
being fed by the DISPC, the DISPC PM state doesn't influence the
encoders PM state.

For this reason the DISPC PM state is better managed from the omapdrm
driver, in the CRTC enable and disable operations. This allows the
encoders PM state to be handled separately from the DISPC, and in
particular at times when the DISPC may not be available (for instance at
probe due to the DSS probe being deferred, or at remove time du to the
DISPC being already removed).

Fixes: edb715dffd ("drm/omap: dss: dsi: Move initialization code from bind to probe")
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181110111654.4387-5-laurent.pinchart@ideasonboard.com
2018-11-12 11:50:13 +02:00
..
displays drm/omap: Don't call .set_timings() operation recursively 2018-09-03 16:13:30 +03:00
dss drm/omap: Move DISPC runtime PM handling to omapdrm 2018-11-12 11:50:13 +02: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: fix use of freed memory 2018-10-02 09:36:56 +03:00
omap_connector.h drm/omap: Determine connector type directly in omap_connector.c 2018-09-03 16:13:29 +03:00
omap_crtc.c drm/omap: Move DISPC runtime PM handling to omapdrm 2018-11-12 11:50:13 +02: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/omap: partial workaround for DRA7xx DMM errata i878 2018-10-02 09:36:56 +03:00
omap_dmm_tiler.c drm/omap: partial workaround for DRA7xx DMM errata i878 2018-10-02 09:36:56 +03:00
omap_dmm_tiler.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_drv.c drm/omap: Replace drm_dev_unref with drm_dev_put 2018-10-02 09:36:56 +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: Don't call .set_timings() operation recursively 2018-09-03 16:13:30 +03:00
omap_encoder.h drm/omap: Pass both output and display omap_dss_device to encoder init 2018-09-03 16:13:29 +03:00
omap_fb.c drm/omap: Replace drm_gem_object_unreference_unlocked with put function 2018-10-02 09:36:56 +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: Replace drm_gem_object_unreference_unlocked with put function 2018-10-02 09:36:56 +03:00
omap_fbdev.h drm/omap: cleanup fbdev init/free 2018-03-01 09:18:18 +02:00
omap_gem_dmabuf.c drm/omap: Replace drm_gem_object_{un/reference} with put,get functions 2018-10-02 09:36:56 +03:00
omap_gem.c drm/omap: Replace drm_gem_object_unreference_unlocked with put function 2018-10-02 09:36:56 +03:00
omap_gem.h gpu: drm: omapdrm: Adding new typedef vm_fault_t 2018-06-28 13:41:05 +03: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.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
TODO