linux_dsm_epyc7002/drivers/gpu/drm/bridge/synopsys
Heiko Stuebner 90910a6511 drm/bridge/synopsys: dsi: add ability to have glue-specific attach and detach
With the regular means of adding the dsi-component in probe it creates
a race condition with the panel probing, as the panel device only gets
created after the dsi-bus got created.

When the panel-driver is build as a module it currently fails hard as the
panel cannot be probed directly:

dw_mipi_dsi_bind()
  __dw_mipi_dsi_probe()
    creates dsi bus
    creates panel device
    triggers panel module load
    panel not probed (module not loaded or panel probe slow)
  drm_bridge_attach
    fails with -EINVAL due to empty panel_bridge

Additionally the panel probing can run concurrently with dsi bringup
making it possible that the panel can already be found but dsi-attach
hasn't finished running.

To solve that cleanly we may want to only create the component after
the panel has finished probing, by calling component_add from the
host-attach dsi callback.

As that is specific to glue drivers, add a new struct for host_ops
so that glue drivers can tell the bridge to call specific functions
after the common host-attach and before the common host-detach run.

Suggested-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181001123845.11818-4-heiko@sntech.de
2018-10-30 14:06:13 +01:00
..
dw-hdmi-ahb-audio.c drm: bridge: dw-hdmi: constify snd_pcm_ops structures 2017-08-09 15:57:29 +05:30
dw-hdmi-audio.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dw-hdmi-cec.c drm/bridge: dw-hdmi: add cec driver 2017-08-07 16:18:53 +05:30
dw-hdmi-cec.h drm/bridge: dw-hdmi: add cec driver 2017-08-07 16:18:53 +05:30
dw-hdmi-i2s-audio.c drm: dw-hdmi-i2s: Remove owner assignment from platform_driver 2018-04-23 08:55:21 +02:00
dw-hdmi.c drm/atomic-helper: Unexport drm_atomic_helper_best_encoder 2018-10-05 18:04:09 +02:00
dw-hdmi.h drm/bridge: dw-hdmi: remove CEC engine register definitions 2017-08-07 16:19:13 +05:30
dw-mipi-dsi.c drm/bridge/synopsys: dsi: add ability to have glue-specific attach and detach 2018-10-30 14:06:13 +01:00
Kconfig drm/bridge: dw-hdmi: add cec driver 2017-08-07 16:18:53 +05:30
Makefile drm/bridge/synopsys: remove commented-out flag in Makefile 2018-07-27 09:34:06 +02:00