Hi Heiko,

On 06/18/2018 12:28 PM, Heiko Stuebner wrote:
> 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
> 
> So emit a -EPROBE_DEFER in that case to give the driver another
> chance at getting the display later.
> 
> Signed-off-by: Heiko Stuebner <he...@sntech.de>
> ---
>   drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c 
> b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> index bb4aeca5c0f9..bd503f000ed5 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> @@ -835,6 +835,9 @@ static int dw_mipi_dsi_bridge_attach(struct drm_bridge 
> *bridge)
>               return -ENODEV;
>       }
>   
> +     if (!dsi->panel_bridge)
> +             return -EPROBE_DEFER;
> +

Thank you for your patch,

Reviewed-by: Philippe Cornu <philippe.co...@st.com>
Tested-by: Philippe Cornu <philippe.co...@st.com>

Philippe :-)

>       /* Set the encoder type as caller does not know it */
>       bridge->encoder->encoder_type = DRM_MODE_ENCODER_DSI;
>   
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to