Re: [PATCH v3 0/4] Add APIs to request TX/RX DMA channels for thread ID

From: Péter Ujfalusi
Date: Fri Dec 22 2023 - 15:15:15 EST


Hi Siddharth,

On 12/18/23 08:26, Siddharth Vadapalli wrote:
> The existing APIs for requesting TX and RX DMA channels rely on parsing
> a device-tree node to obtain the Channel/Thread IDs from their names.
> However, it is possible to know the thread IDs by alternative means such
> as being informed by Firmware on a remote core via RPMsg regarding the
> allocated TX/RX DMA channel thread IDs. In such cases, the driver can be
> probed by non device-tree methods such as RPMsg-bus, due to which it is not
> necessary that the device using the DMA has a device-tree node
> corresponding to it. Thus, add APIs to enable the driver to make use of
> the existing DMA APIs even when there's no device-tree node.
>
> Additionally, since the name of the device for the remote RX channel is
> being set purely on the basis of the RX channel ID itself, it can result
> in duplicate names when multiple flows are used on the same channel.
> Avoid name duplication by including the flow in the name.

Thank you for the updates,
Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx>

> Series is based on linux-next tagged next-20231215.
>
> v2:
> https://lore.kernel.org/r/20231212111011.1401641-1-s-vadapalli@xxxxxx/
> Changes since v2:
> - Rebased series on linux-next tagged next-20231215.
> - Renamed the function "k3_udma_glue_request_tx_chn_by_id()" to
> "k3_udma_glue_request_tx_chn_for_thread_id()" as suggested by:
> Péter Ujfalusi <peter.ujfalusi@xxxxxxxxx>
> - Similar to the above change, I have also renamed the function
> "k3_udma_glue_request_remote_rx_chn_by_id()" to
> "k3_udma_glue_request_remote_rx_chn_for_thread_id()".
> - Updated the function prototypes in include/linux/dma/k3-udma-glue.h
> accordingly.
> - Updated the commit messages for patches 3/4 and 4/4 to match the
> changes made to the function names.
>
> v1:
> https://lore.kernel.org/r/20231114083906.3143548-1-s-vadapalli@xxxxxx/
> Changes since v1:
> - Rebased series on linux-next tagged next-20231212.
> - Updated commit messages with details regarding the use-case for which
> the newly added APIs will be required.
> - Removed unnecessary return value check within
> "of_k3_udma_glue_parse_chn()" function in patch 1, since it will fall
> through to "out_put_spec" anyway.
> - Removed unnecessary return value check within
> "of_k3_udma_glue_parse_chn_by_id()" function in patch 1, since it will
> fall through to "out_put_spec" anyway.
> - Moved patch 4 of v1 series to patch 2 of current series.
>
> RFC Series:
> https://lore.kernel.org/r/20231111121555.2656760-1-s-vadapalli@xxxxxx/
> Changes since RFC Series:
> - Rebased patches 1, 2 and 3 on linux-next tagged next-20231114.
> - Added patch 4 to the series.
>
> Regards,
> Siddharth.
>
> Siddharth Vadapalli (4):
> dmaengine: ti: k3-udma-glue: Add function to parse channel by ID
> dmaengine: ti: k3-udma-glue: Update name for remote RX channel device
> dmaengine: ti: k3-udma-glue: Add function to request TX chan for
> thread ID
> dmaengine: ti: k3-udma-glue: Add function to request RX chan for
> thread ID
>
> drivers/dma/ti/k3-udma-glue.c | 306 ++++++++++++++++++++++---------
> include/linux/dma/k3-udma-glue.h | 10 +
> 2 files changed, 229 insertions(+), 87 deletions(-)
>

--
Péter