drm/bridge: adv7511: Attach to DSI host at probe time
authorMatt Redfearn <matt.redfearn@thinci.com>
Thu, 27 Jun 2019 15:18:00 +0000 (15:18 +0000)
committerAndrzej Hajda <a.hajda@samsung.com>
Mon, 1 Jul 2019 10:29:15 +0000 (12:29 +0200)
commit83f35bc3a852f1c3892c7474998c5cec707c7ba3
tree57e67fb445ba3b7abb14311c4e0bc42cee3450b6
parent99a938889048aa8e92d2a54fadb45498122bf87f
drm/bridge: adv7511: Attach to DSI host at probe time

In contrast to all of the DSI panel drivers in drivers/gpu/drm/panel
which attach to the DSI host via mipi_dsi_attach() at probe time, the
ADV7533 bridge device does not. Instead it defers this to the point that
the upstream device connects to its bridge via drm_bridge_attach().
The generic Synopsys MIPI DSI host driver does not register it's own
drm_bridge until the MIPI DSI has attached. But it does not call
drm_bridge_attach() on the downstream device until the upstream device
has attached. This leads to a chicken and the egg failure and the DRM
pipeline does not complete.
Since all other mipi_dsi_device drivers call mipi_dsi_attach() in
probe(), make the adv7533 mipi_dsi_device do the same. This ensures that
the Synopsys MIPI DSI host registers it's bridge such that it is
available for the upstream device to connect to.

Signed-off-by: Matt Redfearn <matt.redfearn@thinci.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190627151740.2277-1-matt.redfearn@thinci.com
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c