dmaengine.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: <vkoul@kernel.org>, <nm@ti.com>, <ssantosh@kernel.org>,
	<robh+dt@kernel.org>, <vigneshr@ti.com>,
	Grygorii Strashko <grygorii.strashko@ti.com>
Cc: <dan.j.williams@intel.com>, <t-kristo@ti.com>,
	<lokeshvutla@ti.com>, <linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<dmaengine@vger.kernel.org>
Subject: Re: [PATCH 00/18] dmaengine/soc: k3-udma: Add support for BCDMA and PKTDMA
Date: Wed, 30 Sep 2020 13:17:35 +0300	[thread overview]
Message-ID: <5be85c37-51b8-589c-5c8c-11154342c4f5@ti.com> (raw)
In-Reply-To: <20200930091412.8020-1-peter.ujfalusi@ti.com>

Hi,

On 30/09/2020 12.13, Peter Ujfalusi wrote:
> Hi,

for some reason I have missed Grygorii from the TO, sorry.

Grygorii: the series in lore:
https://lore.kernel.org/lkml/20200930091412.8020-1-peter.ujfalusi@ti.com/

> The series have build dependency on ti_sci/soc series (v1):
> https://lore.kernel.org/lkml/20200928083429.17390-1-peter.ujfalusi@ti.com/
> 
> The unmapped event handling in INTA is also needed, but it is not a build
> dependency (v2):
> https://lore.kernel.org/lkml/20200930074559.18028-1-peter.ujfalusi@ti.com/
> 
> The DMSS introduced within AM64 as a simplified Data movement engine is built
> on similar grounds as the K3 NAVSS and UDMAP, but with significant architectural
> changes.
> 
> - Rings are built into the DMAs
> The DMAs no longer use the general purpose ringacc, all rings has been moved
> inside of the DMAs. The new rings within the DMAs are simplified to be dual
> directional compared to the uni-directional rings in ringacc.
> There is no more of a concept of generic purpose rings, all rings are assigned
> to specific channels or flows.
> 
> - Per channel coherency support
> The DMAs use the 'ASEL' bits to select data and configuration fetch path. The
> ASEL bits are placed at the unused parts of any address field used by the
> DMAs (pointers to descriptors, addresses in descriptors, ring base addresses).
> The ASEL is not part of the address (the DMAs can address 48bits).
> Individual channels can be configured to be coherent (via ACP port) or non
> coherent individually by configuring the ASEL to appropriate value.
> 
> - Two different DMAs (well, three actually)
> PKTDMA
> Similar to UDMAP channels configured in packet mode.
> The flow configuration of the channels has changed significantly in a way that
> each channel have at least one flow assigned at design time and each flow is
> directly mapped to corresponding ring.
> When multiple flows are set, the channel can only use the flows within it's
> assigned range.
> PKTDMA also introduced multiple tflows which did not existed in UDMAP.
> 
> BCDMA
> It has two types of channels:
> - split channels (tchan/rchan): Similar to UDMAP channels configured in TR mode.
> - Block copy channels (bchan): Similar to EDMA or traditional DMA channels, they
>   can be used for mem2mem type of transfers or to service peripherals not
>   accessible via PSI-L by using external triggers for the TR.
> BCDMA channels do not have support for multiple flows
> 
> With the introduction of the new DMAs (especially the BCDMA) we also need to
> update the resource manager code to support the second range from sysfw for
> UDMA channels.
> 
> The two outstanding change in the series in my view is
> the handling of the DMAs sideband signal of ASEL to select path to provide
> coherency or non coherency.
> 
> the smaller one is the device_router_config callback to allow the configuration
> of the triggers when BCDMA is servicing a triggering peripheral to solve a
> chicken-egg situation:
> The router needs to know the event number to send which in turn depends on the
> channel we got for servicing the peripheral.
> 
> I'm sending this series as early as possible to have time for review and
> changes.
> 
> When all things resolved, it would be nice if Santosh could create an immutable
> branch with the ti_sci/soc patches for Vinod to use for this series.
> 
> Regards,
> Peter
> ---
> Grygorii Strashko (1):
>   soc: ti: k3-ringacc: add AM64 DMA rings support.
> 
> Peter Ujfalusi (16):
>   dmaengine: of-dma: Add support for optional router configuration
>     callback
>   dmaengine: Add support for per channel coherency handling
>   dmaengine: doc: client: Update for dmaengine_get_dma_device() usage
>   dmaengine: dmatest: Use dmaengine_get_dma_device
>   dmaengine: ti: k3-udma: Wait for peer teardown completion if supported
>   dmaengine: ti: k3-udma: Add support for second resource range from
>     sysfw
>   dmaengine: ti: k3-udma-glue: Add function to get device pointer for
>     DMA API
>   dmaengine: ti: k3-udma-glue: Configure the dma_dev for rings
>   dt-bindings: dma: ti: Add document for K3 BCDMA
>   dt-bindings: dma: ti: Add document for K3 PKTDMA
>   dmaengine: ti: k3-psil: Extend psil_endpoint_config for K3 PKTDMA
>   dmaengine: ti: k3-psil: Add initial map for AM64
>   dmaengine: ti: Add support for k3 event routers
>   dmaengine: ti: k3-udma: Initial support for K3 BCDMA
>   dmaengine: ti: k3-udma: Add support for BCDMA channel TPL handling
>   dmaengine: ti: k3-udma: Initial support for K3 PKTDMA
> 
> Vignesh Raghavendra (1):
>   dmaengine: ti: k3-udma-glue: Add support for K3 PKTDMA
> 
>  .../devicetree/bindings/dma/ti/k3-bcdma.yaml  |  183 ++
>  .../devicetree/bindings/dma/ti/k3-pktdma.yaml |  189 ++
>  Documentation/driver-api/dmaengine/client.rst |    4 +-
>  drivers/dma/dmatest.c                         |   13 +-
>  drivers/dma/of-dma.c                          |   10 +
>  drivers/dma/ti/Makefile                       |    3 +-
>  drivers/dma/ti/k3-psil-am64.c                 |   75 +
>  drivers/dma/ti/k3-psil-priv.h                 |    1 +
>  drivers/dma/ti/k3-psil.c                      |    1 +
>  drivers/dma/ti/k3-udma-glue.c                 |  294 ++-
>  drivers/dma/ti/k3-udma-private.c              |   39 +
>  drivers/dma/ti/k3-udma.c                      | 1975 +++++++++++++++--
>  drivers/dma/ti/k3-udma.h                      |   27 +-
>  drivers/soc/ti/k3-ringacc.c                   |  325 ++-
>  include/linux/dma/k3-event-router.h           |   16 +
>  include/linux/dma/k3-psil.h                   |   16 +
>  include/linux/dma/k3-udma-glue.h              |   12 +
>  include/linux/dmaengine.h                     |   14 +
>  include/linux/soc/ti/k3-ringacc.h             |   17 +
>  19 files changed, 2994 insertions(+), 220 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
>  create mode 100644 Documentation/devicetree/bindings/dma/ti/k3-pktdma.yaml
>  create mode 100644 drivers/dma/ti/k3-psil-am64.c
>  create mode 100644 include/linux/dma/k3-event-router.h
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


      parent reply	other threads:[~2020-09-30 10:17 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-30  9:13 [PATCH 00/18] dmaengine/soc: k3-udma: Add support for BCDMA and PKTDMA Peter Ujfalusi
2020-09-30  9:13 ` [PATCH 01/18] dmaengine: of-dma: Add support for optional router configuration callback Peter Ujfalusi
2020-10-07  5:44   ` Vinod Koul
2020-10-07  8:08     ` Peter Ujfalusi
2020-10-07 15:55       ` Vinod Koul
2020-10-08  6:41         ` Peter Ujfalusi
2020-10-28  5:55           ` Vinod Koul
2020-10-28  9:56             ` Peter Ujfalusi
2020-11-09 11:45               ` Vinod Koul
2020-11-09 12:09                 ` Peter Ujfalusi
2020-11-09 12:23                   ` Vinod Koul
2020-11-09 12:36                     ` Peter Ujfalusi
2020-09-30  9:13 ` [PATCH 02/18] dmaengine: Add support for per channel coherency handling Peter Ujfalusi
2020-09-30  9:13 ` [PATCH 03/18] dmaengine: doc: client: Update for dmaengine_get_dma_device() usage Peter Ujfalusi
2020-09-30  9:13 ` [PATCH 04/18] dmaengine: dmatest: Use dmaengine_get_dma_device Peter Ujfalusi
2020-09-30  9:13 ` [PATCH 05/18] dmaengine: ti: k3-udma: Wait for peer teardown completion if supported Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 06/18] dmaengine: ti: k3-udma: Add support for second resource range from sysfw Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 07/18] dmaengine: ti: k3-udma-glue: Add function to get device pointer for DMA API Peter Ujfalusi
2020-10-07  6:53   ` Vinod Koul
2020-10-07  8:22     ` Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 08/18] dmaengine: ti: k3-udma-glue: Configure the dma_dev for rings Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 09/18] dt-bindings: dma: ti: Add document for K3 BCDMA Peter Ujfalusi
2020-10-01  6:49   ` Peter Ujfalusi
2020-10-06 19:23     ` Rob Herring
2020-10-06 19:29   ` Rob Herring
2020-10-07  9:09     ` Peter Ujfalusi
2020-10-07 15:46       ` Rob Herring
2020-10-08  8:40         ` Peter Ujfalusi
2020-10-08 19:15           ` Rob Herring
2020-10-09  8:06             ` Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 10/18] dt-bindings: dma: ti: Add document for K3 PKTDMA Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 11/18] dmaengine: ti: k3-psil: Extend psil_endpoint_config " Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 12/18] dmaengine: ti: k3-psil: Add initial map for AM64 Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 13/18] dmaengine: ti: Add support for k3 event routers Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 14/18] soc: ti: k3-ringacc: add AM64 DMA rings support Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 15/18] dmaengine: ti: k3-udma: Initial support for K3 BCDMA Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 16/18] dmaengine: ti: k3-udma: Add support for BCDMA channel TPL handling Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 17/18] dmaengine: ti: k3-udma: Initial support for K3 PKTDMA Peter Ujfalusi
2020-09-30  9:14 ` [PATCH 18/18] dmaengine: ti: k3-udma-glue: Add " Peter Ujfalusi
2020-09-30 10:17 ` Peter Ujfalusi [this message]

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=5be85c37-51b8-589c-5c8c-11154342c4f5@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=dan.j.williams@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=grygorii.strashko@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lokeshvutla@ti.com \
    --cc=nm@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=ssantosh@kernel.org \
    --cc=t-kristo@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).