mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
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 |
||
---|---|---|
.. | ||
adv7511 | ||
analogix | ||
synopsys | ||
analogix-anx78xx.c | ||
analogix-anx78xx.h | ||
cdns-dsi.c | ||
dumb-vga-dac.c | ||
Kconfig | ||
lvds-encoder.c | ||
Makefile | ||
megachips-stdpxxxx-ge-b850v3-fw.c | ||
nxp-ptn3460.c | ||
panel.c | ||
parade-ps8622.c | ||
sii902x.c | ||
sii9234.c | ||
sil-sii8620.c | ||
sil-sii8620.h | ||
tc358764.c | ||
tc358767.c | ||
thc63lvd1024.c | ||
ti-sn65dsi86.c | ||
ti-tfp410.c |