All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Bee <knaerzche@gmail.com>
To: "Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>, "Andy Yan" <andyshrk@163.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
	Alex Bee <knaerzche@gmail.com>
Subject: [PATCH v2 22/27] drm/rockchip: inno_hdmi: Add RK3128 support
Date: Sat, 16 Dec 2023 17:26:33 +0100	[thread overview]
Message-ID: <20231216162639.125215-23-knaerzche@gmail.com> (raw)
In-Reply-To: <20231216162639.125215-1-knaerzche@gmail.com>

This variant requires the phy reference clock to be enabled before the DDC
block can work and the (initial) DDC bus frequency is calculated based on
the rate of this clock. Besides the only difference is phy configuration
required to make the driver working for this variant as well.

Signed-off-by: Alex Bee <knaerzche@gmail.com>
---
changes in v2:
 - no changes

 drivers/gpu/drm/rockchip/inno_hdmi.c | 46 +++++++++++++++++++++++++---
 1 file changed, 41 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 579baba6a61b..792e5fad09bf 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -51,6 +51,7 @@ struct inno_hdmi {
 	struct device *dev;
 
 	struct clk *pclk;
+	struct clk *refclk;
 	void __iomem *regs;
 
 	struct drm_connector	connector;
@@ -133,6 +134,12 @@ static struct inno_hdmi_phy_config rk3036_hdmi_phy_configs[] = {
 	{      ~0UL, 0x00, 0x00 }
 };
 
+static struct inno_hdmi_phy_config rk3128_hdmi_phy_configs[] = {
+	{  74250000, 0x3f, 0xaa },
+	{ 165000000, 0x5f, 0xaa },
+	{      ~0UL, 0x00, 0x00 }
+};
+
 static int inno_hdmi_find_phy_config(struct inno_hdmi *hdmi,
 				     unsigned long pixelclk)
 {
@@ -182,13 +189,17 @@ static unsigned long inno_hdmi_tmds_rate(struct inno_hdmi *hdmi)
 	}
 
 	/*
-	 * When IP controller haven't configured to an accurate video
-	 * timing, then the TMDS clock source would be switched to
-	 * PCLK_HDMI, so we need to init the TMDS rate to PCLK rate,
-	 * and reconfigure the DDC clock.
+	 * When IP controller isn't configured to an accurate
+	 * video timing and there is no reference clock available,
+	 * then the TMDS clock source would be switched to PCLK_HDMI,
+	 * so we need to init the TMDS rate to PCLK rate, and
+	 * reconfigure the DDC clock.
 	 */
 
-	return clk_get_rate(hdmi->pclk);
+	if (hdmi->refclk)
+		return clk_get_rate(hdmi->refclk);
+	else
+		return clk_get_rate(hdmi->pclk);
 }
 
 static void inno_hdmi_i2c_init(struct inno_hdmi *hdmi)
@@ -912,6 +923,20 @@ static int inno_hdmi_bind(struct device *dev, struct device *master,
 		return ret;
 	}
 
+	hdmi->refclk = devm_clk_get_optional(hdmi->dev, "ref");
+	if (IS_ERR(hdmi->refclk)) {
+		DRM_DEV_ERROR(hdmi->dev, "Unable to get HDMI reference clock\n");
+		ret = PTR_ERR(hdmi->refclk);
+		goto err_disable_pclk;
+	}
+
+	ret = clk_prepare_enable(hdmi->refclk);
+	if (ret) {
+		DRM_DEV_ERROR(hdmi->dev,
+			      "Cannot enable HDMI reference clock: %d\n", ret);
+		goto err_disable_pclk;
+	}
+
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
 		ret = irq;
@@ -951,6 +976,8 @@ static int inno_hdmi_bind(struct device *dev, struct device *master,
 err_put_adapter:
 	i2c_put_adapter(hdmi->ddc);
 err_disable_clk:
+	clk_disable_unprepare(hdmi->refclk);
+err_disable_pclk:
 	clk_disable_unprepare(hdmi->pclk);
 	return ret;
 }
@@ -964,6 +991,7 @@ static void inno_hdmi_unbind(struct device *dev, struct device *master,
 	hdmi->encoder.encoder.funcs->destroy(&hdmi->encoder.encoder);
 
 	i2c_put_adapter(hdmi->ddc);
+	clk_disable_unprepare(hdmi->refclk);
 	clk_disable_unprepare(hdmi->pclk);
 }
 
@@ -987,10 +1015,18 @@ static const struct inno_hdmi_variant rk3036_inno_hdmi_variant = {
 	.default_phy_config = &rk3036_hdmi_phy_configs[1],
 };
 
+static const struct inno_hdmi_variant rk3128_inno_hdmi_variant = {
+	.phy_configs = rk3128_hdmi_phy_configs,
+	.default_phy_config = &rk3128_hdmi_phy_configs[1],
+};
+
 static const struct of_device_id inno_hdmi_dt_ids[] = {
 	{ .compatible = "rockchip,rk3036-inno-hdmi",
 	  .data = &rk3036_inno_hdmi_variant,
 	},
+	{ .compatible = "rockchip,rk3128-inno-hdmi",
+	  .data = &rk3128_inno_hdmi_variant,
+	},
 	{},
 };
 MODULE_DEVICE_TABLE(of, inno_hdmi_dt_ids);
-- 
2.43.0


WARNING: multiple messages have this Message-ID (diff)
From: Alex Bee <knaerzche@gmail.com>
To: "Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>, "Andy Yan" <andyshrk@163.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
	Alex Bee <knaerzche@gmail.com>
Subject: [PATCH v2 22/27] drm/rockchip: inno_hdmi: Add RK3128 support
Date: Sat, 16 Dec 2023 17:26:33 +0100	[thread overview]
Message-ID: <20231216162639.125215-23-knaerzche@gmail.com> (raw)
In-Reply-To: <20231216162639.125215-1-knaerzche@gmail.com>

This variant requires the phy reference clock to be enabled before the DDC
block can work and the (initial) DDC bus frequency is calculated based on
the rate of this clock. Besides the only difference is phy configuration
required to make the driver working for this variant as well.

Signed-off-by: Alex Bee <knaerzche@gmail.com>
---
changes in v2:
 - no changes

 drivers/gpu/drm/rockchip/inno_hdmi.c | 46 +++++++++++++++++++++++++---
 1 file changed, 41 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 579baba6a61b..792e5fad09bf 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -51,6 +51,7 @@ struct inno_hdmi {
 	struct device *dev;
 
 	struct clk *pclk;
+	struct clk *refclk;
 	void __iomem *regs;
 
 	struct drm_connector	connector;
@@ -133,6 +134,12 @@ static struct inno_hdmi_phy_config rk3036_hdmi_phy_configs[] = {
 	{      ~0UL, 0x00, 0x00 }
 };
 
+static struct inno_hdmi_phy_config rk3128_hdmi_phy_configs[] = {
+	{  74250000, 0x3f, 0xaa },
+	{ 165000000, 0x5f, 0xaa },
+	{      ~0UL, 0x00, 0x00 }
+};
+
 static int inno_hdmi_find_phy_config(struct inno_hdmi *hdmi,
 				     unsigned long pixelclk)
 {
@@ -182,13 +189,17 @@ static unsigned long inno_hdmi_tmds_rate(struct inno_hdmi *hdmi)
 	}
 
 	/*
-	 * When IP controller haven't configured to an accurate video
-	 * timing, then the TMDS clock source would be switched to
-	 * PCLK_HDMI, so we need to init the TMDS rate to PCLK rate,
-	 * and reconfigure the DDC clock.
+	 * When IP controller isn't configured to an accurate
+	 * video timing and there is no reference clock available,
+	 * then the TMDS clock source would be switched to PCLK_HDMI,
+	 * so we need to init the TMDS rate to PCLK rate, and
+	 * reconfigure the DDC clock.
 	 */
 
-	return clk_get_rate(hdmi->pclk);
+	if (hdmi->refclk)
+		return clk_get_rate(hdmi->refclk);
+	else
+		return clk_get_rate(hdmi->pclk);
 }
 
 static void inno_hdmi_i2c_init(struct inno_hdmi *hdmi)
@@ -912,6 +923,20 @@ static int inno_hdmi_bind(struct device *dev, struct device *master,
 		return ret;
 	}
 
+	hdmi->refclk = devm_clk_get_optional(hdmi->dev, "ref");
+	if (IS_ERR(hdmi->refclk)) {
+		DRM_DEV_ERROR(hdmi->dev, "Unable to get HDMI reference clock\n");
+		ret = PTR_ERR(hdmi->refclk);
+		goto err_disable_pclk;
+	}
+
+	ret = clk_prepare_enable(hdmi->refclk);
+	if (ret) {
+		DRM_DEV_ERROR(hdmi->dev,
+			      "Cannot enable HDMI reference clock: %d\n", ret);
+		goto err_disable_pclk;
+	}
+
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
 		ret = irq;
@@ -951,6 +976,8 @@ static int inno_hdmi_bind(struct device *dev, struct device *master,
 err_put_adapter:
 	i2c_put_adapter(hdmi->ddc);
 err_disable_clk:
+	clk_disable_unprepare(hdmi->refclk);
+err_disable_pclk:
 	clk_disable_unprepare(hdmi->pclk);
 	return ret;
 }
@@ -964,6 +991,7 @@ static void inno_hdmi_unbind(struct device *dev, struct device *master,
 	hdmi->encoder.encoder.funcs->destroy(&hdmi->encoder.encoder);
 
 	i2c_put_adapter(hdmi->ddc);
+	clk_disable_unprepare(hdmi->refclk);
 	clk_disable_unprepare(hdmi->pclk);
 }
 
@@ -987,10 +1015,18 @@ static const struct inno_hdmi_variant rk3036_inno_hdmi_variant = {
 	.default_phy_config = &rk3036_hdmi_phy_configs[1],
 };
 
+static const struct inno_hdmi_variant rk3128_inno_hdmi_variant = {
+	.phy_configs = rk3128_hdmi_phy_configs,
+	.default_phy_config = &rk3128_hdmi_phy_configs[1],
+};
+
 static const struct of_device_id inno_hdmi_dt_ids[] = {
 	{ .compatible = "rockchip,rk3036-inno-hdmi",
 	  .data = &rk3036_inno_hdmi_variant,
 	},
+	{ .compatible = "rockchip,rk3128-inno-hdmi",
+	  .data = &rk3128_inno_hdmi_variant,
+	},
 	{},
 };
 MODULE_DEVICE_TABLE(of, inno_hdmi_dt_ids);
-- 
2.43.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

WARNING: multiple messages have this Message-ID (diff)
From: Alex Bee <knaerzche@gmail.com>
To: "Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>, "Andy Yan" <andyshrk@163.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
	Alex Bee <knaerzche@gmail.com>
Subject: [PATCH v2 22/27] drm/rockchip: inno_hdmi: Add RK3128 support
Date: Sat, 16 Dec 2023 17:26:33 +0100	[thread overview]
Message-ID: <20231216162639.125215-23-knaerzche@gmail.com> (raw)
In-Reply-To: <20231216162639.125215-1-knaerzche@gmail.com>

This variant requires the phy reference clock to be enabled before the DDC
block can work and the (initial) DDC bus frequency is calculated based on
the rate of this clock. Besides the only difference is phy configuration
required to make the driver working for this variant as well.

Signed-off-by: Alex Bee <knaerzche@gmail.com>
---
changes in v2:
 - no changes

 drivers/gpu/drm/rockchip/inno_hdmi.c | 46 +++++++++++++++++++++++++---
 1 file changed, 41 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 579baba6a61b..792e5fad09bf 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -51,6 +51,7 @@ struct inno_hdmi {
 	struct device *dev;
 
 	struct clk *pclk;
+	struct clk *refclk;
 	void __iomem *regs;
 
 	struct drm_connector	connector;
@@ -133,6 +134,12 @@ static struct inno_hdmi_phy_config rk3036_hdmi_phy_configs[] = {
 	{      ~0UL, 0x00, 0x00 }
 };
 
+static struct inno_hdmi_phy_config rk3128_hdmi_phy_configs[] = {
+	{  74250000, 0x3f, 0xaa },
+	{ 165000000, 0x5f, 0xaa },
+	{      ~0UL, 0x00, 0x00 }
+};
+
 static int inno_hdmi_find_phy_config(struct inno_hdmi *hdmi,
 				     unsigned long pixelclk)
 {
@@ -182,13 +189,17 @@ static unsigned long inno_hdmi_tmds_rate(struct inno_hdmi *hdmi)
 	}
 
 	/*
-	 * When IP controller haven't configured to an accurate video
-	 * timing, then the TMDS clock source would be switched to
-	 * PCLK_HDMI, so we need to init the TMDS rate to PCLK rate,
-	 * and reconfigure the DDC clock.
+	 * When IP controller isn't configured to an accurate
+	 * video timing and there is no reference clock available,
+	 * then the TMDS clock source would be switched to PCLK_HDMI,
+	 * so we need to init the TMDS rate to PCLK rate, and
+	 * reconfigure the DDC clock.
 	 */
 
-	return clk_get_rate(hdmi->pclk);
+	if (hdmi->refclk)
+		return clk_get_rate(hdmi->refclk);
+	else
+		return clk_get_rate(hdmi->pclk);
 }
 
 static void inno_hdmi_i2c_init(struct inno_hdmi *hdmi)
@@ -912,6 +923,20 @@ static int inno_hdmi_bind(struct device *dev, struct device *master,
 		return ret;
 	}
 
+	hdmi->refclk = devm_clk_get_optional(hdmi->dev, "ref");
+	if (IS_ERR(hdmi->refclk)) {
+		DRM_DEV_ERROR(hdmi->dev, "Unable to get HDMI reference clock\n");
+		ret = PTR_ERR(hdmi->refclk);
+		goto err_disable_pclk;
+	}
+
+	ret = clk_prepare_enable(hdmi->refclk);
+	if (ret) {
+		DRM_DEV_ERROR(hdmi->dev,
+			      "Cannot enable HDMI reference clock: %d\n", ret);
+		goto err_disable_pclk;
+	}
+
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
 		ret = irq;
@@ -951,6 +976,8 @@ static int inno_hdmi_bind(struct device *dev, struct device *master,
 err_put_adapter:
 	i2c_put_adapter(hdmi->ddc);
 err_disable_clk:
+	clk_disable_unprepare(hdmi->refclk);
+err_disable_pclk:
 	clk_disable_unprepare(hdmi->pclk);
 	return ret;
 }
@@ -964,6 +991,7 @@ static void inno_hdmi_unbind(struct device *dev, struct device *master,
 	hdmi->encoder.encoder.funcs->destroy(&hdmi->encoder.encoder);
 
 	i2c_put_adapter(hdmi->ddc);
+	clk_disable_unprepare(hdmi->refclk);
 	clk_disable_unprepare(hdmi->pclk);
 }
 
@@ -987,10 +1015,18 @@ static const struct inno_hdmi_variant rk3036_inno_hdmi_variant = {
 	.default_phy_config = &rk3036_hdmi_phy_configs[1],
 };
 
+static const struct inno_hdmi_variant rk3128_inno_hdmi_variant = {
+	.phy_configs = rk3128_hdmi_phy_configs,
+	.default_phy_config = &rk3128_hdmi_phy_configs[1],
+};
+
 static const struct of_device_id inno_hdmi_dt_ids[] = {
 	{ .compatible = "rockchip,rk3036-inno-hdmi",
 	  .data = &rk3036_inno_hdmi_variant,
 	},
+	{ .compatible = "rockchip,rk3128-inno-hdmi",
+	  .data = &rk3128_inno_hdmi_variant,
+	},
 	{},
 };
 MODULE_DEVICE_TABLE(of, inno_hdmi_dt_ids);
-- 
2.43.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2023-12-16 16:27 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-16 16:26 [PATCH v2 00/27] Add HDMI support for RK3128 Alex Bee
2023-12-16 16:26 ` Alex Bee
2023-12-16 16:26 ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 01/27] dt-bindings: display: rockchip,inno-hdmi: Document RK3128 compatible Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-17 21:00   ` Conor Dooley
2023-12-17 21:00     ` Conor Dooley
2023-12-17 21:00     ` Conor Dooley
2023-12-16 16:26 ` [PATCH v2 02/27] drm/rockchip: vop: Add output selection registers for RK312x Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 03/27] drm/rockchip: inno_hdmi: Fix video timing Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 04/27] drm/rockchip: inno_hdmi: Remove useless mode_fixup Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-18  8:38   ` Maxime Ripard
2023-12-18  8:38     ` Maxime Ripard
2023-12-18  8:38     ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 05/27] drm/rockchip: inno_hdmi: Remove useless copy of drm_display_mode Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 06/27] drm/rockchip: inno_hdmi: Switch encoder hooks to atomic Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 07/27] drm/rockchip: inno_hdmi: Get rid of mode_set Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 08/27] drm/rockchip: inno_hdmi: no need to store vic Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 09/27] drm/rockchip: inno_hdmi: Remove unneeded has audio flag Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 10/27] drm/rockchip: inno_hdmi: Remove useless input format Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 11/27] drm/rockchip: inno_hdmi: Remove YUV-based csc coefficents Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 12/27] drm/rockchip: inno_hdmi: Drop HDMI Vendor Infoframe support Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 13/27] drm/rockchip: inno_hdmi: Move infoframe disable to separate function Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 14/27] drm/rockchip: inno_hdmi: Switch to infoframe type Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 15/27] drm/rockchip: inno_hdmi: Remove unused drm device pointer Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 16/27] drm/rockchip: inno_hdmi: Drop irq struct member Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-18  9:00   ` Maxime Ripard
2023-12-18  9:00     ` Maxime Ripard
2023-12-18  9:00     ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 17/27] drm/rockchip: inno_hdmi: Remove useless include Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-18  9:00   ` Maxime Ripard
2023-12-18  9:00     ` Maxime Ripard
2023-12-18  9:00     ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 18/27] drm/rockchip: inno_hdmi: Subclass connector state Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-18  9:02   ` Maxime Ripard
2023-12-18  9:02     ` Maxime Ripard
2023-12-18  9:02     ` Maxime Ripard
2023-12-18 12:32     ` Alex Bee
2023-12-18 12:32       ` Alex Bee
2023-12-18 12:32       ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 19/27] drm/rockchip: inno_hdmi: Move tmds rate to connector state subclass Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-18 10:06   ` Maxime Ripard
2023-12-18 10:06     ` Maxime Ripard
2023-12-18 10:06     ` Maxime Ripard
2023-12-18 12:49     ` Alex Bee
2023-12-18 12:49       ` Alex Bee
2023-12-18 12:49       ` Alex Bee
2023-12-22 17:51       ` Alex Bee
2023-12-22 17:51         ` Alex Bee
2023-12-22 17:51         ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 20/27] drm/rockchip: inno_hdmi: Correctly setup HDMI quantization range Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-18  9:05   ` Maxime Ripard
2023-12-18  9:05     ` Maxime Ripard
2023-12-18  9:05     ` Maxime Ripard
2023-12-18 12:37     ` Alex Bee
2023-12-18 12:37       ` Alex Bee
2023-12-18 12:37       ` Alex Bee
2023-12-18 13:13       ` Maxime Ripard
2023-12-18 13:13         ` Maxime Ripard
2023-12-18 13:13         ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 21/27] drm/rockchip: inno_hdmi: Add variant support Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` Alex Bee [this message]
2023-12-16 16:26   ` [PATCH v2 22/27] drm/rockchip: inno_hdmi: Add RK3128 support Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 23/27] drm/rockchip: inno_hdmi: Add basic mode validation Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-18  9:06   ` Maxime Ripard
2023-12-18  9:06     ` Maxime Ripard
2023-12-18  9:06     ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 24/27] drm/rockchip: inno_hdmi: Drop custom fill_modes hook Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-18  9:06   ` Maxime Ripard
2023-12-18  9:06     ` Maxime Ripard
2023-12-18  9:06     ` Maxime Ripard
2023-12-16 16:26 ` [PATCH v2 25/27] ARM: dts: rockchip: Add display subsystem for RK3128 Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 26/27] ARM: dts: rockchip: Add HDMI node " Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26 ` [PATCH v2 27/27] ARM: dts: rockchip: Enable HDMI output for XPI-3128 Alex Bee
2023-12-16 16:26   ` Alex Bee
2023-12-16 16:26   ` Alex Bee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231216162639.125215-23-knaerzche@gmail.com \
    --to=knaerzche@gmail.com \
    --cc=airlied@gmail.com \
    --cc=andyshrk@163.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.