[PATCH v3 5/5] drm/bridge: add preliminary driver for cadence dpi/dp bridge
From: heiko@sntech.de (Heiko Stuebner)
Date: 2018-09-13 12:30:39
Also in:
dri-devel, linux-devicetree, linux-rockchip, lkml
Am Dienstag, 28. August 2018, 12:24:48 CEST schrieb Damian Kos:
quoted hunk ↗ jump to hunk
From: Quentin Schulz <redacted> This patch finally adds the preliminary driver for Cadence MHDP DPI/DP bridge. Changes made in the low level driver (cdn-dp-reg.*): - moved it to from drivers/gpu/drm/rockchip to drivers/gpu/drm/bridge/cdns-mhdp-common.* - functions for sending/receiving commands are now public - added functions for reading registers and link training adjustment Changes made in RK's driver (cdn-dp-core.*): - Moved audio_info and audio_pdev fields from cdn_dp_device to cdns_mhdp_device structure. Signed-off-by: Damian Kos <redacted> --- drivers/gpu/drm/bridge/Kconfig | 9 + drivers/gpu/drm/bridge/Makefile | 3 + .../cdns-mhdp-common.c} | 137 +- .../cdns-mhdp-common.h} | 21 +- drivers/gpu/drm/bridge/cdns-mhdp.c | 1308 +++++++++++++++++ drivers/gpu/drm/rockchip/Kconfig | 1 + drivers/gpu/drm/rockchip/Makefile | 4 +- drivers/gpu/drm/rockchip/cdn-dp-core.c | 16 +- drivers/gpu/drm/rockchip/cdn-dp-core.h | 4 +- 9 files changed, 1484 insertions(+), 19 deletions(-) rename drivers/gpu/drm/{rockchip/cdn-dp-reg.c => bridge/cdns-mhdp-common.c} (87%) rename drivers/gpu/drm/{rockchip/cdn-dp-reg.h => bridge/cdns-mhdp-common.h} (95%) create mode 100644 drivers/gpu/drm/bridge/cdns-mhdp.cdiff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index 9eeb8ef0b174..90a4810a8c96 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig@@ -35,6 +35,15 @@ config DRM_CDNS_DSI Support Cadence DPI to DSI bridge. This is an internal bridge and is meant to be directly embedded in a SoC. +config DRM_CDNS_MHDP + tristate "Cadence DPI/DP bridge" + select DRM_KMS_HELPER + select DRM_PANEL_BRIDGE + depends on OF + help + Support Cadence DPI to DP bridge. This is an internal + bridge and is meant to be directly embedded in a SoC. +
This ends up with a Kconfig error on my kernel, with: scripts/kconfig/conf --oldconfig Kconfig drivers/i2c/Kconfig:7:error: recursive dependency detected! drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:68: symbol DRM_KMS_HELPER is selected by DRM_CDNS_MHDP drivers/gpu/drm/bridge/Kconfig:38: symbol DRM_CDNS_MHDP is selected by ROCKCHIP_CDN_DP drivers/gpu/drm/rockchip/Kconfig:29: symbol ROCKCHIP_CDN_DP depends on EXTCON drivers/extcon/Kconfig:1: symbol EXTCON is selected by CHARGER_MANAGER drivers/power/supply/Kconfig:467: symbol CHARGER_MANAGER depends on POWER_SUPPLY drivers/power/supply/Kconfig:1: symbol POWER_SUPPLY is selected by HID_BATTERY_STRENGTH drivers/hid/Kconfig:28: symbol HID_BATTERY_STRENGTH depends on HID drivers/hid/Kconfig:7: symbol HID is selected by I2C_HID drivers/hid/i2c-hid/Kconfig:4: symbol I2C_HID depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" The culprit being the dependency on EXTCON in the Rockchip cdn-dp driver. Moving to "select EXTCON" seems to fix the issue, but I'm not sure yet if that is the correct solution. Heiko