diff mbox series

video: tidss: Use DT property names for parsing nodes

Message ID 20240124090711.305690-1-devarsht@ti.com
State Accepted
Commit ca6d60df2f3616f1817951621aa46023737ec711
Delegated to: Anatolij Gustschin
Headers show
Series video: tidss: Use DT property names for parsing nodes | expand

Commit Message

Devarsh Thakkar Jan. 24, 2024, 9:07 a.m. UTC
Use device-tree node property names for parsing nodes instead of
indexing as indexing could be different between different SoCs based on
number of DSS entities available on that particular SoC.

Also correct the video layer naming in driver to match to actual one
being used in upstream DSS device-tree node [1].

This also fixes AM62x splash screen usage using the latest upstream DSS
device-tree nodes where hard-coded indexing which driver was using
before this patch was not matching the correct properties in the DT
node.

[1]: Upstream AM62x DSS node:
https://github.com/torvalds/linux/blob/v6.8-rc1/arch/arm64/boot/dts/ti/k3-am62-main.dtsi#L774

Fixes: 5f9f816bb8 ("drivers: video: tidss: TIDSS video driver support
for AM62x")
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
---
 drivers/video/tidss/tidss_drv.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Nikhil Jain Jan. 24, 2024, 11:58 a.m. UTC | #1
Hi Devarsh,

On 24/01/24 14:37, Devarsh Thakkar wrote:
> Use device-tree node property names for parsing nodes instead of
> indexing as indexing could be different between different SoCs based on
> number of DSS entities available on that particular SoC.
>
> Also correct the video layer naming in driver to match to actual one
> being used in upstream DSS device-tree node [1].
>
> This also fixes AM62x splash screen usage using the latest upstream DSS
> device-tree nodes where hard-coded indexing which driver was using
> before this patch was not matching the correct properties in the DT
> node.
>
> [1]: Upstream AM62x DSS node:
> https://github.com/torvalds/linux/blob/v6.8-rc1/arch/arm64/boot/dts/ti/k3-am62-main.dtsi#L774
>
> Fixes: 5f9f816bb8 ("drivers: video: tidss: TIDSS video driver support
> for AM62x")
> Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Reviewed-by: Nikhil M Jain <n-jain1@ti.com>
Devarsh Thakkar Jan. 29, 2024, 4:09 p.m. UTC | #2
Hi Anatolij,Tom

On 24/01/24 17:28, Nikhil Jain wrote:
> Hi Devarsh,
> 
> On 24/01/24 14:37, Devarsh Thakkar wrote:
>> Use device-tree node property names for parsing nodes instead of
>> indexing as indexing could be different between different SoCs based on
>> number of DSS entities available on that particular SoC.
>>
>> Also correct the video layer naming in driver to match to actual one
>> being used in upstream DSS device-tree node [1].
>>
>> This also fixes AM62x splash screen usage using the latest upstream DSS
>> device-tree nodes where hard-coded indexing which driver was using
>> before this patch was not matching the correct properties in the DT
>> node.
>>
>> [1]: Upstream AM62x DSS node:
>> https://github.com/torvalds/linux/blob/v6.8-rc1/arch/arm64/boot/dts/ti/k3-am62-main.dtsi#L774
>>
>> Fixes: 5f9f816bb8 ("drivers: video: tidss: TIDSS video driver support
>> for AM62x")
>> Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
> Reviewed-by: Nikhil M Jain <n-jain1@ti.com>

Is it possible to pull this in for current merge window for v2024.04 ?

Regards
Devarsh
Tom Rini Jan. 30, 2024, 1:54 a.m. UTC | #3
On Wed, 24 Jan 2024 14:37:11 +0530, Devarsh Thakkar wrote:

> Use device-tree node property names for parsing nodes instead of
> indexing as indexing could be different between different SoCs based on
> number of DSS entities available on that particular SoC.
> 
> Also correct the video layer naming in driver to match to actual one
> being used in upstream DSS device-tree node [1].
> 
> [...]

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/drivers/video/tidss/tidss_drv.c b/drivers/video/tidss/tidss_drv.c
index e285f255d7..1380c6b693 100644
--- a/drivers/video/tidss/tidss_drv.c
+++ b/drivers/video/tidss/tidss_drv.c
@@ -107,7 +107,7 @@  const struct dss_features dss_am625_feats = {
 
 	.num_planes = 2,
 	/* note: vid is plane_id 0 and vidl1 is plane_id 1 */
-	.vid_name = { "vidl1", "vid1" },
+	.vid_name = { "vidl1", "vid" },
 	.vid_lite = { true, false },
 	.vid_order = { 1, 0 },
 };
@@ -814,13 +814,13 @@  static int tidss_drv_probe(struct udevice *dev)
 		priv->bus_format = &dss_bus_formats[8];
 
 	/* Common address */
-	priv->base_common = dev_remap_addr_index(dev, 0);
+	priv->base_common = dev_remap_addr_name(dev, priv->feat->common);
 	if (!priv->base_common)
 		return -EINVAL;
 
 	/* plane address setup and enable */
 	for (i = 0; i < priv->feat->num_planes; i++) {
-		priv->base_vid[i] = dev_remap_addr_index(dev, i + 2);
+		priv->base_vid[i] = dev_remap_addr_name(dev, priv->feat->vid_name[i]);
 		if (!priv->base_vid[i])
 			return -EINVAL;
 	}
@@ -841,8 +841,8 @@  static int tidss_drv_probe(struct udevice *dev)
 
 	/* video port address clocks and enable */
 	for (i = 0; i < priv->feat->num_vps; i++) {
-		priv->base_ovr[i] = dev_remap_addr_index(dev, i + 4);
-		priv->base_vp[i] = dev_remap_addr_index(dev, i + 6);
+		priv->base_ovr[i] = dev_remap_addr_name(dev, priv->feat->ovr_name[i]);
+		priv->base_vp[i] = dev_remap_addr_name(dev, priv->feat->vp_name[i]);
 	}
 
 	ret = clk_get_by_name(dev, "vp1", &priv->vp_clk[0]);