linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vinod Koul <vkoul@kernel.org>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>, ssantosh@kernel.org
Cc: nm@ti.com, robh+dt@kernel.org, dan.j.williams@intel.com,
	t-kristo@ti.com, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	dmaengine@vger.kernel.org, vigneshr@ti.com,
	grygorii.strashko@ti.com
Subject: Re: [PATCH v2 00/19] dmaengine/soc: k3-udma: Add support for BCDMA and PKTDMA
Date: Tue, 24 Nov 2020 22:38:56 +0530	[thread overview]
Message-ID: <20201124170856.GR8403@vkoul-mobl> (raw)
In-Reply-To: <20201117105656.5236-1-peter.ujfalusi@ti.com>

On 17-11-20, 12:56, Peter Ujfalusi wrote:
> Hi,
> 
> The series have build dependency on ti_sci/soc series (v2):
> https://lore.kernel.org/lkml/20201008115224.1591-1-peter.ujfalusi@ti.com/
> 
> Santosh kindly created immutable branch holdinf the series:
> git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git for_5.11/drivers-soc 

Santosh, Can I have a signed tag for this please?

> 
> The unmapped event handling in INTA is already mainline.
> 
> Changes since v1:
> - Both DT binding document has been updated to address all comments and
>   suggestions from Rob, all checks are passing on them
> - included new patch to fix the normal channel start offset when ultra-high
>   capacity channels are available for the UDMA and updated the BCDMA/PKTDMA
>   patches along the same line
> - Re-arranged the patches for Vinod so that the preparational patches and fixes
>   can be picked up separately (they still have dependency on Santosh's branch):
> 
>   patch 1-5: Fixes and new features for existing devices using UDMA, but the
>              the BCDMA/PKTDMA support is building on top of these.
>              Build dependency on Santosh's branch
>   patch 6: Optional second stage router configuration callback support in core
>   patch 7-9: Per channel coherency support in core and use it in dmatest.
>   patch 10-: Initial AM64 BCDMA and PKTDMA support
> 
> 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.
> 
> Regards,
> Peter
> ---
> Grygorii Strashko (1):
>   soc: ti: k3-ringacc: add AM64 DMA rings support.
> 
> Peter Ujfalusi (17):
>   dmaengine: ti: k3-udma: Correct normal channel offset when uchan_cnt
>     is not 0
>   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
>   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
>   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  |  175 ++
>  .../devicetree/bindings/dma/ti/k3-pktdma.yaml |  183 ++
>  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                      | 1968 +++++++++++++++--
>  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, 2973 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
> 
> -- 
> Peter
> 
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

-- 
~Vinod

  parent reply	other threads:[~2020-11-24 17:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-17 10:56 [PATCH v2 00/19] dmaengine/soc: k3-udma: Add support for BCDMA and PKTDMA Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 01/19] dmaengine: ti: k3-udma: Correct normal channel offset when uchan_cnt is not 0 Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 02/19] dmaengine: ti: k3-udma: Wait for peer teardown completion if supported Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 03/19] dmaengine: ti: k3-udma: Add support for second resource range from sysfw Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 04/19] dmaengine: ti: k3-udma-glue: Add function to get device pointer for DMA API Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 05/19] dmaengine: ti: k3-udma-glue: Configure the dma_dev for rings Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 06/19] dmaengine: of-dma: Add support for optional router configuration callback Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 07/19] dmaengine: Add support for per channel coherency handling Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 08/19] dmaengine: doc: client: Update for dmaengine_get_dma_device() usage Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 09/19] dmaengine: dmatest: Use dmaengine_get_dma_device Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 10/19] dt-bindings: dma: ti: Add document for K3 BCDMA Peter Ujfalusi
2020-12-07 19:42   ` Rob Herring
2020-12-08  6:40     ` Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 11/19] dt-bindings: dma: ti: Add document for K3 PKTDMA Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 12/19] dmaengine: ti: k3-psil: Extend psil_endpoint_config " Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 13/19] dmaengine: ti: k3-psil: Add initial map for AM64 Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 14/19] dmaengine: ti: Add support for k3 event routers Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 15/19] soc: ti: k3-ringacc: add AM64 DMA rings support Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 16/19] dmaengine: ti: k3-udma: Initial support for K3 BCDMA Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 17/19] dmaengine: ti: k3-udma: Add support for BCDMA channel TPL handling Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 18/19] dmaengine: ti: k3-udma: Initial support for K3 PKTDMA Peter Ujfalusi
2020-11-17 10:56 ` [PATCH v2 19/19] dmaengine: ti: k3-udma-glue: Add " Peter Ujfalusi
2020-11-27  7:18   ` [PATCH] dmaengine: ti: k3-udma-glue: Add new class for glue channels Peter Ujfalusi
2020-11-24 17:08 ` Vinod Koul [this message]
2020-12-07  7:29   ` [PATCH v2 00/19] dmaengine/soc: k3-udma: Add support for BCDMA and PKTDMA Peter Ujfalusi
2020-12-07 15:59     ` santosh.shilimkar

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=20201124170856.GR8403@vkoul-mobl \
    --to=vkoul@kernel.org \
    --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=nm@ti.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=ssantosh@kernel.org \
    --cc=t-kristo@ti.com \
    --cc=vigneshr@ti.com \
    /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).