diff mbox series

[v3,2/2] dmaengine: ti: k3-udma: Add support for J722S CSI BCDMA

Message ID 20241127101627.617537-3-vaishnav.a@ti.com (mailing list archive)
State New
Headers show
Series Add support for J722S CSI BCDMA | expand

Commit Message

Vaishnav Achath Nov. 27, 2024, 10:16 a.m. UTC
J722S CSI BCDMA is similar to J721S2 CSI BCDMA but there are slight
integration differences like different PSIL thread base ID which is
currently handled in the driver based on udma_of_match data. Add an
entry to support J722S CSIRX.

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
---

V2->V3 : Minor edit in commit message.

V1->V2:
	* Add new compatible for J722S instead of modifying AM62A

 drivers/dma/ti/k3-udma.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

Comments

Vinod Koul Dec. 4, 2024, 12:30 p.m. UTC | #1
On 27-11-24, 15:46, Vaishnav Achath wrote:
> J722S CSI BCDMA is similar to J721S2 CSI BCDMA but there are slight
> integration differences like different PSIL thread base ID which is
> currently handled in the driver based on udma_of_match data. Add an
> entry to support J722S CSIRX.
> 
> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
> ---
> 
> V2->V3 : Minor edit in commit message.
> 
> V1->V2:
> 	* Add new compatible for J722S instead of modifying AM62A
> 
>  drivers/dma/ti/k3-udma.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
> index b3f27b3f9209..7ed1956b4642 100644
> --- a/drivers/dma/ti/k3-udma.c
> +++ b/drivers/dma/ti/k3-udma.c
> @@ -4404,6 +4404,18 @@ static struct udma_match_data j721s2_bcdma_csi_data = {
>  	.soc_data = &j721s2_bcdma_csi_soc_data,
>  };
>  
> +static struct udma_match_data j722s_bcdma_csi_data = {
> +	.type = DMA_TYPE_BCDMA,
> +	.psil_base = 0x3100,
> +	.enable_memcpy_support = false,
> +	.burst_size = {
> +		TI_SCI_RM_UDMAP_CHAN_BURST_SIZE_64_BYTES, /* Normal Channels */
> +		0, /* No H Channels */
> +		0, /* No UH Channels */

Why are these zeros? we expect valid size...

> +	},
> +	.soc_data = &j721s2_bcdma_csi_soc_data,
> +};
> +
>  static const struct of_device_id udma_of_match[] = {
>  	{
>  		.compatible = "ti,am654-navss-main-udmap",
> @@ -4435,6 +4447,10 @@ static const struct of_device_id udma_of_match[] = {
>  		.compatible = "ti,j721s2-dmss-bcdma-csi",
>  		.data = &j721s2_bcdma_csi_data,
>  	},
> +	{
> +		.compatible = "ti,j722s-dmss-bcdma-csi",
> +		.data = &j722s_bcdma_csi_data,
> +	},
>  	{ /* Sentinel */ },
>  };
>  MODULE_DEVICE_TABLE(of, udma_of_match);
> -- 
> 2.34.1
Vaishnav Achath Dec. 9, 2024, 4:29 a.m. UTC | #2
Hi Vinod,

On 04/12/24 18:00, Vinod Koul wrote:
> On 27-11-24, 15:46, Vaishnav Achath wrote:
>> J722S CSI BCDMA is similar to J721S2 CSI BCDMA but there are slight
>> integration differences like different PSIL thread base ID which is
>> currently handled in the driver based on udma_of_match data. Add an
>> entry to support J722S CSIRX.
>>
>> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
>> ---
>>
>> V2->V3 : Minor edit in commit message.
>>
>> V1->V2:
>> 	* Add new compatible for J722S instead of modifying AM62A
>>
>>   drivers/dma/ti/k3-udma.c | 16 ++++++++++++++++
>>   1 file changed, 16 insertions(+)
>>
>> diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
>> index b3f27b3f9209..7ed1956b4642 100644
>> --- a/drivers/dma/ti/k3-udma.c
>> +++ b/drivers/dma/ti/k3-udma.c
>> @@ -4404,6 +4404,18 @@ static struct udma_match_data j721s2_bcdma_csi_data = {
>>   	.soc_data = &j721s2_bcdma_csi_soc_data,
>>   };
>>   
>> +static struct udma_match_data j722s_bcdma_csi_data = {
>> +	.type = DMA_TYPE_BCDMA,
>> +	.psil_base = 0x3100,
>> +	.enable_memcpy_support = false,
>> +	.burst_size = {
>> +		TI_SCI_RM_UDMAP_CHAN_BURST_SIZE_64_BYTES, /* Normal Channels */
>> +		0, /* No H Channels */
>> +		0, /* No UH Channels */
> 
> Why are these zeros? we expect valid size...
> 

Sorry for the delay in response, this instance does not have High 
capacity/Ultra high capacity channels, the burst_size for normal 
channels is non-zero in the above, this is done similar to other 
instances supported in the driver:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/dma/ti/k3-udma.c#n4363

Please let me know if something need to be fixed.

Thanks and Regards,
Vaishnav

>> +	},
>> +	.soc_data = &j721s2_bcdma_csi_soc_data,
>> +};
>> +
>>   static const struct of_device_id udma_of_match[] = {
>>   	{
>>   		.compatible = "ti,am654-navss-main-udmap",
>> @@ -4435,6 +4447,10 @@ static const struct of_device_id udma_of_match[] = {
>>   		.compatible = "ti,j721s2-dmss-bcdma-csi",
>>   		.data = &j721s2_bcdma_csi_data,
>>   	},
>> +	{
>> +		.compatible = "ti,j722s-dmss-bcdma-csi",
>> +		.data = &j722s_bcdma_csi_data,
>> +	},
>>   	{ /* Sentinel */ },
>>   };
>>   MODULE_DEVICE_TABLE(of, udma_of_match);
>> -- 
>> 2.34.1
>
Péter Ujfalusi Dec. 18, 2024, 10:09 p.m. UTC | #3
On 11/27/24 12:16 PM, Vaishnav Achath wrote:
> J722S CSI BCDMA is similar to J721S2 CSI BCDMA but there are slight
> integration differences like different PSIL thread base ID which is
> currently handled in the driver based on udma_of_match data. Add an
> entry to support J722S CSIRX.

Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>

> 
> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
> ---
> 
> V2->V3 : Minor edit in commit message.
> 
> V1->V2:
> 	* Add new compatible for J722S instead of modifying AM62A
> 
>  drivers/dma/ti/k3-udma.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
> index b3f27b3f9209..7ed1956b4642 100644
> --- a/drivers/dma/ti/k3-udma.c
> +++ b/drivers/dma/ti/k3-udma.c
> @@ -4404,6 +4404,18 @@ static struct udma_match_data j721s2_bcdma_csi_data = {
>  	.soc_data = &j721s2_bcdma_csi_soc_data,
>  };
>  
> +static struct udma_match_data j722s_bcdma_csi_data = {
> +	.type = DMA_TYPE_BCDMA,
> +	.psil_base = 0x3100,
> +	.enable_memcpy_support = false,
> +	.burst_size = {
> +		TI_SCI_RM_UDMAP_CHAN_BURST_SIZE_64_BYTES, /* Normal Channels */
> +		0, /* No H Channels */
> +		0, /* No UH Channels */
> +	},
> +	.soc_data = &j721s2_bcdma_csi_soc_data,
> +};
> +
>  static const struct of_device_id udma_of_match[] = {
>  	{
>  		.compatible = "ti,am654-navss-main-udmap",
> @@ -4435,6 +4447,10 @@ static const struct of_device_id udma_of_match[] = {
>  		.compatible = "ti,j721s2-dmss-bcdma-csi",
>  		.data = &j721s2_bcdma_csi_data,
>  	},
> +	{
> +		.compatible = "ti,j722s-dmss-bcdma-csi",
> +		.data = &j722s_bcdma_csi_data,
> +	},
>  	{ /* Sentinel */ },
>  };
>  MODULE_DEVICE_TABLE(of, udma_of_match);
diff mbox series

Patch

diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
index b3f27b3f9209..7ed1956b4642 100644
--- a/drivers/dma/ti/k3-udma.c
+++ b/drivers/dma/ti/k3-udma.c
@@ -4404,6 +4404,18 @@  static struct udma_match_data j721s2_bcdma_csi_data = {
 	.soc_data = &j721s2_bcdma_csi_soc_data,
 };
 
+static struct udma_match_data j722s_bcdma_csi_data = {
+	.type = DMA_TYPE_BCDMA,
+	.psil_base = 0x3100,
+	.enable_memcpy_support = false,
+	.burst_size = {
+		TI_SCI_RM_UDMAP_CHAN_BURST_SIZE_64_BYTES, /* Normal Channels */
+		0, /* No H Channels */
+		0, /* No UH Channels */
+	},
+	.soc_data = &j721s2_bcdma_csi_soc_data,
+};
+
 static const struct of_device_id udma_of_match[] = {
 	{
 		.compatible = "ti,am654-navss-main-udmap",
@@ -4435,6 +4447,10 @@  static const struct of_device_id udma_of_match[] = {
 		.compatible = "ti,j721s2-dmss-bcdma-csi",
 		.data = &j721s2_bcdma_csi_data,
 	},
+	{
+		.compatible = "ti,j722s-dmss-bcdma-csi",
+		.data = &j722s_bcdma_csi_data,
+	},
 	{ /* Sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, udma_of_match);