drm: exynos: dsi: Handle proper host initialization
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 8 Mar 2023 16:39:43 +0000 (22:09 +0530)
committerInki Dae <inki.dae@samsung.com>
Tue, 28 Mar 2023 00:05:40 +0000 (09:05 +0900)
commitbb57453d6aec9217ad516f97b08ba1622a674a64
tree6391b5d5bdcc7de747ecf01969ee42da46ac50de
parent7e9f0d321ce5ea6a0ac4a6b1cdcbae8a2d4ec34c
drm: exynos: dsi: Handle proper host initialization

Host transfer() in the DSI master will invoke only when the DSI commands
are sent from DSI devices like DSI Panel or DSI bridges and this host
the transfer wouldn't invoke for I2C-based-DSI bridge drivers.

Handling DSI host initialization in transfer calls misses the controller
setup for I2C configured DSI bridges.

This patch updates the DSI host initialization by calling host to init
from bridge pre_enable as the bridge pre_enable API is invoked by core
as it is common across all classes of DSI device drivers.

The host init during pre_enable is conditional and not invoked for Exynos
as existing downstream drm panels and bridges in Exynos are expecting
the host initialization during DSI transfer.

Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_dsi.c