From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 2/7] soc: ti: k3: add navss ringacc driver
Date: Fri, 1 Feb 2019 10:32:30 -0500 [thread overview]
Message-ID: <20190201153230.GC30838@bill-the-cat> (raw)
In-Reply-To: <20190129055729.25553-3-vigneshr@ti.com>
On Tue, Jan 29, 2019 at 11:27:24AM +0530, Vignesh R wrote:
> From: Grygorii Strashko <grygorii.strashko@ti.com>
>
> The Ring Accelerator (RINGACC or RA) provides hardware acceleration to
> enable straightforward passing of work between a producer and a consumer.
> There is one RINGACC module per NAVSS on TI AM65x SoCs.
>
> The RINGACC converts constant-address read and write accesses to equivalent
> read or write accesses to a circular data structure in memory. The RINGACC
> eliminates the need for each DMA controller which needs to access ring
> elements from having to know the current state of the ring (base address,
> current offset). The DMA controller performs a read or write access to a
> specific address range (which maps to the source interface on the RINGACC)
> and the RINGACC replaces the address for the transaction with a new address
> which corresponds to the head or tail element of the ring (head for reads,
> tail for writes). Since the RINGACC maintains the state, multiple DMA
> controllers or channels are allowed to coherently share the same rings as
> applicable. The RINGACC is able to place data which is destined towards
> software into cached memory directly.
>
> Supported ring modes:
> - Ring Mode
> - Messaging Mode
> - Credentials Mode
> - Queue Manager Mode
>
> TI-SCI integration:
>
> Texas Instrument's System Control Interface (TI-SCI) Message Protocol now
> has control over Ringacc module resources management (RM) and Rings
> configuration.
>
> The Ringacc driver manages Rings allocation by itself now and requests
> TI-SCI firmware to allocate and configure specific Rings only. It's done
> this way because, Linux driver implements two stage Rings allocation and
> configuration (allocate ring and configure ring) while TI-SCI Message
> Protocol supports only one combined operation (allocate+configure).
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> Signed-off-by: Vignesh R <vigneshr@ti.com>
> ---
> drivers/Kconfig | 2 +
> drivers/soc/Kconfig | 5 +
> drivers/soc/Makefile | 1 +
> drivers/soc/ti/Kconfig | 20 +
> drivers/soc/ti/Makefile | 5 +
> drivers/soc/ti/k3-navss-ringacc.c | 1096 +++++++++++++++++++++++
> include/linux/soc/ti/k3-navss-ringacc.h | 246 +++++
> 7 files changed, 1375 insertions(+)
> create mode 100644 drivers/soc/Kconfig
> create mode 100644 drivers/soc/ti/Kconfig
> create mode 100644 drivers/soc/ti/Makefile
> create mode 100644 drivers/soc/ti/k3-navss-ringacc.c
> create mode 100644 include/linux/soc/ti/k3-navss-ringacc.h
[snip]
> +#ifdef DEBUG
> +#define k3_nav_dbg(dev, arg...) dev_err(dev, arg)
> +static void dbg_writel(u32 v, void __iomem *reg)
> +{
> + pr_err("WRITEL(32): v(%08X)-->reg(%p)\n", v, reg);
> + writel(v, reg);
> +}
> +
> +static u32 dbg_readl(void __iomem *reg)
> +{
> + u32 v;
> +
> + v = readl(reg);
> + pr_err("READL(32): v(%08X)<--reg(%p)\n", v, reg);
> + return v;
> +}
> +#else
No more new debug macros / functions please. If it's worth having in
the driver now that it's being submitted it's worth using the right
level of pr_xxx directly, or not having at all. Thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190201/7bc3d57b/attachment.sig>
next prev parent reply other threads:[~2019-02-01 15:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-29 5:57 [U-Boot] [PATCH v3 0/7] AM65x: Add DMA support Vignesh R
2019-01-29 5:57 ` [U-Boot] [PATCH v3 1/7] firmware: ti_sci: Add support for NAVSS resource management Vignesh R
2019-01-29 5:57 ` [U-Boot] [PATCH v3 2/7] soc: ti: k3: add navss ringacc driver Vignesh R
2019-02-01 15:32 ` Tom Rini [this message]
2019-01-29 5:57 ` [U-Boot] [PATCH v3 3/7] soc: ti: k3: add CPPI5 description and helpers Vignesh R
2019-02-01 15:32 ` Tom Rini
2019-01-29 5:57 ` [U-Boot] [PATCH v3 4/7] dma: ti: add driver to K3 UDMA Vignesh R
2019-02-01 15:35 ` Tom Rini
2019-01-29 5:57 ` [U-Boot] [PATCH v3 5/7] soc: keystone: Merge into TI specific directory Vignesh R
2019-02-01 15:35 ` Tom Rini
2019-01-29 5:57 ` [U-Boot] [PATCH v3 6/7] arm64: dts: ti: k3-am65: add mcu navss nodes Vignesh R
2019-02-01 15:35 ` Tom Rini
2019-01-29 5:57 ` [U-Boot] [PATCH v3 7/7] configs: am65x_evm_a53: Enable DMA related configs Vignesh R
2019-02-01 15:35 ` Tom Rini
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=20190201153230.GC30838@bill-the-cat \
--to=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/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