[PATCH v2 00/16] drm/exynos: Convert driver to drm bridge
Michael Tretter
m.tretter at pengutronix.de
Fri Sep 11 13:53:57 UTC 2020
This is v2 of the series to convert the Exynos MIPI DSI driver into a drm
bridge and make it usable with other drivers. Although the driver is
converted, it still supports the component framework API to stay compliant
with the Exynos DRM driver.
The Exynos MIPI DSI Phy is also found on the i.MX8M Mini. However, on the
i.MX8M Mini, the bridge is driven by an LCDIF display controller instead of
the Exynos Decon. The driver for the LCDIF does not use the component
framework, but uses drm bridges.
I don't have any Exynos SoC to actually test the series. I build a dummy to
test the bridge with a component driver, to make sure that at least the
initialization is working. Furthermore, tested the driver as a bridge with a
few additional unfinished patches on the i.MX8M Mini EVK. However, somebody
should verify that the driver is still working on Exynos hardware.
I also changed the order of the patches to first make the driver more platform
independent (patches 2 to 8), then convert to a drm bridge driver (patches 10
to 13) and finally expose the API, split the code and move the platform
independent driver to the bridges (patches 14 - 16). Hopefully this simplifies
testing/bisecting and helps me to understand potential error reports.
Also I added host_ops for attach/detach and the tearing effect handler to make
the calls into the platform code more visible.
Furthermore, the series should now apply to linux-next and correctly build the
exynos_defconfig.
Thanks,
Michael
Changelog:
v2:
- rebase on linux-next
- verify with exynos_defconfig
- fix crashes reported by Marek Szyprowski Exynos3250-based Rinato
- reorder patches
- add host_ops for platform specific code
- roughly test component framework integration with dummy
Michael Tretter (16):
drm/encoder: remove obsolete documentation of bridge
drm/exynos: remove in_bridge_node from exynos_dsi
drm/exynos: use exynos_dsi as drvdata
drm/exynos: extract helper functions for probe
drm/exynos: move dsi host registration to probe
drm/exynos: shift register values to fields on write
drm/exynos: use identifier instead of register offsets
drm/exynos: add host_ops callback for platform drivers
drm/exynos: add callback for tearing effect handler
drm/exynos: implement a drm bridge
drm/exynos: convert encoder functions to bridge function
drm/exynos: configure mode on drm bridge
drm/exynos: get encoder from bridge whenever possible
drm/exynos: add API functions for platform drivers
drm/exynos: split out platform specific code
drm/exynos: move bridge driver to bridges
drivers/gpu/drm/bridge/Kconfig | 9 +
drivers/gpu/drm/bridge/Makefile | 1 +
drivers/gpu/drm/bridge/samsung-dsim.c | 1790 +++++++++++++++++++++
drivers/gpu/drm/exynos/Kconfig | 5 +-
drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1927 ++---------------------
include/drm/bridge/samsung-dsim.h | 64 +
include/drm/drm_encoder.h | 1 -
7 files changed, 2027 insertions(+), 1770 deletions(-)
create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c
create mode 100644 include/drm/bridge/samsung-dsim.h
--
2.20.1
More information about the dri-devel
mailing list