linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Siddharth Vadapalli <s-vadapalli@ti.com>
To: <peter.ujfalusi@gmail.com>, <vkoul@kernel.org>
Cc: <dmaengine@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>, <srk@ti.com>,
	<vigneshr@ti.com>, <s-vadapalli@ti.com>
Subject: [PATCH v4 0/4] Add APIs to request TX/RX DMA channels for thread ID
Date: Wed, 24 Jan 2024 18:13:15 +0530	[thread overview]
Message-ID: <20240124124319.820002-1-s-vadapalli@ti.com> (raw)

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.

Series is based on linux-next tagged next-20240124.

v3:
https://lore.kernel.org/r/20231218062640.2338453-1-s-vadapalli@ti.com/
Changes since v3:
- Rebased series on linux-next tagged next-20240124.
- Collected Acked-by tag from Peter Ujfalusi <peter.ujfalusi@gmail.com> at:
  https://lore.kernel.org/r/4b5bd2c2-37c9-4cdf-934d-8bc6d6f73152@gmail.com/
  for the series.

v2:
https://lore.kernel.org/r/20231212111011.1401641-1-s-vadapalli@ti.com/
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@gmail.com>
- 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@ti.com/
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@ti.com/
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(-)

-- 
2.34.1


             reply	other threads:[~2024-01-24 12:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-24 12:43 Siddharth Vadapalli [this message]
2024-01-24 12:43 ` [PATCH v4 1/4] dmaengine: ti: k3-udma-glue: Add function to parse channel by ID Siddharth Vadapalli
2024-01-24 12:43 ` [PATCH v4 2/4] dmaengine: ti: k3-udma-glue: Update name for remote RX channel device Siddharth Vadapalli
2024-01-24 12:43 ` [PATCH v4 3/4] dmaengine: ti: k3-udma-glue: Add function to request TX chan for thread ID Siddharth Vadapalli
2024-01-24 12:43 ` [PATCH v4 4/4] dmaengine: ti: k3-udma-glue: Add function to request RX " Siddharth Vadapalli
2024-01-30 16:51 ` [PATCH v4 0/4] Add APIs to request TX/RX DMA channels " Vinod Koul

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=20240124124319.820002-1-s-vadapalli@ti.com \
    --to=s-vadapalli@ti.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peter.ujfalusi@gmail.com \
    --cc=srk@ti.com \
    --cc=vigneshr@ti.com \
    --cc=vkoul@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).