mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector
@ 2024-12-10 14:16 Dmitry Baryshkov
  2024-12-10 14:16 ` [PATCH 1/4] drm/display: bridge_connector: provide atomic_check for HDMI bridges Dmitry Baryshkov
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-12-10 14:16 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Liu Ying
  Cc: dri-devel, linux-kernel

Reduce boilerplate code and move calls to
drm_atomic_helper_connector_hdmi_check() to the drm_bridge_connector.
Initially the drm_bridge_connector didn't use HDMI state helpers
directly, so each driver had to call that function on its own. Since the
commit 9a71cf8b6fa4 ("drm/bridge-connector: reset the HDMI connector
state") it depends on DRM_DISPLAY_HDMI_STATE_HELPER, allowing us to use
the helper from the generic code too.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Dmitry Baryshkov (4):
      drm/display: bridge_connector: provide atomic_check for HDMI bridges
      drm/bridge: ite-it6263: drop atomic_check() callback
      drm/bridge: lontium-lt9611: drop atomic_check() callback
      drm/bridge: dw-hdmi-qp: drop atomic_check() callback

 drivers/gpu/drm/bridge/ite-it6263.c            | 10 ----------
 drivers/gpu/drm/bridge/lontium-lt9611.c        | 10 ----------
 drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c   | 17 -----------------
 drivers/gpu/drm/display/drm_bridge_connector.c | 13 +++++++++++++
 4 files changed, 13 insertions(+), 37 deletions(-)
---
base-commit: 84e541b1e58e04d808e1bb13ef566ffbe87aa89b
change-id: 20241205-bridge_hdmi_check-9fd86dd5b290

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


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

* [PATCH 1/4] drm/display: bridge_connector: provide atomic_check for HDMI bridges
  2024-12-10 14:16 [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Dmitry Baryshkov
@ 2024-12-10 14:16 ` Dmitry Baryshkov
  2024-12-10 14:16 ` [PATCH 2/4] drm/bridge: ite-it6263: drop atomic_check() callback Dmitry Baryshkov
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-12-10 14:16 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Liu Ying
  Cc: dri-devel, linux-kernel

The bridges using HDMI connector framework have a call to
drm_atomic_helper_connector_hdmi_check() in their atomic_check()
callback. In order to reduce boilerplate and make simplify bridge's
code, use drm_atomic_helper_connector_hdmi_check() to implement
drm_connector.atomic_check() for HDMI bridges.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/display/drm_bridge_connector.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/drm/display/drm_bridge_connector.c
index 512ced87ea18c74e182a558a686ddd83de891814..f6e0b6f1ffdd392ee15ddfd9ec85452a88122d42 100644
--- a/drivers/gpu/drm/display/drm_bridge_connector.c
+++ b/drivers/gpu/drm/display/drm_bridge_connector.c
@@ -313,11 +313,24 @@ drm_bridge_connector_mode_valid(struct drm_connector *connector,
 	return MODE_OK;
 }
 
+static int drm_bridge_connector_atomic_check(struct drm_connector *connector,
+					     struct drm_atomic_state *state)
+{
+	struct drm_bridge_connector *bridge_connector =
+		to_drm_bridge_connector(connector);
+
+	if (bridge_connector->bridge_hdmi)
+		return drm_atomic_helper_connector_hdmi_check(connector, state);
+
+	return 0;
+}
+
 static const struct drm_connector_helper_funcs drm_bridge_connector_helper_funcs = {
 	.get_modes = drm_bridge_connector_get_modes,
 	.mode_valid = drm_bridge_connector_mode_valid,
 	.enable_hpd = drm_bridge_connector_enable_hpd,
 	.disable_hpd = drm_bridge_connector_disable_hpd,
+	.atomic_check = drm_bridge_connector_atomic_check,
 };
 
 static enum drm_mode_status

-- 
2.39.5


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

* [PATCH 2/4] drm/bridge: ite-it6263: drop atomic_check() callback
  2024-12-10 14:16 [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Dmitry Baryshkov
  2024-12-10 14:16 ` [PATCH 1/4] drm/display: bridge_connector: provide atomic_check for HDMI bridges Dmitry Baryshkov
@ 2024-12-10 14:16 ` Dmitry Baryshkov
  2024-12-11  6:04   ` Liu Ying
  2024-12-10 14:16 ` [PATCH 3/4] drm/bridge: lontium-lt9611: " Dmitry Baryshkov
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-12-10 14:16 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Liu Ying
  Cc: dri-devel, linux-kernel

As drm_bridge_connector now provides atomic_check() implementation which
calls drm_atomic_helper_connector_hdmi_check(), drop the duplicating
callback from the bridge driver.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/bridge/ite-it6263.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c
index cbabd4e20d3ebbe632a60f7cac73302815fab7d8..902444317d67e7a65ab05568fbe6f4571c500585 100644
--- a/drivers/gpu/drm/bridge/ite-it6263.c
+++ b/drivers/gpu/drm/bridge/ite-it6263.c
@@ -550,15 +550,6 @@ static int it6263_read_edid(void *data, u8 *buf, unsigned int block, size_t len)
 	return 0;
 }
 
-static int it6263_bridge_atomic_check(struct drm_bridge *bridge,
-				      struct drm_bridge_state *bridge_state,
-				      struct drm_crtc_state *crtc_state,
-				      struct drm_connector_state *conn_state)
-{
-	return drm_atomic_helper_connector_hdmi_check(conn_state->connector,
-						      conn_state->state);
-}
-
 static void
 it6263_bridge_atomic_disable(struct drm_bridge *bridge,
 			     struct drm_bridge_state *old_bridge_state)
@@ -793,7 +784,6 @@ static const struct drm_bridge_funcs it6263_bridge_funcs = {
 	.mode_valid = it6263_bridge_mode_valid,
 	.atomic_disable = it6263_bridge_atomic_disable,
 	.atomic_enable = it6263_bridge_atomic_enable,
-	.atomic_check = it6263_bridge_atomic_check,
 	.detect = it6263_bridge_detect,
 	.edid_read = it6263_bridge_edid_read,
 	.atomic_get_input_bus_fmts = it6263_bridge_atomic_get_input_bus_fmts,

-- 
2.39.5


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

* [PATCH 3/4] drm/bridge: lontium-lt9611: drop atomic_check() callback
  2024-12-10 14:16 [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Dmitry Baryshkov
  2024-12-10 14:16 ` [PATCH 1/4] drm/display: bridge_connector: provide atomic_check for HDMI bridges Dmitry Baryshkov
  2024-12-10 14:16 ` [PATCH 2/4] drm/bridge: ite-it6263: drop atomic_check() callback Dmitry Baryshkov
@ 2024-12-10 14:16 ` Dmitry Baryshkov
  2024-12-10 14:16 ` [PATCH 4/4] drm/bridge: dw-hdmi-qp: " Dmitry Baryshkov
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-12-10 14:16 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Liu Ying
  Cc: dri-devel, linux-kernel

As drm_bridge_connector now provides atomic_check() implementation which
calls drm_atomic_helper_connector_hdmi_check(), drop the duplicating
callback from the bridge driver.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/bridge/lontium-lt9611.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c
index 1ffbe473e4103dfc315a8cd3571e9407bf518797..71edb2b659de374c88b453a90a7cae902b97d91b 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611.c
@@ -767,15 +767,6 @@ static enum drm_mode_status lt9611_bridge_mode_valid(struct drm_bridge *bridge,
 	return MODE_OK;
 }
 
-static int lt9611_bridge_atomic_check(struct drm_bridge *bridge,
-				      struct drm_bridge_state *bridge_state,
-				      struct drm_crtc_state *crtc_state,
-				      struct drm_connector_state *conn_state)
-{
-	return drm_atomic_helper_connector_hdmi_check(conn_state->connector,
-						      conn_state->state);
-}
-
 static void lt9611_bridge_atomic_pre_enable(struct drm_bridge *bridge,
 					    struct drm_bridge_state *old_bridge_state)
 {
@@ -947,7 +938,6 @@ static const struct drm_bridge_funcs lt9611_bridge_funcs = {
 	.edid_read = lt9611_bridge_edid_read,
 	.hpd_enable = lt9611_bridge_hpd_enable,
 
-	.atomic_check = lt9611_bridge_atomic_check,
 	.atomic_pre_enable = lt9611_bridge_atomic_pre_enable,
 	.atomic_enable = lt9611_bridge_atomic_enable,
 	.atomic_disable = lt9611_bridge_atomic_disable,

-- 
2.39.5


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

* [PATCH 4/4] drm/bridge: dw-hdmi-qp: drop atomic_check() callback
  2024-12-10 14:16 [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2024-12-10 14:16 ` [PATCH 3/4] drm/bridge: lontium-lt9611: " Dmitry Baryshkov
@ 2024-12-10 14:16 ` Dmitry Baryshkov
  2024-12-11 17:11 ` [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Maxime Ripard
  2024-12-24  2:12 ` Dmitry Baryshkov
  5 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-12-10 14:16 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Liu Ying
  Cc: dri-devel, linux-kernel

As drm_bridge_connector now provides atomic_check() implementation which
calls drm_atomic_helper_connector_hdmi_check(), drop the duplicating
callback from the bridge driver.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
index c686671e4850a1af75b82995185ffc3cbb22a447..b281cabfe992eff88a4ba7bc903758bb119281f2 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
@@ -361,22 +361,6 @@ static int dw_hdmi_qp_config_drm_infoframe(struct dw_hdmi_qp *hdmi,
 	return 0;
 }
 
-static int dw_hdmi_qp_bridge_atomic_check(struct drm_bridge *bridge,
-					  struct drm_bridge_state *bridge_state,
-					  struct drm_crtc_state *crtc_state,
-					  struct drm_connector_state *conn_state)
-{
-	struct dw_hdmi_qp *hdmi = bridge->driver_private;
-	int ret;
-
-	ret = drm_atomic_helper_connector_hdmi_check(conn_state->connector,
-						     conn_state->state);
-	if (ret)
-		dev_dbg(hdmi->dev, "%s failed: %d\n", __func__, ret);
-
-	return ret;
-}
-
 static void dw_hdmi_qp_bridge_atomic_enable(struct drm_bridge *bridge,
 					    struct drm_bridge_state *old_state)
 {
@@ -503,7 +487,6 @@ static const struct drm_bridge_funcs dw_hdmi_qp_bridge_funcs = {
 	.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
 	.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
 	.atomic_reset = drm_atomic_helper_bridge_reset,
-	.atomic_check = dw_hdmi_qp_bridge_atomic_check,
 	.atomic_enable = dw_hdmi_qp_bridge_atomic_enable,
 	.atomic_disable = dw_hdmi_qp_bridge_atomic_disable,
 	.detect = dw_hdmi_qp_bridge_detect,

-- 
2.39.5


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

* Re: [PATCH 2/4] drm/bridge: ite-it6263: drop atomic_check() callback
  2024-12-10 14:16 ` [PATCH 2/4] drm/bridge: ite-it6263: drop atomic_check() callback Dmitry Baryshkov
@ 2024-12-11  6:04   ` Liu Ying
  0 siblings, 0 replies; 8+ messages in thread
From: Liu Ying @ 2024-12-11  6:04 UTC (permalink / raw)
  To: Dmitry Baryshkov, Andrzej Hajda, Neil Armstrong, Robert Foss,
	Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter
  Cc: dri-devel, linux-kernel

On 12/10/2024, Dmitry Baryshkov wrote:
> As drm_bridge_connector now provides atomic_check() implementation which
> calls drm_atomic_helper_connector_hdmi_check(), drop the duplicating
> callback from the bridge driver.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  drivers/gpu/drm/bridge/ite-it6263.c | 10 ----------
>  1 file changed, 10 deletions(-)
Reviewed-by: Liu Ying <victor.liu@nxp.com>

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

* Re: [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector
  2024-12-10 14:16 [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Dmitry Baryshkov
                   ` (3 preceding siblings ...)
  2024-12-10 14:16 ` [PATCH 4/4] drm/bridge: dw-hdmi-qp: " Dmitry Baryshkov
@ 2024-12-11 17:11 ` Maxime Ripard
  2024-12-24  2:12 ` Dmitry Baryshkov
  5 siblings, 0 replies; 8+ messages in thread
From: Maxime Ripard @ 2024-12-11 17:11 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, Simona Vetter, Liu Ying,
	dri-devel, linux-kernel

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

On Tue, Dec 10, 2024 at 04:16:46PM +0200, Dmitry Baryshkov wrote:
> Reduce boilerplate code and move calls to
> drm_atomic_helper_connector_hdmi_check() to the drm_bridge_connector.
> Initially the drm_bridge_connector didn't use HDMI state helpers
> directly, so each driver had to call that function on its own. Since the
> commit 9a71cf8b6fa4 ("drm/bridge-connector: reset the HDMI connector
> state") it depends on DRM_DISPLAY_HDMI_STATE_HELPER, allowing us to use
> the helper from the generic code too.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

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

Maxime

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

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

* Re: [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector
  2024-12-10 14:16 [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Dmitry Baryshkov
                   ` (4 preceding siblings ...)
  2024-12-11 17:11 ` [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Maxime Ripard
@ 2024-12-24  2:12 ` Dmitry Baryshkov
  5 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-12-24  2:12 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Liu Ying,
	Dmitry Baryshkov
  Cc: dri-devel, linux-kernel

On Tue, 10 Dec 2024 16:16:46 +0200, Dmitry Baryshkov wrote:
> Reduce boilerplate code and move calls to
> drm_atomic_helper_connector_hdmi_check() to the drm_bridge_connector.
> Initially the drm_bridge_connector didn't use HDMI state helpers
> directly, so each driver had to call that function on its own. Since the
> commit 9a71cf8b6fa4 ("drm/bridge-connector: reset the HDMI connector
> state") it depends on DRM_DISPLAY_HDMI_STATE_HELPER, allowing us to use
> the helper from the generic code too.
> 
> [...]

Applied to drm-misc-next, thanks!

[1/4] drm/display: bridge_connector: provide atomic_check for HDMI bridges
      commit: 8ec116ff21a97918d187491dc8f90d7eb173dc1d
[2/4] drm/bridge: ite-it6263: drop atomic_check() callback
      commit: 487d1ed989e5ec418b45b9294e8cceefe29ce4fa
[3/4] drm/bridge: lontium-lt9611: drop atomic_check() callback
      commit: 15b8f5a297f793f859ed2104755ebcf29384e26b
[4/4] drm/bridge: dw-hdmi-qp: drop atomic_check() callback
      commit: f8a2397baf041a5cee408b082334bb09c7e161df

Best regards,
-- 
With best wishes
Dmitry


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

end of thread, other threads:[~2024-12-24  2:12 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-10 14:16 [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Dmitry Baryshkov
2024-12-10 14:16 ` [PATCH 1/4] drm/display: bridge_connector: provide atomic_check for HDMI bridges Dmitry Baryshkov
2024-12-10 14:16 ` [PATCH 2/4] drm/bridge: ite-it6263: drop atomic_check() callback Dmitry Baryshkov
2024-12-11  6:04   ` Liu Ying
2024-12-10 14:16 ` [PATCH 3/4] drm/bridge: lontium-lt9611: " Dmitry Baryshkov
2024-12-10 14:16 ` [PATCH 4/4] drm/bridge: dw-hdmi-qp: " Dmitry Baryshkov
2024-12-11 17:11 ` [PATCH 0/4] drm/bridge: move drm_atomic_helper_connector_hdmi_check() to drm_bridge_connector Maxime Ripard
2024-12-24  2:12 ` 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®