2021-08-19 11:03:09

by Pratyush Yadav

[permalink] [raw]
Subject: [PATCH v4] dmaengine: ti: k3-psil-j721e: Add entry for CSI2RX

The CSI2RX subsystem on J721E is serviced by UDMA via PSI-L to transfer
frames to memory. It can have up to 32 threads per instance. J721E has
two instances of the subsystem, so there are 64 threads total. Add them
to the endpoint map.

Signed-off-by: Pratyush Yadav <[email protected]>
Acked-by: Peter Ujfalusi <[email protected]>

---
This patch has been split off from [0] to facilitate easier merging. I
have still kept the version number to maintain continuity with the
previous patches.

[0] https://patchwork.linuxtv.org/project/linux-media/list/?series=5526&state=%2A&archive=both

Changes in v4:
- Update commit message with Peter's suggested changes.
- Add Peter's Ack.

Changes in v3:
- Update commit message to mention that all 64 threads are being added.

Changes in v2:
- Add all 64 threads, instead of having only the one thread being
currently used by the driver.

drivers/dma/ti/k3-psil-j721e.c | 73 ++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)

diff --git a/drivers/dma/ti/k3-psil-j721e.c b/drivers/dma/ti/k3-psil-j721e.c
index 7580870ed746..34e3fc565a37 100644
--- a/drivers/dma/ti/k3-psil-j721e.c
+++ b/drivers/dma/ti/k3-psil-j721e.c
@@ -58,6 +58,14 @@
}, \
}

+#define PSIL_CSI2RX(x) \
+ { \
+ .thread_id = x, \
+ .ep_config = { \
+ .ep_type = PSIL_EP_NATIVE, \
+ }, \
+ }
+
/* PSI-L source thread IDs, used for RX (DMA_DEV_TO_MEM) */
static struct psil_ep j721e_src_ep_map[] = {
/* SA2UL */
@@ -138,6 +146,71 @@ static struct psil_ep j721e_src_ep_map[] = {
PSIL_PDMA_XY_PKT(0x4707),
PSIL_PDMA_XY_PKT(0x4708),
PSIL_PDMA_XY_PKT(0x4709),
+ /* CSI2RX */
+ PSIL_CSI2RX(0x4940),
+ PSIL_CSI2RX(0x4941),
+ PSIL_CSI2RX(0x4942),
+ PSIL_CSI2RX(0x4943),
+ PSIL_CSI2RX(0x4944),
+ PSIL_CSI2RX(0x4945),
+ PSIL_CSI2RX(0x4946),
+ PSIL_CSI2RX(0x4947),
+ PSIL_CSI2RX(0x4948),
+ PSIL_CSI2RX(0x4949),
+ PSIL_CSI2RX(0x494a),
+ PSIL_CSI2RX(0x494b),
+ PSIL_CSI2RX(0x494c),
+ PSIL_CSI2RX(0x494d),
+ PSIL_CSI2RX(0x494e),
+ PSIL_CSI2RX(0x494f),
+ PSIL_CSI2RX(0x4950),
+ PSIL_CSI2RX(0x4951),
+ PSIL_CSI2RX(0x4952),
+ PSIL_CSI2RX(0x4953),
+ PSIL_CSI2RX(0x4954),
+ PSIL_CSI2RX(0x4955),
+ PSIL_CSI2RX(0x4956),
+ PSIL_CSI2RX(0x4957),
+ PSIL_CSI2RX(0x4958),
+ PSIL_CSI2RX(0x4959),
+ PSIL_CSI2RX(0x495a),
+ PSIL_CSI2RX(0x495b),
+ PSIL_CSI2RX(0x495c),
+ PSIL_CSI2RX(0x495d),
+ PSIL_CSI2RX(0x495e),
+ PSIL_CSI2RX(0x495f),
+ PSIL_CSI2RX(0x4960),
+ PSIL_CSI2RX(0x4961),
+ PSIL_CSI2RX(0x4962),
+ PSIL_CSI2RX(0x4963),
+ PSIL_CSI2RX(0x4964),
+ PSIL_CSI2RX(0x4965),
+ PSIL_CSI2RX(0x4966),
+ PSIL_CSI2RX(0x4967),
+ PSIL_CSI2RX(0x4968),
+ PSIL_CSI2RX(0x4969),
+ PSIL_CSI2RX(0x496a),
+ PSIL_CSI2RX(0x496b),
+ PSIL_CSI2RX(0x496c),
+ PSIL_CSI2RX(0x496d),
+ PSIL_CSI2RX(0x496e),
+ PSIL_CSI2RX(0x496f),
+ PSIL_CSI2RX(0x4970),
+ PSIL_CSI2RX(0x4971),
+ PSIL_CSI2RX(0x4972),
+ PSIL_CSI2RX(0x4973),
+ PSIL_CSI2RX(0x4974),
+ PSIL_CSI2RX(0x4975),
+ PSIL_CSI2RX(0x4976),
+ PSIL_CSI2RX(0x4977),
+ PSIL_CSI2RX(0x4978),
+ PSIL_CSI2RX(0x4979),
+ PSIL_CSI2RX(0x497a),
+ PSIL_CSI2RX(0x497b),
+ PSIL_CSI2RX(0x497c),
+ PSIL_CSI2RX(0x497d),
+ PSIL_CSI2RX(0x497e),
+ PSIL_CSI2RX(0x497f),
/* CPSW9 */
PSIL_ETHERNET(0x4a00),
/* CPSW0 */
--
2.30.0


2021-08-20 12:27:59

by Péter Ujfalusi

[permalink] [raw]
Subject: Re: [PATCH v4] dmaengine: ti: k3-psil-j721e: Add entry for CSI2RX

Hi Pratyush,

On 19/08/2021 14:01, Pratyush Yadav wrote:
> The CSI2RX subsystem on J721E is serviced by UDMA via PSI-L to transfer
> frames to memory. It can have up to 32 threads per instance. J721E has
> two instances of the subsystem, so there are 64 threads total. Add them
> to the endpoint map.
>
> Signed-off-by: Pratyush Yadav <[email protected]>
> Acked-by: Peter Ujfalusi <[email protected]>
>
> ---
> This patch has been split off from [0] to facilitate easier merging. I
> have still kept the version number to maintain continuity with the
> previous patches.
>
> [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=5526&state=%2A&archive=both
>
> Changes in v4:
> - Update commit message with Peter's suggested changes.
> - Add Peter's Ack.

Looks good, thank you.

> Changes in v3:
> - Update commit message to mention that all 64 threads are being added.
>
> Changes in v2:
> - Add all 64 threads, instead of having only the one thread being
> currently used by the driver.
>
> drivers/dma/ti/k3-psil-j721e.c | 73 ++++++++++++++++++++++++++++++++++
> 1 file changed, 73 insertions(+)
>
> diff --git a/drivers/dma/ti/k3-psil-j721e.c b/drivers/dma/ti/k3-psil-j721e.c
> index 7580870ed746..34e3fc565a37 100644
> --- a/drivers/dma/ti/k3-psil-j721e.c
> +++ b/drivers/dma/ti/k3-psil-j721e.c
> @@ -58,6 +58,14 @@
> }, \
> }
>
> +#define PSIL_CSI2RX(x) \
> + { \
> + .thread_id = x, \
> + .ep_config = { \
> + .ep_type = PSIL_EP_NATIVE, \
> + }, \
> + }
> +
> /* PSI-L source thread IDs, used for RX (DMA_DEV_TO_MEM) */
> static struct psil_ep j721e_src_ep_map[] = {
> /* SA2UL */
> @@ -138,6 +146,71 @@ static struct psil_ep j721e_src_ep_map[] = {
> PSIL_PDMA_XY_PKT(0x4707),
> PSIL_PDMA_XY_PKT(0x4708),
> PSIL_PDMA_XY_PKT(0x4709),
> + /* CSI2RX */
> + PSIL_CSI2RX(0x4940),
> + PSIL_CSI2RX(0x4941),
> + PSIL_CSI2RX(0x4942),
> + PSIL_CSI2RX(0x4943),
> + PSIL_CSI2RX(0x4944),
> + PSIL_CSI2RX(0x4945),
> + PSIL_CSI2RX(0x4946),
> + PSIL_CSI2RX(0x4947),
> + PSIL_CSI2RX(0x4948),
> + PSIL_CSI2RX(0x4949),
> + PSIL_CSI2RX(0x494a),
> + PSIL_CSI2RX(0x494b),
> + PSIL_CSI2RX(0x494c),
> + PSIL_CSI2RX(0x494d),
> + PSIL_CSI2RX(0x494e),
> + PSIL_CSI2RX(0x494f),
> + PSIL_CSI2RX(0x4950),
> + PSIL_CSI2RX(0x4951),
> + PSIL_CSI2RX(0x4952),
> + PSIL_CSI2RX(0x4953),
> + PSIL_CSI2RX(0x4954),
> + PSIL_CSI2RX(0x4955),
> + PSIL_CSI2RX(0x4956),
> + PSIL_CSI2RX(0x4957),
> + PSIL_CSI2RX(0x4958),
> + PSIL_CSI2RX(0x4959),
> + PSIL_CSI2RX(0x495a),
> + PSIL_CSI2RX(0x495b),
> + PSIL_CSI2RX(0x495c),
> + PSIL_CSI2RX(0x495d),
> + PSIL_CSI2RX(0x495e),
> + PSIL_CSI2RX(0x495f),
> + PSIL_CSI2RX(0x4960),
> + PSIL_CSI2RX(0x4961),
> + PSIL_CSI2RX(0x4962),
> + PSIL_CSI2RX(0x4963),
> + PSIL_CSI2RX(0x4964),
> + PSIL_CSI2RX(0x4965),
> + PSIL_CSI2RX(0x4966),
> + PSIL_CSI2RX(0x4967),
> + PSIL_CSI2RX(0x4968),
> + PSIL_CSI2RX(0x4969),
> + PSIL_CSI2RX(0x496a),
> + PSIL_CSI2RX(0x496b),
> + PSIL_CSI2RX(0x496c),
> + PSIL_CSI2RX(0x496d),
> + PSIL_CSI2RX(0x496e),
> + PSIL_CSI2RX(0x496f),
> + PSIL_CSI2RX(0x4970),
> + PSIL_CSI2RX(0x4971),
> + PSIL_CSI2RX(0x4972),
> + PSIL_CSI2RX(0x4973),
> + PSIL_CSI2RX(0x4974),
> + PSIL_CSI2RX(0x4975),
> + PSIL_CSI2RX(0x4976),
> + PSIL_CSI2RX(0x4977),
> + PSIL_CSI2RX(0x4978),
> + PSIL_CSI2RX(0x4979),
> + PSIL_CSI2RX(0x497a),
> + PSIL_CSI2RX(0x497b),
> + PSIL_CSI2RX(0x497c),
> + PSIL_CSI2RX(0x497d),
> + PSIL_CSI2RX(0x497e),
> + PSIL_CSI2RX(0x497f),
> /* CPSW9 */
> PSIL_ETHERNET(0x4a00),
> /* CPSW0 */
>

--
Péter

2021-08-25 16:01:59

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH v4] dmaengine: ti: k3-psil-j721e: Add entry for CSI2RX

On 19-08-21, 16:31, Pratyush Yadav wrote:
> The CSI2RX subsystem on J721E is serviced by UDMA via PSI-L to transfer
> frames to memory. It can have up to 32 threads per instance. J721E has
> two instances of the subsystem, so there are 64 threads total. Add them
> to the endpoint map.

Applied, thanks

--
~Vinod