From: Eddie James <eajames@linux.ibm.com>
To: linux-aspeed@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
robh+dt@kernel.org, joel@jms.id.au, andrew@aj.id.au,
eajames@linux.ibm.com
Subject: [PATCH v11 0/8] soc: aspeed: Add XDMA engine driver
Date: Tue, 5 May 2020 11:58:17 -0500 [thread overview]
Message-ID: <1588697905-23444-1-git-send-email-eajames@linux.ibm.com> (raw)
This series adds a driver to control the Aspeed XDMA engine embedded in the
AST2500 and AST2600. The XDMA engine performs automatic DMA operations
over PCI-E between the Aspeed SOC (acting as a BMC) and a host processor.
Changes since v10:
- Fix devicetree binding documentation
- Add patches to enable the device on witherspoon and tacoma systems
- Fix the driver to actually use the updated bindings
- Remove the device managed memory in favor of manually allocating and freeing
This adds considerable complexity to the probe function and requires the
use of a kobject and associated release method, but it fixes the problem of
the device context being deleted during an operation or with memory still
mapped if the device is unbound from the driver
- Remove the client kref system
- Reset the device when a user closes a file handle with an on-going operation
Changes since v9:
- Remove the kernel command queue
- Use memcpy_toio instead to copy commands to the buffer
- Free the client's genalloc'd memory in the release method
- Switch the bindings documentation to yaml
- Add patches to fix SCU interrupt controller include
Changes since v8:
- Use DMA API to allocate memory from reserved region.
- Fix the driver for the AST2500 by keeping the command queue in kernel
memory and copying the whole buffer to the reserved memory area before
starting the operation.
- Add krefs to the client structure to prevent use-after-free.
- Switch reset-names binding to "device", "root-complex"
Eddie James (8):
dt-bindings: soc: Add Aspeed XDMA Engine
soc: aspeed: Add XDMA Engine Driver
soc: aspeed: xdma: Add user interface
soc: aspeed: xdma: Add reset ioctl
ARM: dts: Aspeed: AST2600: Update XDMA engine node
ARM: dts: Aspeed: AST2500: Update XDMA engine node
ARM: dts: Aspeed: Witherspoon: Enable XDMA engine
ARM: dts: Aspeed: Tacoma: Enable XDMA engine
.../devicetree/bindings/soc/aspeed/xdma.yaml | 103 ++
MAINTAINERS | 8 +
arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts | 11 +
arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts | 11 +
arch/arm/boot/dts/aspeed-g5.dtsi | 5 +-
arch/arm/boot/dts/aspeed-g6.dtsi | 8 +-
drivers/soc/aspeed/Kconfig | 8 +
drivers/soc/aspeed/Makefile | 1 +
drivers/soc/aspeed/aspeed-xdma.c | 1205 ++++++++++++++++++++
include/uapi/linux/aspeed-xdma.h | 42 +
10 files changed, 1397 insertions(+), 5 deletions(-)
create mode 100644 Documentation/devicetree/bindings/soc/aspeed/xdma.yaml
create mode 100644 drivers/soc/aspeed/aspeed-xdma.c
create mode 100644 include/uapi/linux/aspeed-xdma.h
--
1.8.3.1
next reply other threads:[~2020-05-05 16:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-05 16:58 Eddie James [this message]
2020-05-05 16:58 ` [PATCH v11 1/8] dt-bindings: soc: Add Aspeed XDMA Engine Eddie James
2020-05-06 19:36 ` Rob Herring
2020-05-05 16:58 ` [PATCH v11 2/8] soc: aspeed: Add XDMA Engine Driver Eddie James
2020-05-05 16:58 ` [PATCH v11 3/8] soc: aspeed: xdma: Add user interface Eddie James
2020-05-05 16:58 ` [PATCH v11 4/8] soc: aspeed: xdma: Add reset ioctl Eddie James
2020-05-05 16:58 ` [PATCH v11 5/8] ARM: dts: Aspeed: AST2600: Update XDMA engine node Eddie James
2020-05-05 16:58 ` [PATCH v11 6/8] ARM: dts: Aspeed: AST2500: " Eddie James
2020-05-05 16:58 ` [PATCH v11 7/8] ARM: dts: Aspeed: Witherspoon: Enable XDMA engine Eddie James
2020-05-05 16:58 ` [PATCH v11 8/8] ARM: dts: Aspeed: Tacoma: " Eddie James
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=1588697905-23444-1-git-send-email-eajames@linux.ibm.com \
--to=eajames@linux.ibm.com \
--cc=andrew@aj.id.au \
--cc=devicetree@vger.kernel.org \
--cc=joel@jms.id.au \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh+dt@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).