mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 0/4] drm: fix two issues related to HDMI Connector implementation
@ 2024-07-02  9:48 Dmitry Baryshkov
  2024-07-02  9:48 ` [PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props Dmitry Baryshkov
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2024-07-02  9:48 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson
  Cc: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, dri-devel, igt-dev,
	freedreno, linux-kernel

Running IGT tests on Qualcomm Dragonboard820c uncovered two issues with
the HDMI Connector implementation and with its integration into the
drm_bridge_connector. Fix those issues.

Note, I'm not fully satisfied with the drm_bridge_connector move. Maybe
it's better to add drm_bridge_funcs::connector_reset() and call it from
__drm_atomic_helper_connector_reset().

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Changes in v3:
- Document the DRM_MODE_PROP_IMMUTABLE requirements currently exposed
  only via IGT tests (Maxime).
- Move drm_bridge_connector to drm_display_helper.
- Link to v2: https://lore.kernel.org/r/20240623-drm-bridge-connector-fix-hdmi-reset-v2-0-8590d44912ce@linaro.org

Changes in v2:
- Actually pass the flags to drm_property_create_range().
- Link to v1: https://lore.kernel.org/r/20240623-drm-bridge-connector-fix-hdmi-reset-v1-0-41e9894dcdec@linaro.org

---
Dmitry Baryshkov (4):
      drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props
      drm/connector: automatically set immutable flag for max_bpc property
      drm/bridge-connector: move to DRM_DISPLAY_HELPER module
      drm/bridge-connector: reset the HDMI connector state

 drivers/gpu/drm/Makefile                             |  1 -
 drivers/gpu/drm/bridge/Kconfig                       |  1 +
 drivers/gpu/drm/display/Kconfig                      |  7 +++++++
 drivers/gpu/drm/display/Makefile                     |  2 ++
 drivers/gpu/drm/{ => display}/drm_bridge_connector.c | 13 ++++++++++++-
 drivers/gpu/drm/drm_connector.c                      |  7 ++++++-
 drivers/gpu/drm/imx/dcss/Kconfig                     |  2 ++
 drivers/gpu/drm/imx/lcdc/Kconfig                     |  2 ++
 drivers/gpu/drm/ingenic/Kconfig                      |  2 ++
 drivers/gpu/drm/kmb/Kconfig                          |  2 ++
 drivers/gpu/drm/mediatek/Kconfig                     |  2 ++
 drivers/gpu/drm/meson/Kconfig                        |  2 ++
 drivers/gpu/drm/msm/Kconfig                          |  1 +
 drivers/gpu/drm/omapdrm/Kconfig                      |  2 ++
 drivers/gpu/drm/renesas/rcar-du/Kconfig              |  2 ++
 drivers/gpu/drm/renesas/rz-du/Kconfig                |  2 ++
 drivers/gpu/drm/renesas/shmobile/Kconfig             |  2 ++
 drivers/gpu/drm/rockchip/Kconfig                     |  4 ++++
 drivers/gpu/drm/tegra/Kconfig                        |  1 +
 drivers/gpu/drm/tidss/Kconfig                        |  2 ++
 drivers/gpu/drm/xlnx/Kconfig                         |  1 +
 include/drm/drm_property.h                           |  3 +++
 22 files changed, 60 insertions(+), 3 deletions(-)
---
base-commit: 82e4255305c554b0bb18b7ccf2db86041b4c8b6e
change-id: 20240623-drm-bridge-connector-fix-hdmi-reset-0ce86af053aa

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props
  2024-07-02  9:48 [PATCH v3 0/4] drm: fix two issues related to HDMI Connector implementation Dmitry Baryshkov
@ 2024-07-02  9:48 ` Dmitry Baryshkov
  2024-07-04 12:46   ` Maxime Ripard
  2024-07-02  9:48 ` [PATCH v3 2/4] drm/connector: automatically set immutable flag for max_bpc property Dmitry Baryshkov
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Dmitry Baryshkov @ 2024-07-02  9:48 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson
  Cc: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, dri-devel, igt-dev,
	freedreno, linux-kernel

Document that DRM_MODE_PROP_IMMUTABLE must be set for the properties
that are immutable by definition - e.g. ranges with min == max or enums
with a single value. This matches the behaviour of the IGT tests, see
kms_properties.c / validate_range_prop(), validate_enum_prop(),
validate_bitmask_prop().

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 include/drm/drm_property.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/drm/drm_property.h b/include/drm/drm_property.h
index 082f29156b3e..7d0f793f50ca 100644
--- a/include/drm/drm_property.h
+++ b/include/drm/drm_property.h
@@ -162,6 +162,9 @@ struct drm_property {
 	 *     userspace, e.g. the EDID, or the connector path property on DP
 	 *     MST sinks. Kernel can update the value of an immutable property
 	 *     by calling drm_object_property_set_value().
+	 *     This flag should be set for all properties that have only a
+	 *     single value (e.g. min == max or if enum has only a single
+	 *     value).
 	 */
 	uint32_t flags;
 

-- 
2.39.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v3 2/4] drm/connector: automatically set immutable flag for max_bpc property
  2024-07-02  9:48 [PATCH v3 0/4] drm: fix two issues related to HDMI Connector implementation Dmitry Baryshkov
  2024-07-02  9:48 ` [PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props Dmitry Baryshkov
@ 2024-07-02  9:48 ` Dmitry Baryshkov
  2024-07-02  9:48 ` [PATCH v3 3/4] drm/bridge-connector: move to DRM_DISPLAY_HELPER module Dmitry Baryshkov
  2024-07-02  9:48 ` [PATCH v3 4/4] drm/bridge-connector: reset the HDMI connector state Dmitry Baryshkov
  3 siblings, 0 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2024-07-02  9:48 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson
  Cc: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, dri-devel, igt-dev,
	freedreno, linux-kernel

With the introduction of the HDMI Connector framework the driver might
end up creating the max_bpc property with min = max = 8. IGT insists
that such properties carry the 'immutable' flag. Automatically set the
flag if the driver asks for the max_bpc property with min == max.

Fixes: aadb3e16b8f3 ("drm/connector: hdmi: Add output BPC to the connector state")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/drm_connector.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
index ab6ab7ff7ea8..33847fd63628 100644
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
@@ -2610,7 +2610,12 @@ int drm_connector_attach_max_bpc_property(struct drm_connector *connector,
 
 	prop = connector->max_bpc_property;
 	if (!prop) {
-		prop = drm_property_create_range(dev, 0, "max bpc", min, max);
+		u32 flags = 0;
+
+		if (min == max)
+			flags |= DRM_MODE_PROP_IMMUTABLE;
+
+		prop = drm_property_create_range(dev, flags, "max bpc", min, max);
 		if (!prop)
 			return -ENOMEM;
 

-- 
2.39.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v3 3/4] drm/bridge-connector: move to DRM_DISPLAY_HELPER module
  2024-07-02  9:48 [PATCH v3 0/4] drm: fix two issues related to HDMI Connector implementation Dmitry Baryshkov
  2024-07-02  9:48 ` [PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props Dmitry Baryshkov
  2024-07-02  9:48 ` [PATCH v3 2/4] drm/connector: automatically set immutable flag for max_bpc property Dmitry Baryshkov
@ 2024-07-02  9:48 ` Dmitry Baryshkov
  2024-07-04 12:54   ` Maxime Ripard
  2024-07-02  9:48 ` [PATCH v3 4/4] drm/bridge-connector: reset the HDMI connector state Dmitry Baryshkov
  3 siblings, 1 reply; 10+ messages in thread
From: Dmitry Baryshkov @ 2024-07-02  9:48 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson
  Cc: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, dri-devel, igt-dev,
	freedreno, linux-kernel

drm_bridge_connector is a "leaf" driver, belonging to the display
helper, rather than the "CRTC" drm_kms_helper module. Move the driver
to the drm/display and add necessary Kconfig selection clauses.

Suggested-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/Makefile                             | 1 -
 drivers/gpu/drm/bridge/Kconfig                       | 1 +
 drivers/gpu/drm/display/Kconfig                      | 6 ++++++
 drivers/gpu/drm/display/Makefile                     | 2 ++
 drivers/gpu/drm/{ => display}/drm_bridge_connector.c | 0
 drivers/gpu/drm/imx/dcss/Kconfig                     | 2 ++
 drivers/gpu/drm/imx/lcdc/Kconfig                     | 2 ++
 drivers/gpu/drm/ingenic/Kconfig                      | 2 ++
 drivers/gpu/drm/kmb/Kconfig                          | 2 ++
 drivers/gpu/drm/mediatek/Kconfig                     | 2 ++
 drivers/gpu/drm/meson/Kconfig                        | 2 ++
 drivers/gpu/drm/msm/Kconfig                          | 1 +
 drivers/gpu/drm/omapdrm/Kconfig                      | 2 ++
 drivers/gpu/drm/renesas/rcar-du/Kconfig              | 2 ++
 drivers/gpu/drm/renesas/rz-du/Kconfig                | 2 ++
 drivers/gpu/drm/renesas/shmobile/Kconfig             | 2 ++
 drivers/gpu/drm/rockchip/Kconfig                     | 4 ++++
 drivers/gpu/drm/tegra/Kconfig                        | 1 +
 drivers/gpu/drm/tidss/Kconfig                        | 2 ++
 drivers/gpu/drm/xlnx/Kconfig                         | 1 +
 20 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 68cc9258ffc4..fa432a1ac9e2 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -128,7 +128,6 @@ obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o
 drm_kms_helper-y := \
 	drm_atomic_helper.o \
 	drm_atomic_state_helper.o \
-	drm_bridge_connector.o \
 	drm_crtc_helper.o \
 	drm_damage_helper.o \
 	drm_encoder_slave.o \
diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
index c621be1a99a8..3eb955333c80 100644
--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -390,6 +390,7 @@ config DRM_TI_SN65DSI86
 	depends on OF
 	select DRM_DISPLAY_DP_HELPER
 	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_KMS_HELPER
 	select REGMAP_I2C
 	select DRM_PANEL
diff --git a/drivers/gpu/drm/display/Kconfig b/drivers/gpu/drm/display/Kconfig
index 479e62690d75..1a192a45961b 100644
--- a/drivers/gpu/drm/display/Kconfig
+++ b/drivers/gpu/drm/display/Kconfig
@@ -6,6 +6,12 @@ config DRM_DISPLAY_HELPER
 	help
 	  DRM helpers for display adapters.
 
+config DRM_BRIDGE_CONNECTOR
+	bool
+	depends on DRM && DRM_BRIDGE && DRM_DISPLAY_HELPER
+	help
+	  DRM connector implementation terminating DRM bridge chains.
+
 config DRM_DISPLAY_DP_AUX_BUS
 	tristate
 	depends on DRM
diff --git a/drivers/gpu/drm/display/Makefile b/drivers/gpu/drm/display/Makefile
index 629df2f4d322..fbb9d2b8acd4 100644
--- a/drivers/gpu/drm/display/Makefile
+++ b/drivers/gpu/drm/display/Makefile
@@ -3,6 +3,8 @@
 obj-$(CONFIG_DRM_DISPLAY_DP_AUX_BUS) += drm_dp_aux_bus.o
 
 drm_display_helper-y := drm_display_helper_mod.o
+drm_display_helper-$(CONFIG_DRM_BRIDGE_CONNECTOR) += \
+	drm_bridge_connector.o
 drm_display_helper-$(CONFIG_DRM_DISPLAY_DP_HELPER) += \
 	drm_dp_dual_mode_helper.o \
 	drm_dp_helper.o \
diff --git a/drivers/gpu/drm/drm_bridge_connector.c b/drivers/gpu/drm/display/drm_bridge_connector.c
similarity index 100%
rename from drivers/gpu/drm/drm_bridge_connector.c
rename to drivers/gpu/drm/display/drm_bridge_connector.c
diff --git a/drivers/gpu/drm/imx/dcss/Kconfig b/drivers/gpu/drm/imx/dcss/Kconfig
index 3ffc061d392b..59e3b6a1dff0 100644
--- a/drivers/gpu/drm/imx/dcss/Kconfig
+++ b/drivers/gpu/drm/imx/dcss/Kconfig
@@ -2,6 +2,8 @@ config DRM_IMX_DCSS
 	tristate "i.MX8MQ DCSS"
 	select IMX_IRQSTEER
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_GEM_DMA_HELPER
 	select VIDEOMODE_HELPERS
 	depends on DRM && ARCH_MXC && ARM64
diff --git a/drivers/gpu/drm/imx/lcdc/Kconfig b/drivers/gpu/drm/imx/lcdc/Kconfig
index 7e57922bbd9d..9c28bb0f4662 100644
--- a/drivers/gpu/drm/imx/lcdc/Kconfig
+++ b/drivers/gpu/drm/imx/lcdc/Kconfig
@@ -3,5 +3,7 @@ config DRM_IMX_LCDC
       depends on DRM && (ARCH_MXC || COMPILE_TEST)
       select DRM_GEM_DMA_HELPER
       select DRM_KMS_HELPER
+      select DRM_DISPLAY_HELPER
+      select DRM_BRIDGE_CONNECTOR
       help
         Found on i.MX1, i.MX21, i.MX25 and i.MX27.
diff --git a/drivers/gpu/drm/ingenic/Kconfig b/drivers/gpu/drm/ingenic/Kconfig
index 3db117c5edd9..8cd7b750dffe 100644
--- a/drivers/gpu/drm/ingenic/Kconfig
+++ b/drivers/gpu/drm/ingenic/Kconfig
@@ -8,6 +8,8 @@ config DRM_INGENIC
 	select DRM_BRIDGE
 	select DRM_PANEL_BRIDGE
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_GEM_DMA_HELPER
 	select REGMAP
 	select REGMAP_MMIO
diff --git a/drivers/gpu/drm/kmb/Kconfig b/drivers/gpu/drm/kmb/Kconfig
index fd011367db1d..e5ae3ec52392 100644
--- a/drivers/gpu/drm/kmb/Kconfig
+++ b/drivers/gpu/drm/kmb/Kconfig
@@ -3,6 +3,8 @@ config DRM_KMB_DISPLAY
 	depends on DRM
 	depends on ARCH_KEEMBAY || COMPILE_TEST
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_GEM_DMA_HELPER
 	select DRM_MIPI_DSI
 	help
diff --git a/drivers/gpu/drm/mediatek/Kconfig b/drivers/gpu/drm/mediatek/Kconfig
index d6449ebae838..417ac8c9af41 100644
--- a/drivers/gpu/drm/mediatek/Kconfig
+++ b/drivers/gpu/drm/mediatek/Kconfig
@@ -9,6 +9,8 @@ config DRM_MEDIATEK
 	depends on MTK_MMSYS
 	select DRM_GEM_DMA_HELPER if DRM_FBDEV_EMULATION
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_MIPI_DSI
 	select DRM_PANEL
 	select MEMORY
diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig
index 615fdd0ce41b..2544756538cc 100644
--- a/drivers/gpu/drm/meson/Kconfig
+++ b/drivers/gpu/drm/meson/Kconfig
@@ -4,6 +4,8 @@ config DRM_MESON
 	depends on DRM && OF && (ARM || ARM64)
 	depends on ARCH_MESON || COMPILE_TEST
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_GEM_DMA_HELPER
 	select DRM_DISPLAY_CONNECTOR
 	select VIDEOMODE_HELPERS
diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
index 26a4c71da63a..90c68106b63b 100644
--- a/drivers/gpu/drm/msm/Kconfig
+++ b/drivers/gpu/drm/msm/Kconfig
@@ -17,6 +17,7 @@ config DRM_MSM
 	select DRM_DISPLAY_DP_AUX_BUS
 	select DRM_DISPLAY_DP_HELPER
 	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_EXEC
 	select DRM_KMS_HELPER
 	select DRM_PANEL
diff --git a/drivers/gpu/drm/omapdrm/Kconfig b/drivers/gpu/drm/omapdrm/Kconfig
index 6c49270cb290..0c6d5afc1ef4 100644
--- a/drivers/gpu/drm/omapdrm/Kconfig
+++ b/drivers/gpu/drm/omapdrm/Kconfig
@@ -4,6 +4,8 @@ config DRM_OMAP
 	depends on DRM && OF
 	depends on ARCH_OMAP2PLUS
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select FB_DMAMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
 	select VIDEOMODE_HELPERS
 	select HDMI
diff --git a/drivers/gpu/drm/renesas/rcar-du/Kconfig b/drivers/gpu/drm/renesas/rcar-du/Kconfig
index c17e7c50492c..025677fe88d3 100644
--- a/drivers/gpu/drm/renesas/rcar-du/Kconfig
+++ b/drivers/gpu/drm/renesas/rcar-du/Kconfig
@@ -5,6 +5,8 @@ config DRM_RCAR_DU
 	depends on ARM || ARM64 || COMPILE_TEST
 	depends on ARCH_RENESAS || COMPILE_TEST
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_GEM_DMA_HELPER
 	select VIDEOMODE_HELPERS
 	help
diff --git a/drivers/gpu/drm/renesas/rz-du/Kconfig b/drivers/gpu/drm/renesas/rz-du/Kconfig
index 5f0db2c5fee6..e1a6dd322caf 100644
--- a/drivers/gpu/drm/renesas/rz-du/Kconfig
+++ b/drivers/gpu/drm/renesas/rz-du/Kconfig
@@ -6,6 +6,8 @@ config DRM_RZG2L_DU
 	depends on VIDEO_RENESAS_VSP1
 	select DRM_GEM_DMA_HELPER
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select VIDEOMODE_HELPERS
 	help
 	  Choose this option if you have an RZ/G2L alike chipset.
diff --git a/drivers/gpu/drm/renesas/shmobile/Kconfig b/drivers/gpu/drm/renesas/shmobile/Kconfig
index 027220b8fe1c..c329ab8a7a8b 100644
--- a/drivers/gpu/drm/renesas/shmobile/Kconfig
+++ b/drivers/gpu/drm/renesas/shmobile/Kconfig
@@ -5,6 +5,8 @@ config DRM_SHMOBILE
 	depends on ARCH_RENESAS || ARCH_SHMOBILE || COMPILE_TEST
 	select BACKLIGHT_CLASS_DEVICE
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_GEM_DMA_HELPER
 	select VIDEOMODE_HELPERS
 	help
diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig
index 7df875e38517..23c49e91f1cc 100644
--- a/drivers/gpu/drm/rockchip/Kconfig
+++ b/drivers/gpu/drm/rockchip/Kconfig
@@ -86,6 +86,8 @@ config ROCKCHIP_LVDS
 	bool "Rockchip LVDS support"
 	depends on DRM_ROCKCHIP
 	depends on PINCTRL && OF
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	help
 	  Choose this option to enable support for Rockchip LVDS controllers.
 	  Rockchip rk3288 SoC has LVDS TX Controller can be used, and it
@@ -96,6 +98,8 @@ config ROCKCHIP_RGB
 	bool "Rockchip RGB support"
 	depends on DRM_ROCKCHIP
 	depends on PINCTRL
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	help
 	  Choose this option to enable support for Rockchip RGB output.
 	  Some Rockchip CRTCs, like rv1108, can directly output parallel
diff --git a/drivers/gpu/drm/tegra/Kconfig b/drivers/gpu/drm/tegra/Kconfig
index 782f51d3044a..e688d8104652 100644
--- a/drivers/gpu/drm/tegra/Kconfig
+++ b/drivers/gpu/drm/tegra/Kconfig
@@ -8,6 +8,7 @@ config DRM_TEGRA
 	select DRM_DISPLAY_DP_HELPER
 	select DRM_DISPLAY_HDMI_HELPER
 	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_DISPLAY_DP_AUX_BUS
 	select DRM_KMS_HELPER
 	select DRM_MIPI_DSI
diff --git a/drivers/gpu/drm/tidss/Kconfig b/drivers/gpu/drm/tidss/Kconfig
index 378600806167..2385c56493b9 100644
--- a/drivers/gpu/drm/tidss/Kconfig
+++ b/drivers/gpu/drm/tidss/Kconfig
@@ -3,6 +3,8 @@ config DRM_TIDSS
 	depends on DRM && OF
 	depends on ARM || ARM64 || COMPILE_TEST
 	select DRM_KMS_HELPER
+	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_GEM_DMA_HELPER
 	help
 	  The TI Keystone family SoCs introduced a new generation of
diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig
index 68ee897de9d7..626e5ac4c33d 100644
--- a/drivers/gpu/drm/xlnx/Kconfig
+++ b/drivers/gpu/drm/xlnx/Kconfig
@@ -8,6 +8,7 @@ config DRM_ZYNQMP_DPSUB
 	select DMA_ENGINE
 	select DRM_DISPLAY_DP_HELPER
 	select DRM_DISPLAY_HELPER
+	select DRM_BRIDGE_CONNECTOR
 	select DRM_GEM_DMA_HELPER
 	select DRM_KMS_HELPER
 	select GENERIC_PHY

-- 
2.39.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v3 4/4] drm/bridge-connector: reset the HDMI connector state
  2024-07-02  9:48 [PATCH v3 0/4] drm: fix two issues related to HDMI Connector implementation Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2024-07-02  9:48 ` [PATCH v3 3/4] drm/bridge-connector: move to DRM_DISPLAY_HELPER module Dmitry Baryshkov
@ 2024-07-02  9:48 ` Dmitry Baryshkov
  2024-07-04 12:56   ` Maxime Ripard
  3 siblings, 1 reply; 10+ messages in thread
From: Dmitry Baryshkov @ 2024-07-02  9:48 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson
  Cc: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, dri-devel, igt-dev,
	freedreno, linux-kernel

On HDMI connectors which use drm_bridge_connector and DRM_BRIDGE_OP_HDMI
IGT chokes on the max_bpc property in several kms_properties tests due
to the the drm_bridge_connector failing to reset HDMI-related
properties.

Call __drm_atomic_helper_connector_hdmi_reset() if the
drm_bridge_connector has bridge_hdmi.

It is impossible to call this function from HDMI bridges, there is is no
function that corresponds to the drm_connector_funcs::reset().

Fixes: 6b4468b0c6ba ("drm/bridge-connector: implement glue code for HDMI connector")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/display/Kconfig                |  1 +
 drivers/gpu/drm/display/drm_bridge_connector.c | 13 ++++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/display/Kconfig b/drivers/gpu/drm/display/Kconfig
index 1a192a45961b..bfd025f8c7b5 100644
--- a/drivers/gpu/drm/display/Kconfig
+++ b/drivers/gpu/drm/display/Kconfig
@@ -9,6 +9,7 @@ config DRM_DISPLAY_HELPER
 config DRM_BRIDGE_CONNECTOR
 	bool
 	depends on DRM && DRM_BRIDGE && DRM_DISPLAY_HELPER
+	select DRM_DISPLAY_HDMI_STATE_HELPER
 	help
 	  DRM connector implementation terminating DRM bridge chains.
 
diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/drm/display/drm_bridge_connector.c
index 0869b663f17e..7ebb35438459 100644
--- a/drivers/gpu/drm/display/drm_bridge_connector.c
+++ b/drivers/gpu/drm/display/drm_bridge_connector.c
@@ -216,8 +216,19 @@ static void drm_bridge_connector_debugfs_init(struct drm_connector *connector,
 	}
 }
 
+static void drm_bridge_connector_reset(struct drm_connector *connector)
+{
+	struct drm_bridge_connector *bridge_connector =
+		to_drm_bridge_connector(connector);
+
+	drm_atomic_helper_connector_reset(connector);
+	if (bridge_connector->bridge_hdmi)
+		__drm_atomic_helper_connector_hdmi_reset(connector,
+							 connector->state);
+}
+
 static const struct drm_connector_funcs drm_bridge_connector_funcs = {
-	.reset = drm_atomic_helper_connector_reset,
+	.reset = drm_bridge_connector_reset,
 	.detect = drm_bridge_connector_detect,
 	.fill_modes = drm_helper_probe_single_connector_modes,
 	.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,

-- 
2.39.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props
  2024-07-02  9:48 ` [PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props Dmitry Baryshkov
@ 2024-07-04 12:46   ` Maxime Ripard
  0 siblings, 0 replies; 10+ messages in thread
From: Maxime Ripard @ 2024-07-04 12:46 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson,
	Rob Clark, Abhinav Kumar, dri-devel, igt-dev, freedreno,
	linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1213 bytes --]

On Tue, Jul 02, 2024 at 12:48:52PM GMT, Dmitry Baryshkov wrote:
> Document that DRM_MODE_PROP_IMMUTABLE must be set for the properties
> that are immutable by definition - e.g. ranges with min == max or enums
> with a single value. This matches the behaviour of the IGT tests, see
> kms_properties.c / validate_range_prop(), validate_enum_prop(),
> validate_bitmask_prop().
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  include/drm/drm_property.h | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/include/drm/drm_property.h b/include/drm/drm_property.h
> index 082f29156b3e..7d0f793f50ca 100644
> --- a/include/drm/drm_property.h
> +++ b/include/drm/drm_property.h
> @@ -162,6 +162,9 @@ struct drm_property {
>  	 *     userspace, e.g. the EDID, or the connector path property on DP
>  	 *     MST sinks. Kernel can update the value of an immutable property
>  	 *     by calling drm_object_property_set_value().
> +	 *     This flag should be set for all properties that have only a
> +	 *     single value (e.g. min == max or if enum has only a single
> +	 *     value).

Given the IGT test, I think it should be a must, not a should.

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 3/4] drm/bridge-connector: move to DRM_DISPLAY_HELPER module
  2024-07-02  9:48 ` [PATCH v3 3/4] drm/bridge-connector: move to DRM_DISPLAY_HELPER module Dmitry Baryshkov
@ 2024-07-04 12:54   ` Maxime Ripard
  2024-07-04 15:07     ` Dmitry Baryshkov
  0 siblings, 1 reply; 10+ messages in thread
From: Maxime Ripard @ 2024-07-04 12:54 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson,
	Rob Clark, Abhinav Kumar, dri-devel, igt-dev, freedreno,
	linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3216 bytes --]

On Tue, Jul 02, 2024 at 12:48:54PM GMT, Dmitry Baryshkov wrote:
> drm_bridge_connector is a "leaf" driver, belonging to the display
> helper, rather than the "CRTC" drm_kms_helper module. Move the driver
> to the drm/display and add necessary Kconfig selection clauses.
> 
> Suggested-by: Maxime Ripard <mripard@kernel.org>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  drivers/gpu/drm/Makefile                             | 1 -
>  drivers/gpu/drm/bridge/Kconfig                       | 1 +
>  drivers/gpu/drm/display/Kconfig                      | 6 ++++++
>  drivers/gpu/drm/display/Makefile                     | 2 ++
>  drivers/gpu/drm/{ => display}/drm_bridge_connector.c | 0
>  drivers/gpu/drm/imx/dcss/Kconfig                     | 2 ++
>  drivers/gpu/drm/imx/lcdc/Kconfig                     | 2 ++
>  drivers/gpu/drm/ingenic/Kconfig                      | 2 ++
>  drivers/gpu/drm/kmb/Kconfig                          | 2 ++
>  drivers/gpu/drm/mediatek/Kconfig                     | 2 ++
>  drivers/gpu/drm/meson/Kconfig                        | 2 ++
>  drivers/gpu/drm/msm/Kconfig                          | 1 +
>  drivers/gpu/drm/omapdrm/Kconfig                      | 2 ++
>  drivers/gpu/drm/renesas/rcar-du/Kconfig              | 2 ++
>  drivers/gpu/drm/renesas/rz-du/Kconfig                | 2 ++
>  drivers/gpu/drm/renesas/shmobile/Kconfig             | 2 ++
>  drivers/gpu/drm/rockchip/Kconfig                     | 4 ++++
>  drivers/gpu/drm/tegra/Kconfig                        | 1 +
>  drivers/gpu/drm/tidss/Kconfig                        | 2 ++
>  drivers/gpu/drm/xlnx/Kconfig                         | 1 +
>  20 files changed, 38 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index 68cc9258ffc4..fa432a1ac9e2 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -128,7 +128,6 @@ obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o
>  drm_kms_helper-y := \
>  	drm_atomic_helper.o \
>  	drm_atomic_state_helper.o \
> -	drm_bridge_connector.o \
>  	drm_crtc_helper.o \
>  	drm_damage_helper.o \
>  	drm_encoder_slave.o \
> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> index c621be1a99a8..3eb955333c80 100644
> --- a/drivers/gpu/drm/bridge/Kconfig
> +++ b/drivers/gpu/drm/bridge/Kconfig
> @@ -390,6 +390,7 @@ config DRM_TI_SN65DSI86
>  	depends on OF
>  	select DRM_DISPLAY_DP_HELPER
>  	select DRM_DISPLAY_HELPER
> +	select DRM_BRIDGE_CONNECTOR
>  	select DRM_KMS_HELPER
>  	select REGMAP_I2C
>  	select DRM_PANEL
> diff --git a/drivers/gpu/drm/display/Kconfig b/drivers/gpu/drm/display/Kconfig
> index 479e62690d75..1a192a45961b 100644
> --- a/drivers/gpu/drm/display/Kconfig
> +++ b/drivers/gpu/drm/display/Kconfig
> @@ -6,6 +6,12 @@ config DRM_DISPLAY_HELPER
>  	help
>  	  DRM helpers for display adapters.
>  
> +config DRM_BRIDGE_CONNECTOR
> +	bool
> +	depends on DRM && DRM_BRIDGE && DRM_DISPLAY_HELPER
> +	help
> +	  DRM connector implementation terminating DRM bridge chains.
> +

Is there any reason to put it in there instead of under DRM_BRIDGE like
DRM_PANEL_BRIDGE?

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 4/4] drm/bridge-connector: reset the HDMI connector state
  2024-07-02  9:48 ` [PATCH v3 4/4] drm/bridge-connector: reset the HDMI connector state Dmitry Baryshkov
@ 2024-07-04 12:56   ` Maxime Ripard
  2024-07-04 15:02     ` Dmitry Baryshkov
  0 siblings, 1 reply; 10+ messages in thread
From: Maxime Ripard @ 2024-07-04 12:56 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson,
	Rob Clark, Abhinav Kumar, dri-devel, igt-dev, freedreno,
	linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1525 bytes --]

hi,

On Tue, Jul 02, 2024 at 12:48:55PM GMT, Dmitry Baryshkov wrote:
> On HDMI connectors which use drm_bridge_connector and DRM_BRIDGE_OP_HDMI
> IGT chokes on the max_bpc property in several kms_properties tests due
> to the the drm_bridge_connector failing to reset HDMI-related
> properties.
> 
> Call __drm_atomic_helper_connector_hdmi_reset() if the
> drm_bridge_connector has bridge_hdmi.
> 
> It is impossible to call this function from HDMI bridges, there is is no
> function that corresponds to the drm_connector_funcs::reset().
> 
> Fixes: 6b4468b0c6ba ("drm/bridge-connector: implement glue code for HDMI connector")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  drivers/gpu/drm/display/Kconfig                |  1 +
>  drivers/gpu/drm/display/drm_bridge_connector.c | 13 ++++++++++++-
>  2 files changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/display/Kconfig b/drivers/gpu/drm/display/Kconfig
> index 1a192a45961b..bfd025f8c7b5 100644
> --- a/drivers/gpu/drm/display/Kconfig
> +++ b/drivers/gpu/drm/display/Kconfig
> @@ -9,6 +9,7 @@ config DRM_DISPLAY_HELPER
>  config DRM_BRIDGE_CONNECTOR
>  	bool
>  	depends on DRM && DRM_BRIDGE && DRM_DISPLAY_HELPER
> +	select DRM_DISPLAY_HDMI_STATE_HELPER

Sorry, I notice it on that patch, but it's really on the previous one:
both DRM_BRIDGE and DRM_DISPLAY_HELPER are meant to be selected, not
depended on.

Otherwise,

Reviewed-by: Maxime Ripard <mripard@kernel.org>

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 4/4] drm/bridge-connector: reset the HDMI connector state
  2024-07-04 12:56   ` Maxime Ripard
@ 2024-07-04 15:02     ` Dmitry Baryshkov
  0 siblings, 0 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2024-07-04 15:02 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson,
	Rob Clark, Abhinav Kumar, dri-devel, igt-dev, freedreno,
	linux-kernel

On Thu, 4 Jul 2024 at 15:56, Maxime Ripard <mripard@kernel.org> wrote:
>
> hi,
>
> On Tue, Jul 02, 2024 at 12:48:55PM GMT, Dmitry Baryshkov wrote:
> > On HDMI connectors which use drm_bridge_connector and DRM_BRIDGE_OP_HDMI
> > IGT chokes on the max_bpc property in several kms_properties tests due
> > to the the drm_bridge_connector failing to reset HDMI-related
> > properties.
> >
> > Call __drm_atomic_helper_connector_hdmi_reset() if the
> > drm_bridge_connector has bridge_hdmi.
> >
> > It is impossible to call this function from HDMI bridges, there is is no
> > function that corresponds to the drm_connector_funcs::reset().
> >
> > Fixes: 6b4468b0c6ba ("drm/bridge-connector: implement glue code for HDMI connector")
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >  drivers/gpu/drm/display/Kconfig                |  1 +
> >  drivers/gpu/drm/display/drm_bridge_connector.c | 13 ++++++++++++-
> >  2 files changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/display/Kconfig b/drivers/gpu/drm/display/Kconfig
> > index 1a192a45961b..bfd025f8c7b5 100644
> > --- a/drivers/gpu/drm/display/Kconfig
> > +++ b/drivers/gpu/drm/display/Kconfig
> > @@ -9,6 +9,7 @@ config DRM_DISPLAY_HELPER
> >  config DRM_BRIDGE_CONNECTOR
> >       bool
> >       depends on DRM && DRM_BRIDGE && DRM_DISPLAY_HELPER
> > +     select DRM_DISPLAY_HDMI_STATE_HELPER
>
> Sorry, I notice it on that patch, but it's really on the previous one:
> both DRM_BRIDGE and DRM_DISPLAY_HELPER are meant to be selected, not
> depended on.

I think they are selected by the 'driver' drivers, but they are
depended upon by the sub-devices. So all bridges depend on DRM_BRIDGE
(either directly or via the menu entry).
All drm/display modules depend on DRM_DISPLAY_HELPER. I agree that it
might be worth changing the second part (most likely in a separate
series, ok), but I'm sure that the DRM_BRIDGE part is correct.


>
> Otherwise,
>
> Reviewed-by: Maxime Ripard <mripard@kernel.org>
>
> Maxime



-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 3/4] drm/bridge-connector: move to DRM_DISPLAY_HELPER module
  2024-07-04 12:54   ` Maxime Ripard
@ 2024-07-04 15:07     ` Dmitry Baryshkov
  0 siblings, 0 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2024-07-04 15:07 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Dave Stevenson,
	Rob Clark, Abhinav Kumar, dri-devel, igt-dev, freedreno,
	linux-kernel

On Thu, 4 Jul 2024 at 15:54, Maxime Ripard <mripard@kernel.org> wrote:
>
> On Tue, Jul 02, 2024 at 12:48:54PM GMT, Dmitry Baryshkov wrote:
> > drm_bridge_connector is a "leaf" driver, belonging to the display
> > helper, rather than the "CRTC" drm_kms_helper module. Move the driver
> > to the drm/display and add necessary Kconfig selection clauses.
> >
> > Suggested-by: Maxime Ripard <mripard@kernel.org>
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >  drivers/gpu/drm/Makefile                             | 1 -
> >  drivers/gpu/drm/bridge/Kconfig                       | 1 +
> >  drivers/gpu/drm/display/Kconfig                      | 6 ++++++
> >  drivers/gpu/drm/display/Makefile                     | 2 ++
> >  drivers/gpu/drm/{ => display}/drm_bridge_connector.c | 0
> >  drivers/gpu/drm/imx/dcss/Kconfig                     | 2 ++
> >  drivers/gpu/drm/imx/lcdc/Kconfig                     | 2 ++
> >  drivers/gpu/drm/ingenic/Kconfig                      | 2 ++
> >  drivers/gpu/drm/kmb/Kconfig                          | 2 ++
> >  drivers/gpu/drm/mediatek/Kconfig                     | 2 ++
> >  drivers/gpu/drm/meson/Kconfig                        | 2 ++
> >  drivers/gpu/drm/msm/Kconfig                          | 1 +
> >  drivers/gpu/drm/omapdrm/Kconfig                      | 2 ++
> >  drivers/gpu/drm/renesas/rcar-du/Kconfig              | 2 ++
> >  drivers/gpu/drm/renesas/rz-du/Kconfig                | 2 ++
> >  drivers/gpu/drm/renesas/shmobile/Kconfig             | 2 ++
> >  drivers/gpu/drm/rockchip/Kconfig                     | 4 ++++
> >  drivers/gpu/drm/tegra/Kconfig                        | 1 +
> >  drivers/gpu/drm/tidss/Kconfig                        | 2 ++
> >  drivers/gpu/drm/xlnx/Kconfig                         | 1 +
> >  20 files changed, 38 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> > index 68cc9258ffc4..fa432a1ac9e2 100644
> > --- a/drivers/gpu/drm/Makefile
> > +++ b/drivers/gpu/drm/Makefile
> > @@ -128,7 +128,6 @@ obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o
> >  drm_kms_helper-y := \
> >       drm_atomic_helper.o \
> >       drm_atomic_state_helper.o \
> > -     drm_bridge_connector.o \
> >       drm_crtc_helper.o \
> >       drm_damage_helper.o \
> >       drm_encoder_slave.o \
> > diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> > index c621be1a99a8..3eb955333c80 100644
> > --- a/drivers/gpu/drm/bridge/Kconfig
> > +++ b/drivers/gpu/drm/bridge/Kconfig
> > @@ -390,6 +390,7 @@ config DRM_TI_SN65DSI86
> >       depends on OF
> >       select DRM_DISPLAY_DP_HELPER
> >       select DRM_DISPLAY_HELPER
> > +     select DRM_BRIDGE_CONNECTOR
> >       select DRM_KMS_HELPER
> >       select REGMAP_I2C
> >       select DRM_PANEL
> > diff --git a/drivers/gpu/drm/display/Kconfig b/drivers/gpu/drm/display/Kconfig
> > index 479e62690d75..1a192a45961b 100644
> > --- a/drivers/gpu/drm/display/Kconfig
> > +++ b/drivers/gpu/drm/display/Kconfig
> > @@ -6,6 +6,12 @@ config DRM_DISPLAY_HELPER
> >       help
> >         DRM helpers for display adapters.
> >
> > +config DRM_BRIDGE_CONNECTOR
> > +     bool
> > +     depends on DRM && DRM_BRIDGE && DRM_DISPLAY_HELPER
> > +     help
> > +       DRM connector implementation terminating DRM bridge chains.
> > +
>
> Is there any reason to put it in there instead of under DRM_BRIDGE like
> DRM_PANEL_BRIDGE?

DRM_PANEL_ BRIDGE is a bridge in the end. DRM_BRIDGE_CONNECTOR is not.
That's why I thought that drm/display is a better way to go.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-07-04 15:07 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-02  9:48 [PATCH v3 0/4] drm: fix two issues related to HDMI Connector implementation Dmitry Baryshkov
2024-07-02  9:48 ` [PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props Dmitry Baryshkov
2024-07-04 12:46   ` Maxime Ripard
2024-07-02  9:48 ` [PATCH v3 2/4] drm/connector: automatically set immutable flag for max_bpc property Dmitry Baryshkov
2024-07-02  9:48 ` [PATCH v3 3/4] drm/bridge-connector: move to DRM_DISPLAY_HELPER module Dmitry Baryshkov
2024-07-04 12:54   ` Maxime Ripard
2024-07-04 15:07     ` Dmitry Baryshkov
2024-07-02  9:48 ` [PATCH v3 4/4] drm/bridge-connector: reset the HDMI connector state Dmitry Baryshkov
2024-07-04 12:56   ` Maxime Ripard
2024-07-04 15:02     ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®