linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] drm/i2c: tda998x: move under drivers/gpu/drm/bridge
@ 2024-12-15 11:09 Dmitry Baryshkov
  2024-12-15 11:09 ` [PATCH 1/2] drm/i2c: tda998x: drop support for platform_data Dmitry Baryshkov
  2024-12-15 11:09 ` [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge Dmitry Baryshkov
  0 siblings, 2 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-12-15 11:09 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
	Russell King
  Cc: linux-kernel, dri-devel

TDA998x is the HDMI bridge driver, incorporating drm_connector and
optional drm_encoder (created via the component bind API by the TICLDC
and HDLCD drivers). TDA9950 is an I2C-CEC translator, being present
on-die on the TDA9989 and TDA19989 chips.

Move both drivers to live next to all DRM bridge drivers, under
drivers/gpu/drm/bridge/tda/. If we ever get a separate subdir for CEC
drivers, then TDA9950 driver can be moved to that dir.

Note to RMK: I didn't change that, but I'd like to propose to use
drm-misc tree for this bridge.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Dmitry Baryshkov (2):
      drm/i2c: tda998x: drop support for platform_data
      drm/i2c: move TDA drivers under drivers/gpu/drm/bridge

 MAINTAINERS                                       |  3 +-
 drivers/gpu/drm/arm/Kconfig                       |  1 +
 drivers/gpu/drm/bridge/Kconfig                    |  2 +
 drivers/gpu/drm/bridge/Makefile                   |  1 +
 drivers/gpu/drm/bridge/tda/Kconfig                | 13 ++++++
 drivers/gpu/drm/bridge/tda/Makefile               |  4 ++
 drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
 drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c | 49 ++---------------------
 drivers/gpu/drm/i2c/Kconfig                       | 13 ------
 drivers/gpu/drm/i2c/Makefile                      |  4 --
 include/drm/i2c/tda998x.h                         | 40 ------------------
 11 files changed, 26 insertions(+), 104 deletions(-)
---
base-commit: 4176cf5c5651c33769de83bb61b0287f4ec7719f
change-id: 20241214-drm-move-tda998x-8fb4321434d2

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


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

* [PATCH 1/2] drm/i2c: tda998x: drop support for platform_data
  2024-12-15 11:09 [PATCH 0/2] drm/i2c: tda998x: move under drivers/gpu/drm/bridge Dmitry Baryshkov
@ 2024-12-15 11:09 ` Dmitry Baryshkov
  2024-12-15 12:35   ` Laurent Pinchart
  2024-12-15 11:09 ` [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge Dmitry Baryshkov
  1 sibling, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-12-15 11:09 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
	Russell King
  Cc: linux-kernel, dri-devel

After the commit 0fb2970b4b6b ("drm/armada: remove non-component
support") there are no remaining users of the struct
tda998x_encoder_params. Drop the header and corresponding API from the
TDA998x driver.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 MAINTAINERS                       |  1 -
 drivers/gpu/drm/i2c/tda998x_drv.c | 49 ++++-----------------------------------
 include/drm/i2c/tda998x.h         | 40 --------------------------------
 3 files changed, 4 insertions(+), 86 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 81348dbce8ca7c877bd9c2d88cb093368eca5a0a..9a23e80abf309cbd918a74683895f8dbe0507a6e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16983,7 +16983,6 @@ S:	Maintained
 T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
 T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
 F:	drivers/gpu/drm/i2c/tda998x_drv.c
-F:	include/drm/i2c/tda998x.h
 F:	include/dt-bindings/display/tda998x.h
 K:	"nxp,tda998x"
 
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index 2160f05bbd16d2346e27365e5549b75ad26fdcb9..67480dcbbfde4da68ffaeaf20935af467d4da92a 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -21,10 +21,11 @@
 #include <drm/drm_print.h>
 #include <drm/drm_probe_helper.h>
 #include <drm/drm_simple_kms_helper.h>
-#include <drm/i2c/tda998x.h>
 
 #include <media/cec-notifier.h>
 
+#include <dt-bindings/display/tda998x.h>
+
 #define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__)
 
 enum {
@@ -1717,10 +1718,10 @@ static int tda998x_get_audio_ports(struct tda998x_priv *priv,
 		u8 ena_ap = be32_to_cpup(&port_data[2*i+1]);
 
 		switch (afmt) {
-		case AFMT_I2S:
+		case TDA998x_I2S:
 			route = AUDIO_ROUTE_I2S;
 			break;
-		case AFMT_SPDIF:
+		case TDA998x_SPDIF:
 			route = AUDIO_ROUTE_SPDIF;
 			break;
 		default:
@@ -1746,44 +1747,6 @@ static int tda998x_get_audio_ports(struct tda998x_priv *priv,
 	return 0;
 }
 
-static int tda998x_set_config(struct tda998x_priv *priv,
-			      const struct tda998x_encoder_params *p)
-{
-	priv->vip_cntrl_0 = VIP_CNTRL_0_SWAP_A(p->swap_a) |
-			    (p->mirr_a ? VIP_CNTRL_0_MIRR_A : 0) |
-			    VIP_CNTRL_0_SWAP_B(p->swap_b) |
-			    (p->mirr_b ? VIP_CNTRL_0_MIRR_B : 0);
-	priv->vip_cntrl_1 = VIP_CNTRL_1_SWAP_C(p->swap_c) |
-			    (p->mirr_c ? VIP_CNTRL_1_MIRR_C : 0) |
-			    VIP_CNTRL_1_SWAP_D(p->swap_d) |
-			    (p->mirr_d ? VIP_CNTRL_1_MIRR_D : 0);
-	priv->vip_cntrl_2 = VIP_CNTRL_2_SWAP_E(p->swap_e) |
-			    (p->mirr_e ? VIP_CNTRL_2_MIRR_E : 0) |
-			    VIP_CNTRL_2_SWAP_F(p->swap_f) |
-			    (p->mirr_f ? VIP_CNTRL_2_MIRR_F : 0);
-
-	if (p->audio_params.format != AFMT_UNUSED) {
-		unsigned int ratio, route;
-		bool spdif = p->audio_params.format == AFMT_SPDIF;
-
-		route = AUDIO_ROUTE_I2S + spdif;
-
-		priv->audio.route = &tda998x_audio_route[route];
-		priv->audio.cea = p->audio_params.cea;
-		priv->audio.sample_rate = p->audio_params.sample_rate;
-		memcpy(priv->audio.status, p->audio_params.status,
-		       min(sizeof(priv->audio.status),
-			   sizeof(p->audio_params.status)));
-		priv->audio.ena_ap = p->audio_params.config;
-		priv->audio.i2s_format = I2S_FORMAT_PHILIPS;
-
-		ratio = spdif ? 64 : p->audio_params.sample_width * 2;
-		return tda998x_derive_cts_n(priv, &priv->audio, ratio);
-	}
-
-	return 0;
-}
-
 static void tda998x_destroy(struct device *dev)
 {
 	struct tda998x_priv *priv = dev_get_drvdata(dev);
@@ -1982,10 +1945,6 @@ static int tda998x_create(struct device *dev)
 		if (priv->audio_port_enable[AUDIO_ROUTE_I2S] ||
 		    priv->audio_port_enable[AUDIO_ROUTE_SPDIF])
 			tda998x_audio_codec_init(priv, &client->dev);
-	} else if (dev->platform_data) {
-		ret = tda998x_set_config(priv, dev->platform_data);
-		if (ret)
-			goto fail;
 	}
 
 	priv->bridge.funcs = &tda998x_bridge_funcs;
diff --git a/include/drm/i2c/tda998x.h b/include/drm/i2c/tda998x.h
deleted file mode 100644
index 3cb25ccbe5e68bf95ce13249f15549b7e2582281..0000000000000000000000000000000000000000
--- a/include/drm/i2c/tda998x.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __DRM_I2C_TDA998X_H__
-#define __DRM_I2C_TDA998X_H__
-
-#include <linux/hdmi.h>
-#include <dt-bindings/display/tda998x.h>
-
-enum {
-	AFMT_UNUSED =	0,
-	AFMT_SPDIF =	TDA998x_SPDIF,
-	AFMT_I2S =	TDA998x_I2S,
-};
-
-struct tda998x_audio_params {
-	u8 config;
-	u8 format;
-	unsigned sample_width;
-	unsigned sample_rate;
-	struct hdmi_audio_infoframe cea;
-	u8 status[5];
-};
-
-struct tda998x_encoder_params {
-	u8 swap_b:3;
-	u8 mirr_b:1;
-	u8 swap_a:3;
-	u8 mirr_a:1;
-	u8 swap_d:3;
-	u8 mirr_d:1;
-	u8 swap_c:3;
-	u8 mirr_c:1;
-	u8 swap_f:3;
-	u8 mirr_f:1;
-	u8 swap_e:3;
-	u8 mirr_e:1;
-
-	struct tda998x_audio_params audio_params;
-};
-
-#endif

-- 
2.39.5


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

* [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge
  2024-12-15 11:09 [PATCH 0/2] drm/i2c: tda998x: move under drivers/gpu/drm/bridge Dmitry Baryshkov
  2024-12-15 11:09 ` [PATCH 1/2] drm/i2c: tda998x: drop support for platform_data Dmitry Baryshkov
@ 2024-12-15 11:09 ` Dmitry Baryshkov
  2024-12-15 12:38   ` Laurent Pinchart
                     ` (2 more replies)
  1 sibling, 3 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-12-15 11:09 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
	Russell King
  Cc: linux-kernel, dri-devel

TDA998x is the HDMI bridge driver, incorporating drm_connector and
optional drm_encoder (created via the component bind API by the TICLDC
and HDLCD drivers). Thus it should be residing together with the other
DRM bridge drivers under drivers/gpu/drm/bridge/.

TDA9950 is an I2C-CEC translator, being present on-die on the TDA9989
and TDA19989 chips, so it is being instantiated by the TDA998x driver.
Move it together with the TDA998x under bridge drivers subdir.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 MAINTAINERS                                       |  2 +-
 drivers/gpu/drm/arm/Kconfig                       |  1 +
 drivers/gpu/drm/bridge/Kconfig                    |  2 ++
 drivers/gpu/drm/bridge/Makefile                   |  1 +
 drivers/gpu/drm/bridge/tda/Kconfig                | 13 +++++++++++++
 drivers/gpu/drm/bridge/tda/Makefile               |  4 ++++
 drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
 drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c |  0
 drivers/gpu/drm/i2c/Kconfig                       | 13 -------------
 drivers/gpu/drm/i2c/Makefile                      |  4 ----
 10 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9a23e80abf309cbd918a74683895f8dbe0507a6e..a4c7afd564e721e14aebaf828b75776e50760a45 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16982,7 +16982,7 @@ M:	Russell King <linux@armlinux.org.uk>
 S:	Maintained
 T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
 T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
-F:	drivers/gpu/drm/i2c/tda998x_drv.c
+F:	drivers/gpu/drm/bridge/tda/tda998x_drv.c
 F:	include/dt-bindings/display/tda998x.h
 K:	"nxp,tda998x"
 
diff --git a/drivers/gpu/drm/arm/Kconfig b/drivers/gpu/drm/arm/Kconfig
index c901ac00c0c3a8f356bd53d97305c6b39b3e6662..ed3ed617c6884876368c8bd072c53f1b710df443 100644
--- a/drivers/gpu/drm/arm/Kconfig
+++ b/drivers/gpu/drm/arm/Kconfig
@@ -9,6 +9,7 @@ config DRM_HDLCD
 	select DRM_CLIENT_SELECTION
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
+	select DRM_BRIDGE # for TDA998x
 	help
 	  Choose this option if you have an ARM High Definition Colour LCD
 	  controller.
diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
index 6b4664d91faa80f096ac6a0548ed342e802ae68b..1ef16dcc2ae53eb172604de2d6899004c080a979 100644
--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -438,4 +438,6 @@ source "drivers/gpu/drm/bridge/imx/Kconfig"
 
 source "drivers/gpu/drm/bridge/synopsys/Kconfig"
 
+source "drivers/gpu/drm/bridge/tda/Kconfig"
+
 endmenu
diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile
index 97304b429a530c108dcbff906965cda091b0a7a2..52e6c9b3094bba0fd6aaf28af1b58f4bd8bf26d0 100644
--- a/drivers/gpu/drm/bridge/Makefile
+++ b/drivers/gpu/drm/bridge/Makefile
@@ -43,3 +43,4 @@ obj-y += analogix/
 obj-y += cadence/
 obj-y += imx/
 obj-y += synopsys/
+obj-y += tda/
diff --git a/drivers/gpu/drm/bridge/tda/Kconfig b/drivers/gpu/drm/bridge/tda/Kconfig
new file mode 100644
index 0000000000000000000000000000000000000000..5f13e4ffc24eeaa8dd0015c7e84d0dbac93e170c
--- /dev/null
+++ b/drivers/gpu/drm/bridge/tda/Kconfig
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: GPL-2.0-only
+config DRM_I2C_NXP_TDA998X
+	tristate "NXP Semiconductors TDA998X HDMI encoder"
+	default m if DRM_TILCDC
+	select CEC_CORE if CEC_NOTIFIER
+	select SND_SOC_HDMI_CODEC if SND_SOC
+	help
+	  Support for NXP Semiconductors TDA998X HDMI encoders.
+
+config DRM_I2C_NXP_TDA9950
+	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
+	select CEC_NOTIFIER
+	select CEC_CORE
diff --git a/drivers/gpu/drm/bridge/tda/Makefile b/drivers/gpu/drm/bridge/tda/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..31fd35527d99d7eb23851d290175a3ff0c756772
--- /dev/null
+++ b/drivers/gpu/drm/bridge/tda/Makefile
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0
+tda998x-y := tda998x_drv.o
+obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
+obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o
diff --git a/drivers/gpu/drm/i2c/tda9950.c b/drivers/gpu/drm/bridge/tda/tda9950.c
similarity index 100%
rename from drivers/gpu/drm/i2c/tda9950.c
rename to drivers/gpu/drm/bridge/tda/tda9950.c
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/bridge/tda/tda998x_drv.c
similarity index 100%
rename from drivers/gpu/drm/i2c/tda998x_drv.c
rename to drivers/gpu/drm/bridge/tda/tda998x_drv.c
diff --git a/drivers/gpu/drm/i2c/Kconfig b/drivers/gpu/drm/i2c/Kconfig
index 6f19e1c35e30b0e595c1a60628a6b8cf313fcabc..3205cdb827b95209a4bba9fb126ad2df27ddbdfb 100644
--- a/drivers/gpu/drm/i2c/Kconfig
+++ b/drivers/gpu/drm/i2c/Kconfig
@@ -20,17 +20,4 @@ config DRM_I2C_SIL164
 	  when used in pairs) TMDS transmitters, used in some nVidia
 	  video cards.
 
-config DRM_I2C_NXP_TDA998X
-	tristate "NXP Semiconductors TDA998X HDMI encoder"
-	default m if DRM_TILCDC
-	select CEC_CORE if CEC_NOTIFIER
-	select SND_SOC_HDMI_CODEC if SND_SOC
-	help
-	  Support for NXP Semiconductors TDA998X HDMI encoders.
-
-config DRM_I2C_NXP_TDA9950
-	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
-	select CEC_NOTIFIER
-	select CEC_CORE
-
 endmenu
diff --git a/drivers/gpu/drm/i2c/Makefile b/drivers/gpu/drm/i2c/Makefile
index a962f6f085686674ed33010345730db776815ebe..1df3869491e277ca210368c4e48efe6d11af62b6 100644
--- a/drivers/gpu/drm/i2c/Makefile
+++ b/drivers/gpu/drm/i2c/Makefile
@@ -4,7 +4,3 @@ obj-$(CONFIG_DRM_I2C_CH7006) += ch7006.o
 
 sil164-y := sil164_drv.o
 obj-$(CONFIG_DRM_I2C_SIL164) += sil164.o
-
-tda998x-y := tda998x_drv.o
-obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
-obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o

-- 
2.39.5


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

* Re: [PATCH 1/2] drm/i2c: tda998x: drop support for platform_data
  2024-12-15 11:09 ` [PATCH 1/2] drm/i2c: tda998x: drop support for platform_data Dmitry Baryshkov
@ 2024-12-15 12:35   ` Laurent Pinchart
  0 siblings, 0 replies; 12+ messages in thread
From: Laurent Pinchart @ 2024-12-15 12:35 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Jonas Karlman, Jernej Skrabec, Russell King,
	linux-kernel, dri-devel

Hi Dmitry,

Thank you for the patch.

On Sun, Dec 15, 2024 at 01:09:07PM +0200, Dmitry Baryshkov wrote:
> After the commit 0fb2970b4b6b ("drm/armada: remove non-component
> support") there are no remaining users of the struct
> tda998x_encoder_params. Drop the header and corresponding API from the
> TDA998x driver.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  MAINTAINERS                       |  1 -
>  drivers/gpu/drm/i2c/tda998x_drv.c | 49 ++++-----------------------------------
>  include/drm/i2c/tda998x.h         | 40 --------------------------------
>  3 files changed, 4 insertions(+), 86 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 81348dbce8ca7c877bd9c2d88cb093368eca5a0a..9a23e80abf309cbd918a74683895f8dbe0507a6e 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -16983,7 +16983,6 @@ S:	Maintained
>  T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
>  T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
>  F:	drivers/gpu/drm/i2c/tda998x_drv.c
> -F:	include/drm/i2c/tda998x.h
>  F:	include/dt-bindings/display/tda998x.h
>  K:	"nxp,tda998x"
>  
> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
> index 2160f05bbd16d2346e27365e5549b75ad26fdcb9..67480dcbbfde4da68ffaeaf20935af467d4da92a 100644
> --- a/drivers/gpu/drm/i2c/tda998x_drv.c
> +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
> @@ -21,10 +21,11 @@
>  #include <drm/drm_print.h>
>  #include <drm/drm_probe_helper.h>
>  #include <drm/drm_simple_kms_helper.h>
> -#include <drm/i2c/tda998x.h>
>  
>  #include <media/cec-notifier.h>
>  
> +#include <dt-bindings/display/tda998x.h>
> +
>  #define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__)
>  
>  enum {
> @@ -1717,10 +1718,10 @@ static int tda998x_get_audio_ports(struct tda998x_priv *priv,
>  		u8 ena_ap = be32_to_cpup(&port_data[2*i+1]);
>  
>  		switch (afmt) {
> -		case AFMT_I2S:
> +		case TDA998x_I2S:
>  			route = AUDIO_ROUTE_I2S;
>  			break;
> -		case AFMT_SPDIF:
> +		case TDA998x_SPDIF:
>  			route = AUDIO_ROUTE_SPDIF;
>  			break;
>  		default:
> @@ -1746,44 +1747,6 @@ static int tda998x_get_audio_ports(struct tda998x_priv *priv,
>  	return 0;
>  }
>  
> -static int tda998x_set_config(struct tda998x_priv *priv,
> -			      const struct tda998x_encoder_params *p)
> -{
> -	priv->vip_cntrl_0 = VIP_CNTRL_0_SWAP_A(p->swap_a) |
> -			    (p->mirr_a ? VIP_CNTRL_0_MIRR_A : 0) |
> -			    VIP_CNTRL_0_SWAP_B(p->swap_b) |
> -			    (p->mirr_b ? VIP_CNTRL_0_MIRR_B : 0);
> -	priv->vip_cntrl_1 = VIP_CNTRL_1_SWAP_C(p->swap_c) |
> -			    (p->mirr_c ? VIP_CNTRL_1_MIRR_C : 0) |
> -			    VIP_CNTRL_1_SWAP_D(p->swap_d) |
> -			    (p->mirr_d ? VIP_CNTRL_1_MIRR_D : 0);
> -	priv->vip_cntrl_2 = VIP_CNTRL_2_SWAP_E(p->swap_e) |
> -			    (p->mirr_e ? VIP_CNTRL_2_MIRR_E : 0) |
> -			    VIP_CNTRL_2_SWAP_F(p->swap_f) |
> -			    (p->mirr_f ? VIP_CNTRL_2_MIRR_F : 0);
> -
> -	if (p->audio_params.format != AFMT_UNUSED) {
> -		unsigned int ratio, route;
> -		bool spdif = p->audio_params.format == AFMT_SPDIF;
> -
> -		route = AUDIO_ROUTE_I2S + spdif;
> -
> -		priv->audio.route = &tda998x_audio_route[route];
> -		priv->audio.cea = p->audio_params.cea;
> -		priv->audio.sample_rate = p->audio_params.sample_rate;
> -		memcpy(priv->audio.status, p->audio_params.status,
> -		       min(sizeof(priv->audio.status),
> -			   sizeof(p->audio_params.status)));
> -		priv->audio.ena_ap = p->audio_params.config;
> -		priv->audio.i2s_format = I2S_FORMAT_PHILIPS;
> -
> -		ratio = spdif ? 64 : p->audio_params.sample_width * 2;
> -		return tda998x_derive_cts_n(priv, &priv->audio, ratio);
> -	}
> -
> -	return 0;
> -}
> -
>  static void tda998x_destroy(struct device *dev)
>  {
>  	struct tda998x_priv *priv = dev_get_drvdata(dev);
> @@ -1982,10 +1945,6 @@ static int tda998x_create(struct device *dev)
>  		if (priv->audio_port_enable[AUDIO_ROUTE_I2S] ||
>  		    priv->audio_port_enable[AUDIO_ROUTE_SPDIF])
>  			tda998x_audio_codec_init(priv, &client->dev);
> -	} else if (dev->platform_data) {
> -		ret = tda998x_set_config(priv, dev->platform_data);
> -		if (ret)
> -			goto fail;
>  	}
>  
>  	priv->bridge.funcs = &tda998x_bridge_funcs;
> diff --git a/include/drm/i2c/tda998x.h b/include/drm/i2c/tda998x.h
> deleted file mode 100644
> index 3cb25ccbe5e68bf95ce13249f15549b7e2582281..0000000000000000000000000000000000000000
> --- a/include/drm/i2c/tda998x.h
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -#ifndef __DRM_I2C_TDA998X_H__
> -#define __DRM_I2C_TDA998X_H__
> -
> -#include <linux/hdmi.h>
> -#include <dt-bindings/display/tda998x.h>
> -
> -enum {
> -	AFMT_UNUSED =	0,
> -	AFMT_SPDIF =	TDA998x_SPDIF,
> -	AFMT_I2S =	TDA998x_I2S,
> -};
> -
> -struct tda998x_audio_params {
> -	u8 config;
> -	u8 format;
> -	unsigned sample_width;
> -	unsigned sample_rate;
> -	struct hdmi_audio_infoframe cea;
> -	u8 status[5];
> -};
> -
> -struct tda998x_encoder_params {
> -	u8 swap_b:3;
> -	u8 mirr_b:1;
> -	u8 swap_a:3;
> -	u8 mirr_a:1;
> -	u8 swap_d:3;
> -	u8 mirr_d:1;
> -	u8 swap_c:3;
> -	u8 mirr_c:1;
> -	u8 swap_f:3;
> -	u8 mirr_f:1;
> -	u8 swap_e:3;
> -	u8 mirr_e:1;
> -
> -	struct tda998x_audio_params audio_params;
> -};
> -
> -#endif

-- 
Regards,

Laurent Pinchart

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

* Re: [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge
  2024-12-15 11:09 ` [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge Dmitry Baryshkov
@ 2024-12-15 12:38   ` Laurent Pinchart
  2024-12-15 13:12     ` Dmitry Baryshkov
  2025-01-05 22:52     ` Dmitry Baryshkov
  2024-12-18 10:22   ` Neil Armstrong
  2024-12-19 19:57   ` Liviu Dudau
  2 siblings, 2 replies; 12+ messages in thread
From: Laurent Pinchart @ 2024-12-15 12:38 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Jonas Karlman, Jernej Skrabec, Russell King,
	linux-kernel, dri-devel

Hi Dmitry,

Thank you for the patch.

On Sun, Dec 15, 2024 at 01:09:08PM +0200, Dmitry Baryshkov wrote:
> TDA998x is the HDMI bridge driver, incorporating drm_connector and
> optional drm_encoder (created via the component bind API by the TICLDC
> and HDLCD drivers). Thus it should be residing together with the other
> DRM bridge drivers under drivers/gpu/drm/bridge/.
> 
> TDA9950 is an I2C-CEC translator, being present on-die on the TDA9989
> and TDA19989 chips, so it is being instantiated by the TDA998x driver.
> Move it together with the TDA998x under bridge drivers subdir.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  MAINTAINERS                                       |  2 +-
>  drivers/gpu/drm/arm/Kconfig                       |  1 +
>  drivers/gpu/drm/bridge/Kconfig                    |  2 ++
>  drivers/gpu/drm/bridge/Makefile                   |  1 +
>  drivers/gpu/drm/bridge/tda/Kconfig                | 13 +++++++++++++
>  drivers/gpu/drm/bridge/tda/Makefile               |  4 ++++
>  drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
>  drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c |  0

I probably wouldn't have created a tda/ subdirectory in bridge/, but I
don't mind much either way.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

>  drivers/gpu/drm/i2c/Kconfig                       | 13 -------------
>  drivers/gpu/drm/i2c/Makefile                      |  4 ----
>  10 files changed, 22 insertions(+), 18 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 9a23e80abf309cbd918a74683895f8dbe0507a6e..a4c7afd564e721e14aebaf828b75776e50760a45 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -16982,7 +16982,7 @@ M:	Russell King <linux@armlinux.org.uk>
>  S:	Maintained
>  T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
>  T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
> -F:	drivers/gpu/drm/i2c/tda998x_drv.c
> +F:	drivers/gpu/drm/bridge/tda/tda998x_drv.c
>  F:	include/dt-bindings/display/tda998x.h
>  K:	"nxp,tda998x"
>  
> diff --git a/drivers/gpu/drm/arm/Kconfig b/drivers/gpu/drm/arm/Kconfig
> index c901ac00c0c3a8f356bd53d97305c6b39b3e6662..ed3ed617c6884876368c8bd072c53f1b710df443 100644
> --- a/drivers/gpu/drm/arm/Kconfig
> +++ b/drivers/gpu/drm/arm/Kconfig
> @@ -9,6 +9,7 @@ config DRM_HDLCD
>  	select DRM_CLIENT_SELECTION
>  	select DRM_KMS_HELPER
>  	select DRM_GEM_DMA_HELPER
> +	select DRM_BRIDGE # for TDA998x
>  	help
>  	  Choose this option if you have an ARM High Definition Colour LCD
>  	  controller.
> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> index 6b4664d91faa80f096ac6a0548ed342e802ae68b..1ef16dcc2ae53eb172604de2d6899004c080a979 100644
> --- a/drivers/gpu/drm/bridge/Kconfig
> +++ b/drivers/gpu/drm/bridge/Kconfig
> @@ -438,4 +438,6 @@ source "drivers/gpu/drm/bridge/imx/Kconfig"
>  
>  source "drivers/gpu/drm/bridge/synopsys/Kconfig"
>  
> +source "drivers/gpu/drm/bridge/tda/Kconfig"
> +
>  endmenu
> diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile
> index 97304b429a530c108dcbff906965cda091b0a7a2..52e6c9b3094bba0fd6aaf28af1b58f4bd8bf26d0 100644
> --- a/drivers/gpu/drm/bridge/Makefile
> +++ b/drivers/gpu/drm/bridge/Makefile
> @@ -43,3 +43,4 @@ obj-y += analogix/
>  obj-y += cadence/
>  obj-y += imx/
>  obj-y += synopsys/
> +obj-y += tda/
> diff --git a/drivers/gpu/drm/bridge/tda/Kconfig b/drivers/gpu/drm/bridge/tda/Kconfig
> new file mode 100644
> index 0000000000000000000000000000000000000000..5f13e4ffc24eeaa8dd0015c7e84d0dbac93e170c
> --- /dev/null
> +++ b/drivers/gpu/drm/bridge/tda/Kconfig
> @@ -0,0 +1,13 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +config DRM_I2C_NXP_TDA998X
> +	tristate "NXP Semiconductors TDA998X HDMI encoder"
> +	default m if DRM_TILCDC
> +	select CEC_CORE if CEC_NOTIFIER
> +	select SND_SOC_HDMI_CODEC if SND_SOC
> +	help
> +	  Support for NXP Semiconductors TDA998X HDMI encoders.
> +
> +config DRM_I2C_NXP_TDA9950
> +	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
> +	select CEC_NOTIFIER
> +	select CEC_CORE
> diff --git a/drivers/gpu/drm/bridge/tda/Makefile b/drivers/gpu/drm/bridge/tda/Makefile
> new file mode 100644
> index 0000000000000000000000000000000000000000..31fd35527d99d7eb23851d290175a3ff0c756772
> --- /dev/null
> +++ b/drivers/gpu/drm/bridge/tda/Makefile
> @@ -0,0 +1,4 @@
> +# SPDX-License-Identifier: GPL-2.0
> +tda998x-y := tda998x_drv.o
> +obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
> +obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o
> diff --git a/drivers/gpu/drm/i2c/tda9950.c b/drivers/gpu/drm/bridge/tda/tda9950.c
> similarity index 100%
> rename from drivers/gpu/drm/i2c/tda9950.c
> rename to drivers/gpu/drm/bridge/tda/tda9950.c
> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/bridge/tda/tda998x_drv.c
> similarity index 100%
> rename from drivers/gpu/drm/i2c/tda998x_drv.c
> rename to drivers/gpu/drm/bridge/tda/tda998x_drv.c
> diff --git a/drivers/gpu/drm/i2c/Kconfig b/drivers/gpu/drm/i2c/Kconfig
> index 6f19e1c35e30b0e595c1a60628a6b8cf313fcabc..3205cdb827b95209a4bba9fb126ad2df27ddbdfb 100644
> --- a/drivers/gpu/drm/i2c/Kconfig
> +++ b/drivers/gpu/drm/i2c/Kconfig
> @@ -20,17 +20,4 @@ config DRM_I2C_SIL164
>  	  when used in pairs) TMDS transmitters, used in some nVidia
>  	  video cards.
>  
> -config DRM_I2C_NXP_TDA998X
> -	tristate "NXP Semiconductors TDA998X HDMI encoder"
> -	default m if DRM_TILCDC
> -	select CEC_CORE if CEC_NOTIFIER
> -	select SND_SOC_HDMI_CODEC if SND_SOC
> -	help
> -	  Support for NXP Semiconductors TDA998X HDMI encoders.
> -
> -config DRM_I2C_NXP_TDA9950
> -	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
> -	select CEC_NOTIFIER
> -	select CEC_CORE
> -
>  endmenu
> diff --git a/drivers/gpu/drm/i2c/Makefile b/drivers/gpu/drm/i2c/Makefile
> index a962f6f085686674ed33010345730db776815ebe..1df3869491e277ca210368c4e48efe6d11af62b6 100644
> --- a/drivers/gpu/drm/i2c/Makefile
> +++ b/drivers/gpu/drm/i2c/Makefile
> @@ -4,7 +4,3 @@ obj-$(CONFIG_DRM_I2C_CH7006) += ch7006.o
>  
>  sil164-y := sil164_drv.o
>  obj-$(CONFIG_DRM_I2C_SIL164) += sil164.o
> -
> -tda998x-y := tda998x_drv.o
> -obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
> -obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o
> 

-- 
Regards,

Laurent Pinchart

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

* Re: [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge
  2024-12-15 12:38   ` Laurent Pinchart
@ 2024-12-15 13:12     ` Dmitry Baryshkov
  2025-01-05 22:52     ` Dmitry Baryshkov
  1 sibling, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-12-15 13:12 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Jonas Karlman, Jernej Skrabec, Russell King,
	linux-kernel, dri-devel

On Sun, Dec 15, 2024 at 02:38:05PM +0200, Laurent Pinchart wrote:
> Hi Dmitry,
> 
> Thank you for the patch.
> 
> On Sun, Dec 15, 2024 at 01:09:08PM +0200, Dmitry Baryshkov wrote:
> > TDA998x is the HDMI bridge driver, incorporating drm_connector and
> > optional drm_encoder (created via the component bind API by the TICLDC
> > and HDLCD drivers). Thus it should be residing together with the other
> > DRM bridge drivers under drivers/gpu/drm/bridge/.
> > 
> > TDA9950 is an I2C-CEC translator, being present on-die on the TDA9989
> > and TDA19989 chips, so it is being instantiated by the TDA998x driver.
> > Move it together with the TDA998x under bridge drivers subdir.
> > 
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >  MAINTAINERS                                       |  2 +-
> >  drivers/gpu/drm/arm/Kconfig                       |  1 +
> >  drivers/gpu/drm/bridge/Kconfig                    |  2 ++
> >  drivers/gpu/drm/bridge/Makefile                   |  1 +
> >  drivers/gpu/drm/bridge/tda/Kconfig                | 13 +++++++++++++
> >  drivers/gpu/drm/bridge/tda/Makefile               |  4 ++++
> >  drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
> >  drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c |  0
> 
> I probably wouldn't have created a tda/ subdirectory in bridge/, but I
> don't mind much either way.

I created it mostly because tda9950 isn't a bridge. It's a CEC driver
that works in pair with the tda998x driver.

> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

-- 
With best wishes
Dmitry

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

* Re: [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge
  2024-12-15 11:09 ` [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge Dmitry Baryshkov
  2024-12-15 12:38   ` Laurent Pinchart
@ 2024-12-18 10:22   ` Neil Armstrong
  2025-01-05 22:48     ` Dmitry Baryshkov
  2024-12-19 19:57   ` Liviu Dudau
  2 siblings, 1 reply; 12+ messages in thread
From: Neil Armstrong @ 2024-12-18 10:22 UTC (permalink / raw)
  To: Dmitry Baryshkov, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Liviu Dudau,
	Andrzej Hajda, Robert Foss, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, Russell King
  Cc: linux-kernel, dri-devel

On 15/12/2024 12:09, Dmitry Baryshkov wrote:
> TDA998x is the HDMI bridge driver, incorporating drm_connector and
> optional drm_encoder (created via the component bind API by the TICLDC
> and HDLCD drivers). Thus it should be residing together with the other
> DRM bridge drivers under drivers/gpu/drm/bridge/.
> 
> TDA9950 is an I2C-CEC translator, being present on-die on the TDA9989
> and TDA19989 chips, so it is being instantiated by the TDA998x driver.
> Move it together with the TDA998x under bridge drivers subdir.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   MAINTAINERS                                       |  2 +-
>   drivers/gpu/drm/arm/Kconfig                       |  1 +
>   drivers/gpu/drm/bridge/Kconfig                    |  2 ++
>   drivers/gpu/drm/bridge/Makefile                   |  1 +
>   drivers/gpu/drm/bridge/tda/Kconfig                | 13 +++++++++++++
>   drivers/gpu/drm/bridge/tda/Makefile               |  4 ++++
>   drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
>   drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c |  0
>   drivers/gpu/drm/i2c/Kconfig                       | 13 -------------
>   drivers/gpu/drm/i2c/Makefile                      |  4 ----
>   10 files changed, 22 insertions(+), 18 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 9a23e80abf309cbd918a74683895f8dbe0507a6e..a4c7afd564e721e14aebaf828b75776e50760a45 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -16982,7 +16982,7 @@ M:	Russell King <linux@armlinux.org.uk>
>   S:	Maintained
>   T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
>   T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
> -F:	drivers/gpu/drm/i2c/tda998x_drv.c
> +F:	drivers/gpu/drm/bridge/tda/tda998x_drv.c

I'd rather move the entry it to drm-misc in the same move, I don't think
we want externally maintained bridge drivers mixed in the other bridges.

Russell, so you agree ?

Apart that:

Acked-by: Neil Armstrong <neil.armstrong@linaro.org>

Neil

>   F:	include/dt-bindings/display/tda998x.h
>   K:	"nxp,tda998x"
>   
> diff --git a/drivers/gpu/drm/arm/Kconfig b/drivers/gpu/drm/arm/Kconfig
> index c901ac00c0c3a8f356bd53d97305c6b39b3e6662..ed3ed617c6884876368c8bd072c53f1b710df443 100644
> --- a/drivers/gpu/drm/arm/Kconfig
> +++ b/drivers/gpu/drm/arm/Kconfig
> @@ -9,6 +9,7 @@ config DRM_HDLCD
>   	select DRM_CLIENT_SELECTION
>   	select DRM_KMS_HELPER
>   	select DRM_GEM_DMA_HELPER
> +	select DRM_BRIDGE # for TDA998x
>   	help
>   	  Choose this option if you have an ARM High Definition Colour LCD
>   	  controller.
> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> index 6b4664d91faa80f096ac6a0548ed342e802ae68b..1ef16dcc2ae53eb172604de2d6899004c080a979 100644
> --- a/drivers/gpu/drm/bridge/Kconfig
> +++ b/drivers/gpu/drm/bridge/Kconfig
> @@ -438,4 +438,6 @@ source "drivers/gpu/drm/bridge/imx/Kconfig"
>   
>   source "drivers/gpu/drm/bridge/synopsys/Kconfig"
>   
> +source "drivers/gpu/drm/bridge/tda/Kconfig"
> +
>   endmenu
> diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile
> index 97304b429a530c108dcbff906965cda091b0a7a2..52e6c9b3094bba0fd6aaf28af1b58f4bd8bf26d0 100644
> --- a/drivers/gpu/drm/bridge/Makefile
> +++ b/drivers/gpu/drm/bridge/Makefile
> @@ -43,3 +43,4 @@ obj-y += analogix/
>   obj-y += cadence/
>   obj-y += imx/
>   obj-y += synopsys/
> +obj-y += tda/
> diff --git a/drivers/gpu/drm/bridge/tda/Kconfig b/drivers/gpu/drm/bridge/tda/Kconfig
> new file mode 100644
> index 0000000000000000000000000000000000000000..5f13e4ffc24eeaa8dd0015c7e84d0dbac93e170c
> --- /dev/null
> +++ b/drivers/gpu/drm/bridge/tda/Kconfig
> @@ -0,0 +1,13 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +config DRM_I2C_NXP_TDA998X
> +	tristate "NXP Semiconductors TDA998X HDMI encoder"
> +	default m if DRM_TILCDC
> +	select CEC_CORE if CEC_NOTIFIER
> +	select SND_SOC_HDMI_CODEC if SND_SOC
> +	help
> +	  Support for NXP Semiconductors TDA998X HDMI encoders.
> +
> +config DRM_I2C_NXP_TDA9950
> +	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
> +	select CEC_NOTIFIER
> +	select CEC_CORE
> diff --git a/drivers/gpu/drm/bridge/tda/Makefile b/drivers/gpu/drm/bridge/tda/Makefile
> new file mode 100644
> index 0000000000000000000000000000000000000000..31fd35527d99d7eb23851d290175a3ff0c756772
> --- /dev/null
> +++ b/drivers/gpu/drm/bridge/tda/Makefile
> @@ -0,0 +1,4 @@
> +# SPDX-License-Identifier: GPL-2.0
> +tda998x-y := tda998x_drv.o
> +obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
> +obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o
> diff --git a/drivers/gpu/drm/i2c/tda9950.c b/drivers/gpu/drm/bridge/tda/tda9950.c
> similarity index 100%
> rename from drivers/gpu/drm/i2c/tda9950.c
> rename to drivers/gpu/drm/bridge/tda/tda9950.c
> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/bridge/tda/tda998x_drv.c
> similarity index 100%
> rename from drivers/gpu/drm/i2c/tda998x_drv.c
> rename to drivers/gpu/drm/bridge/tda/tda998x_drv.c
> diff --git a/drivers/gpu/drm/i2c/Kconfig b/drivers/gpu/drm/i2c/Kconfig
> index 6f19e1c35e30b0e595c1a60628a6b8cf313fcabc..3205cdb827b95209a4bba9fb126ad2df27ddbdfb 100644
> --- a/drivers/gpu/drm/i2c/Kconfig
> +++ b/drivers/gpu/drm/i2c/Kconfig
> @@ -20,17 +20,4 @@ config DRM_I2C_SIL164
>   	  when used in pairs) TMDS transmitters, used in some nVidia
>   	  video cards.
>   
> -config DRM_I2C_NXP_TDA998X
> -	tristate "NXP Semiconductors TDA998X HDMI encoder"
> -	default m if DRM_TILCDC
> -	select CEC_CORE if CEC_NOTIFIER
> -	select SND_SOC_HDMI_CODEC if SND_SOC
> -	help
> -	  Support for NXP Semiconductors TDA998X HDMI encoders.
> -
> -config DRM_I2C_NXP_TDA9950
> -	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
> -	select CEC_NOTIFIER
> -	select CEC_CORE
> -
>   endmenu
> diff --git a/drivers/gpu/drm/i2c/Makefile b/drivers/gpu/drm/i2c/Makefile
> index a962f6f085686674ed33010345730db776815ebe..1df3869491e277ca210368c4e48efe6d11af62b6 100644
> --- a/drivers/gpu/drm/i2c/Makefile
> +++ b/drivers/gpu/drm/i2c/Makefile
> @@ -4,7 +4,3 @@ obj-$(CONFIG_DRM_I2C_CH7006) += ch7006.o
>   
>   sil164-y := sil164_drv.o
>   obj-$(CONFIG_DRM_I2C_SIL164) += sil164.o
> -
> -tda998x-y := tda998x_drv.o
> -obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
> -obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o
> 


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

* Re: [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge
  2024-12-15 11:09 ` [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge Dmitry Baryshkov
  2024-12-15 12:38   ` Laurent Pinchart
  2024-12-18 10:22   ` Neil Armstrong
@ 2024-12-19 19:57   ` Liviu Dudau
  2 siblings, 0 replies; 12+ messages in thread
From: Liviu Dudau @ 2024-12-19 19:57 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Andrzej Hajda, Neil Armstrong, Robert Foss,
	Laurent Pinchart, Jonas Karlman, Jernej Skrabec, Russell King,
	linux-kernel, dri-devel

On Sun, Dec 15, 2024 at 01:09:08PM +0200, Dmitry Baryshkov wrote:
> TDA998x is the HDMI bridge driver, incorporating drm_connector and
> optional drm_encoder (created via the component bind API by the TICLDC
> and HDLCD drivers). Thus it should be residing together with the other
> DRM bridge drivers under drivers/gpu/drm/bridge/.
> 
> TDA9950 is an I2C-CEC translator, being present on-die on the TDA9989
> and TDA19989 chips, so it is being instantiated by the TDA998x driver.
> Move it together with the TDA998x under bridge drivers subdir.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  MAINTAINERS                                       |  2 +-
>  drivers/gpu/drm/arm/Kconfig                       |  1 +
>  drivers/gpu/drm/bridge/Kconfig                    |  2 ++
>  drivers/gpu/drm/bridge/Makefile                   |  1 +
>  drivers/gpu/drm/bridge/tda/Kconfig                | 13 +++++++++++++
>  drivers/gpu/drm/bridge/tda/Makefile               |  4 ++++
>  drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
>  drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c |  0
>  drivers/gpu/drm/i2c/Kconfig                       | 13 -------------
>  drivers/gpu/drm/i2c/Makefile                      |  4 ----
>  10 files changed, 22 insertions(+), 18 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 9a23e80abf309cbd918a74683895f8dbe0507a6e..a4c7afd564e721e14aebaf828b75776e50760a45 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -16982,7 +16982,7 @@ M:	Russell King <linux@armlinux.org.uk>
>  S:	Maintained
>  T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
>  T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
> -F:	drivers/gpu/drm/i2c/tda998x_drv.c
> +F:	drivers/gpu/drm/bridge/tda/tda998x_drv.c
>  F:	include/dt-bindings/display/tda998x.h
>  K:	"nxp,tda998x"
>  
> diff --git a/drivers/gpu/drm/arm/Kconfig b/drivers/gpu/drm/arm/Kconfig
> index c901ac00c0c3a8f356bd53d97305c6b39b3e6662..ed3ed617c6884876368c8bd072c53f1b710df443 100644
> --- a/drivers/gpu/drm/arm/Kconfig
> +++ b/drivers/gpu/drm/arm/Kconfig
> @@ -9,6 +9,7 @@ config DRM_HDLCD
>  	select DRM_CLIENT_SELECTION
>  	select DRM_KMS_HELPER
>  	select DRM_GEM_DMA_HELPER
> +	select DRM_BRIDGE # for TDA998x
>  	help
>  	  Choose this option if you have an ARM High Definition Colour LCD
>  	  controller.

For the above change:

Acked-by: Liviu Dudau <liviu.dudau@arm.com>

Best regards,
Liviu

> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> index 6b4664d91faa80f096ac6a0548ed342e802ae68b..1ef16dcc2ae53eb172604de2d6899004c080a979 100644
> --- a/drivers/gpu/drm/bridge/Kconfig
> +++ b/drivers/gpu/drm/bridge/Kconfig
> @@ -438,4 +438,6 @@ source "drivers/gpu/drm/bridge/imx/Kconfig"
>  
>  source "drivers/gpu/drm/bridge/synopsys/Kconfig"
>  
> +source "drivers/gpu/drm/bridge/tda/Kconfig"
> +
>  endmenu
> diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile
> index 97304b429a530c108dcbff906965cda091b0a7a2..52e6c9b3094bba0fd6aaf28af1b58f4bd8bf26d0 100644
> --- a/drivers/gpu/drm/bridge/Makefile
> +++ b/drivers/gpu/drm/bridge/Makefile
> @@ -43,3 +43,4 @@ obj-y += analogix/
>  obj-y += cadence/
>  obj-y += imx/
>  obj-y += synopsys/
> +obj-y += tda/
> diff --git a/drivers/gpu/drm/bridge/tda/Kconfig b/drivers/gpu/drm/bridge/tda/Kconfig
> new file mode 100644
> index 0000000000000000000000000000000000000000..5f13e4ffc24eeaa8dd0015c7e84d0dbac93e170c
> --- /dev/null
> +++ b/drivers/gpu/drm/bridge/tda/Kconfig
> @@ -0,0 +1,13 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +config DRM_I2C_NXP_TDA998X
> +	tristate "NXP Semiconductors TDA998X HDMI encoder"
> +	default m if DRM_TILCDC
> +	select CEC_CORE if CEC_NOTIFIER
> +	select SND_SOC_HDMI_CODEC if SND_SOC
> +	help
> +	  Support for NXP Semiconductors TDA998X HDMI encoders.
> +
> +config DRM_I2C_NXP_TDA9950
> +	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
> +	select CEC_NOTIFIER
> +	select CEC_CORE
> diff --git a/drivers/gpu/drm/bridge/tda/Makefile b/drivers/gpu/drm/bridge/tda/Makefile
> new file mode 100644
> index 0000000000000000000000000000000000000000..31fd35527d99d7eb23851d290175a3ff0c756772
> --- /dev/null
> +++ b/drivers/gpu/drm/bridge/tda/Makefile
> @@ -0,0 +1,4 @@
> +# SPDX-License-Identifier: GPL-2.0
> +tda998x-y := tda998x_drv.o
> +obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
> +obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o
> diff --git a/drivers/gpu/drm/i2c/tda9950.c b/drivers/gpu/drm/bridge/tda/tda9950.c
> similarity index 100%
> rename from drivers/gpu/drm/i2c/tda9950.c
> rename to drivers/gpu/drm/bridge/tda/tda9950.c
> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/bridge/tda/tda998x_drv.c
> similarity index 100%
> rename from drivers/gpu/drm/i2c/tda998x_drv.c
> rename to drivers/gpu/drm/bridge/tda/tda998x_drv.c
> diff --git a/drivers/gpu/drm/i2c/Kconfig b/drivers/gpu/drm/i2c/Kconfig
> index 6f19e1c35e30b0e595c1a60628a6b8cf313fcabc..3205cdb827b95209a4bba9fb126ad2df27ddbdfb 100644
> --- a/drivers/gpu/drm/i2c/Kconfig
> +++ b/drivers/gpu/drm/i2c/Kconfig
> @@ -20,17 +20,4 @@ config DRM_I2C_SIL164
>  	  when used in pairs) TMDS transmitters, used in some nVidia
>  	  video cards.
>  
> -config DRM_I2C_NXP_TDA998X
> -	tristate "NXP Semiconductors TDA998X HDMI encoder"
> -	default m if DRM_TILCDC
> -	select CEC_CORE if CEC_NOTIFIER
> -	select SND_SOC_HDMI_CODEC if SND_SOC
> -	help
> -	  Support for NXP Semiconductors TDA998X HDMI encoders.
> -
> -config DRM_I2C_NXP_TDA9950
> -	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
> -	select CEC_NOTIFIER
> -	select CEC_CORE
> -
>  endmenu
> diff --git a/drivers/gpu/drm/i2c/Makefile b/drivers/gpu/drm/i2c/Makefile
> index a962f6f085686674ed33010345730db776815ebe..1df3869491e277ca210368c4e48efe6d11af62b6 100644
> --- a/drivers/gpu/drm/i2c/Makefile
> +++ b/drivers/gpu/drm/i2c/Makefile
> @@ -4,7 +4,3 @@ obj-$(CONFIG_DRM_I2C_CH7006) += ch7006.o
>  
>  sil164-y := sil164_drv.o
>  obj-$(CONFIG_DRM_I2C_SIL164) += sil164.o
> -
> -tda998x-y := tda998x_drv.o
> -obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
> -obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o
> 
> -- 
> 2.39.5
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯

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

* Re: [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge
  2024-12-18 10:22   ` Neil Armstrong
@ 2025-01-05 22:48     ` Dmitry Baryshkov
  0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2025-01-05 22:48 UTC (permalink / raw)
  To: Neil Armstrong
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Robert Foss,
	Laurent Pinchart, Jonas Karlman, Jernej Skrabec, Russell King,
	linux-kernel, dri-devel

On Wed, Dec 18, 2024 at 11:22:51AM +0100, Neil Armstrong wrote:
> On 15/12/2024 12:09, Dmitry Baryshkov wrote:
> > TDA998x is the HDMI bridge driver, incorporating drm_connector and
> > optional drm_encoder (created via the component bind API by the TICLDC
> > and HDLCD drivers). Thus it should be residing together with the other
> > DRM bridge drivers under drivers/gpu/drm/bridge/.
> > 
> > TDA9950 is an I2C-CEC translator, being present on-die on the TDA9989
> > and TDA19989 chips, so it is being instantiated by the TDA998x driver.
> > Move it together with the TDA998x under bridge drivers subdir.
> > 
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >   MAINTAINERS                                       |  2 +-
> >   drivers/gpu/drm/arm/Kconfig                       |  1 +
> >   drivers/gpu/drm/bridge/Kconfig                    |  2 ++
> >   drivers/gpu/drm/bridge/Makefile                   |  1 +
> >   drivers/gpu/drm/bridge/tda/Kconfig                | 13 +++++++++++++
> >   drivers/gpu/drm/bridge/tda/Makefile               |  4 ++++
> >   drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
> >   drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c |  0
> >   drivers/gpu/drm/i2c/Kconfig                       | 13 -------------
> >   drivers/gpu/drm/i2c/Makefile                      |  4 ----
> >   10 files changed, 22 insertions(+), 18 deletions(-)
> > 
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 9a23e80abf309cbd918a74683895f8dbe0507a6e..a4c7afd564e721e14aebaf828b75776e50760a45 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -16982,7 +16982,7 @@ M:	Russell King <linux@armlinux.org.uk>
> >   S:	Maintained
> >   T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
> >   T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
> > -F:	drivers/gpu/drm/i2c/tda998x_drv.c
> > +F:	drivers/gpu/drm/bridge/tda/tda998x_drv.c
> 
> I'd rather move the entry it to drm-misc in the same move, I don't think
> we want externally maintained bridge drivers mixed in the other bridges.
> 
> Russell, so you agree ?

Russell, as you are listed as a maintainer, any feedback for the patches
and for the Neil's proposal?

> 
> Apart that:
> 
> Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
> 
> Neil
> 
> >   F:	include/dt-bindings/display/tda998x.h
> >   K:	"nxp,tda998x"
> > diff --git a/drivers/gpu/drm/arm/Kconfig b/drivers/gpu/drm/arm/Kconfig
> > index c901ac00c0c3a8f356bd53d97305c6b39b3e6662..ed3ed617c6884876368c8bd072c53f1b710df443 100644
> > --- a/drivers/gpu/drm/arm/Kconfig
> > +++ b/drivers/gpu/drm/arm/Kconfig
> > @@ -9,6 +9,7 @@ config DRM_HDLCD
> >   	select DRM_CLIENT_SELECTION
> >   	select DRM_KMS_HELPER
> >   	select DRM_GEM_DMA_HELPER
> > +	select DRM_BRIDGE # for TDA998x
> >   	help
> >   	  Choose this option if you have an ARM High Definition Colour LCD
> >   	  controller.
> > diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> > index 6b4664d91faa80f096ac6a0548ed342e802ae68b..1ef16dcc2ae53eb172604de2d6899004c080a979 100644
> > --- a/drivers/gpu/drm/bridge/Kconfig
> > +++ b/drivers/gpu/drm/bridge/Kconfig
> > @@ -438,4 +438,6 @@ source "drivers/gpu/drm/bridge/imx/Kconfig"
> >   source "drivers/gpu/drm/bridge/synopsys/Kconfig"
> > +source "drivers/gpu/drm/bridge/tda/Kconfig"
> > +
> >   endmenu
> > diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile
> > index 97304b429a530c108dcbff906965cda091b0a7a2..52e6c9b3094bba0fd6aaf28af1b58f4bd8bf26d0 100644
> > --- a/drivers/gpu/drm/bridge/Makefile
> > +++ b/drivers/gpu/drm/bridge/Makefile
> > @@ -43,3 +43,4 @@ obj-y += analogix/
> >   obj-y += cadence/
> >   obj-y += imx/
> >   obj-y += synopsys/
> > +obj-y += tda/
> > diff --git a/drivers/gpu/drm/bridge/tda/Kconfig b/drivers/gpu/drm/bridge/tda/Kconfig
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..5f13e4ffc24eeaa8dd0015c7e84d0dbac93e170c
> > --- /dev/null
> > +++ b/drivers/gpu/drm/bridge/tda/Kconfig
> > @@ -0,0 +1,13 @@
> > +# SPDX-License-Identifier: GPL-2.0-only
> > +config DRM_I2C_NXP_TDA998X
> > +	tristate "NXP Semiconductors TDA998X HDMI encoder"
> > +	default m if DRM_TILCDC
> > +	select CEC_CORE if CEC_NOTIFIER
> > +	select SND_SOC_HDMI_CODEC if SND_SOC
> > +	help
> > +	  Support for NXP Semiconductors TDA998X HDMI encoders.
> > +
> > +config DRM_I2C_NXP_TDA9950
> > +	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
> > +	select CEC_NOTIFIER
> > +	select CEC_CORE
> > diff --git a/drivers/gpu/drm/bridge/tda/Makefile b/drivers/gpu/drm/bridge/tda/Makefile
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..31fd35527d99d7eb23851d290175a3ff0c756772
> > --- /dev/null
> > +++ b/drivers/gpu/drm/bridge/tda/Makefile
> > @@ -0,0 +1,4 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +tda998x-y := tda998x_drv.o
> > +obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
> > +obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o
> > diff --git a/drivers/gpu/drm/i2c/tda9950.c b/drivers/gpu/drm/bridge/tda/tda9950.c
> > similarity index 100%
> > rename from drivers/gpu/drm/i2c/tda9950.c
> > rename to drivers/gpu/drm/bridge/tda/tda9950.c
> > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/bridge/tda/tda998x_drv.c
> > similarity index 100%
> > rename from drivers/gpu/drm/i2c/tda998x_drv.c
> > rename to drivers/gpu/drm/bridge/tda/tda998x_drv.c
> > diff --git a/drivers/gpu/drm/i2c/Kconfig b/drivers/gpu/drm/i2c/Kconfig
> > index 6f19e1c35e30b0e595c1a60628a6b8cf313fcabc..3205cdb827b95209a4bba9fb126ad2df27ddbdfb 100644
> > --- a/drivers/gpu/drm/i2c/Kconfig
> > +++ b/drivers/gpu/drm/i2c/Kconfig
> > @@ -20,17 +20,4 @@ config DRM_I2C_SIL164
> >   	  when used in pairs) TMDS transmitters, used in some nVidia
> >   	  video cards.
> > -config DRM_I2C_NXP_TDA998X
> > -	tristate "NXP Semiconductors TDA998X HDMI encoder"
> > -	default m if DRM_TILCDC
> > -	select CEC_CORE if CEC_NOTIFIER
> > -	select SND_SOC_HDMI_CODEC if SND_SOC
> > -	help
> > -	  Support for NXP Semiconductors TDA998X HDMI encoders.
> > -
> > -config DRM_I2C_NXP_TDA9950
> > -	tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC"
> > -	select CEC_NOTIFIER
> > -	select CEC_CORE
> > -
> >   endmenu
> > diff --git a/drivers/gpu/drm/i2c/Makefile b/drivers/gpu/drm/i2c/Makefile
> > index a962f6f085686674ed33010345730db776815ebe..1df3869491e277ca210368c4e48efe6d11af62b6 100644
> > --- a/drivers/gpu/drm/i2c/Makefile
> > +++ b/drivers/gpu/drm/i2c/Makefile
> > @@ -4,7 +4,3 @@ obj-$(CONFIG_DRM_I2C_CH7006) += ch7006.o
> >   sil164-y := sil164_drv.o
> >   obj-$(CONFIG_DRM_I2C_SIL164) += sil164.o
> > -
> > -tda998x-y := tda998x_drv.o
> > -obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o
> > -obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o
> > 
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge
  2024-12-15 12:38   ` Laurent Pinchart
  2024-12-15 13:12     ` Dmitry Baryshkov
@ 2025-01-05 22:52     ` Dmitry Baryshkov
  2025-01-05 23:20       ` Laurent Pinchart
  1 sibling, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2025-01-05 22:52 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Jonas Karlman, Jernej Skrabec, Russell King,
	linux-kernel, dri-devel

On Sun, Dec 15, 2024 at 02:38:05PM +0200, Laurent Pinchart wrote:
> Hi Dmitry,
> 
> Thank you for the patch.
> 
> On Sun, Dec 15, 2024 at 01:09:08PM +0200, Dmitry Baryshkov wrote:
> > TDA998x is the HDMI bridge driver, incorporating drm_connector and
> > optional drm_encoder (created via the component bind API by the TICLDC
> > and HDLCD drivers). Thus it should be residing together with the other
> > DRM bridge drivers under drivers/gpu/drm/bridge/.
> > 
> > TDA9950 is an I2C-CEC translator, being present on-die on the TDA9989
> > and TDA19989 chips, so it is being instantiated by the TDA998x driver.
> > Move it together with the TDA998x under bridge drivers subdir.
> > 
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >  MAINTAINERS                                       |  2 +-
> >  drivers/gpu/drm/arm/Kconfig                       |  1 +
> >  drivers/gpu/drm/bridge/Kconfig                    |  2 ++
> >  drivers/gpu/drm/bridge/Makefile                   |  1 +
> >  drivers/gpu/drm/bridge/tda/Kconfig                | 13 +++++++++++++
> >  drivers/gpu/drm/bridge/tda/Makefile               |  4 ++++
> >  drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
> >  drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c |  0
> 
> I probably wouldn't have created a tda/ subdirectory in bridge/, but I
> don't mind much either way.

A possibly better option is to move tsa9950.c to drivers/media/cec/i2c/
next to ch7332 CEC driver. WDYT?

If I don't get any response from Russell within the next few days, I
think I'll post v2 performing these two moves: tda9950 to
drivers/media/cec/i2c and tda998x to drivers/gpu/drm/bridge without the
tda/ subdir.

> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge
  2025-01-05 22:52     ` Dmitry Baryshkov
@ 2025-01-05 23:20       ` Laurent Pinchart
  2025-01-06  8:42         ` Hans Verkuil
  0 siblings, 1 reply; 12+ messages in thread
From: Laurent Pinchart @ 2025-01-05 23:20 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Jonas Karlman, Jernej Skrabec, Russell King,
	linux-kernel, dri-devel, Hans Verkuil

(CC'ing Hans Verkuil)

On Mon, Jan 06, 2025 at 12:52:55AM +0200, Dmitry Baryshkov wrote:
> On Sun, Dec 15, 2024 at 02:38:05PM +0200, Laurent Pinchart wrote:
> > Hi Dmitry,
> > 
> > Thank you for the patch.
> > 
> > On Sun, Dec 15, 2024 at 01:09:08PM +0200, Dmitry Baryshkov wrote:
> > > TDA998x is the HDMI bridge driver, incorporating drm_connector and
> > > optional drm_encoder (created via the component bind API by the TICLDC
> > > and HDLCD drivers). Thus it should be residing together with the other
> > > DRM bridge drivers under drivers/gpu/drm/bridge/.
> > > 
> > > TDA9950 is an I2C-CEC translator, being present on-die on the TDA9989
> > > and TDA19989 chips, so it is being instantiated by the TDA998x driver.
> > > Move it together with the TDA998x under bridge drivers subdir.
> > > 
> > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > > ---
> > >  MAINTAINERS                                       |  2 +-
> > >  drivers/gpu/drm/arm/Kconfig                       |  1 +
> > >  drivers/gpu/drm/bridge/Kconfig                    |  2 ++
> > >  drivers/gpu/drm/bridge/Makefile                   |  1 +
> > >  drivers/gpu/drm/bridge/tda/Kconfig                | 13 +++++++++++++
> > >  drivers/gpu/drm/bridge/tda/Makefile               |  4 ++++
> > >  drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
> > >  drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c |  0
> > 
> > I probably wouldn't have created a tda/ subdirectory in bridge/, but I
> > don't mind much either way.
> 
> A possibly better option is to move tsa9950.c to drivers/media/cec/i2c/
> next to ch7332 CEC driver. WDYT?

I think that's a question for Hans. I don't mind much either way.

> If I don't get any response from Russell within the next few days, I
> think I'll post v2 performing these two moves: tda9950 to
> drivers/media/cec/i2c and tda998x to drivers/gpu/drm/bridge without the
> tda/ subdir.
> 
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

-- 
Regards,

Laurent Pinchart

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

* Re: [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge
  2025-01-05 23:20       ` Laurent Pinchart
@ 2025-01-06  8:42         ` Hans Verkuil
  0 siblings, 0 replies; 12+ messages in thread
From: Hans Verkuil @ 2025-01-06  8:42 UTC (permalink / raw)
  To: Laurent Pinchart, Dmitry Baryshkov
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Liviu Dudau, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Jonas Karlman, Jernej Skrabec, Russell King,
	linux-kernel, dri-devel

On 06/01/2025 00:20, Laurent Pinchart wrote:
> (CC'ing Hans Verkuil)
> 
> On Mon, Jan 06, 2025 at 12:52:55AM +0200, Dmitry Baryshkov wrote:
>> On Sun, Dec 15, 2024 at 02:38:05PM +0200, Laurent Pinchart wrote:
>>> Hi Dmitry,
>>>
>>> Thank you for the patch.
>>>
>>> On Sun, Dec 15, 2024 at 01:09:08PM +0200, Dmitry Baryshkov wrote:
>>>> TDA998x is the HDMI bridge driver, incorporating drm_connector and
>>>> optional drm_encoder (created via the component bind API by the TICLDC
>>>> and HDLCD drivers). Thus it should be residing together with the other
>>>> DRM bridge drivers under drivers/gpu/drm/bridge/.
>>>>
>>>> TDA9950 is an I2C-CEC translator, being present on-die on the TDA9989
>>>> and TDA19989 chips, so it is being instantiated by the TDA998x driver.
>>>> Move it together with the TDA998x under bridge drivers subdir.
>>>>
>>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>>>> ---
>>>>  MAINTAINERS                                       |  2 +-
>>>>  drivers/gpu/drm/arm/Kconfig                       |  1 +
>>>>  drivers/gpu/drm/bridge/Kconfig                    |  2 ++
>>>>  drivers/gpu/drm/bridge/Makefile                   |  1 +
>>>>  drivers/gpu/drm/bridge/tda/Kconfig                | 13 +++++++++++++
>>>>  drivers/gpu/drm/bridge/tda/Makefile               |  4 ++++
>>>>  drivers/gpu/drm/{i2c => bridge/tda}/tda9950.c     |  0
>>>>  drivers/gpu/drm/{i2c => bridge/tda}/tda998x_drv.c |  0
>>>
>>> I probably wouldn't have created a tda/ subdirectory in bridge/, but I
>>> don't mind much either way.
>>
>> A possibly better option is to move tsa9950.c to drivers/media/cec/i2c/
>> next to ch7332 CEC driver. WDYT?
> 
> I think that's a question for Hans. I don't mind much either way.

I agree, moving it to media/cec/i2c makes sense.

Regards,

	Hans

> 
>> If I don't get any response from Russell within the next few days, I
>> think I'll post v2 performing these two moves: tda9950 to
>> drivers/media/cec/i2c and tda998x to drivers/gpu/drm/bridge without the
>> tda/ subdir.
>>
>>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 


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

end of thread, other threads:[~2025-01-06  8:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-15 11:09 [PATCH 0/2] drm/i2c: tda998x: move under drivers/gpu/drm/bridge Dmitry Baryshkov
2024-12-15 11:09 ` [PATCH 1/2] drm/i2c: tda998x: drop support for platform_data Dmitry Baryshkov
2024-12-15 12:35   ` Laurent Pinchart
2024-12-15 11:09 ` [PATCH 2/2] drm/i2c: move TDA drivers under drivers/gpu/drm/bridge Dmitry Baryshkov
2024-12-15 12:38   ` Laurent Pinchart
2024-12-15 13:12     ` Dmitry Baryshkov
2025-01-05 22:52     ` Dmitry Baryshkov
2025-01-05 23:20       ` Laurent Pinchart
2025-01-06  8:42         ` Hans Verkuil
2024-12-18 10:22   ` Neil Armstrong
2025-01-05 22:48     ` Dmitry Baryshkov
2024-12-19 19:57   ` Liviu Dudau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).