From: Serge Semin <Sergey.Semin@baikalelectronics.ru>
To: Mark Brown <broonie@kernel.org>
Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>,
Serge Semin <fancer.lancer@gmail.com>,
Georgy Vlasov <Georgy.Vlasov@baikalelectronics.ru>,
Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>,
Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
Maxim Kaurkin <Maxim.Kaurkin@baikalelectronics.ru>,
Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,
Ekaterina Skachko <Ekaterina.Skachko@baikalelectronics.ru>,
Vadim Vlasov <V.Vlasov@baikalelectronics.ru>,
Alexey Kolotnikov <Alexey.Kolotnikov@baikalelectronics.ru>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Paul Burton <paulburton@kernel.org>,
Ralf Baechle <ralf@linux-mips.org>, Arnd Bergmann <arnd@arndb.de>,
Allison Randal <allison@lohutok.net>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Gareth Williams <gareth.williams.jx@renesas.com>,
Rob Herring <robh+dt@kernel.org>, <linux-mips@vger.kernel.org>,
<linux-spi@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Subject: [PATCH 00/17] spi: dw: Add generic DW DMA controller support
Date: Fri, 8 May 2020 16:29:25 +0300 [thread overview]
Message-ID: <20200508132943.9826-1-Sergey.Semin@baikalelectronics.ru> (raw)
Baikal-T1 SoC provides DW DMA controller to perform low-speed peripherals
Mem-to-Dev and Dev-to-Mem transaction. This is also applicable to the DW
APB SSI devices embedded into the SoC. Currently this type DMA device is
supported by the DW APB SPI driver only as a middle layer code for Intel
MID PCI devices. Seeing the same code can be used for normal platform
DW DMAC device we introduced a set of patches to fix it within this
patchset.
First of all traditionally we replaced the legacy plain text-based dt-binding
file with yaml-based one. Then we unpinned the Intel MID specific code from
the generic DMA one and placed it into the spi-dw-pci.c driver, which was a
better place for it anyway. Then we introduced a set of naming cleanups since
the code was going to be used for generic DW DMAC device and DMAC usage
alterations to handle the controller functionality in a generic way by the
DW APB SSI MMIO driver as well. See the individual patches commit messages
for details.
In addition we fixed a problem in the native chip-select method, which despite
of multiple attempts to be fixed doesn't correctly perceive the SPI_CS_HIGH
flag and the enable-argument.
Finally as a cherry on a cake we replaced the manually written DebugFS
registers read method with a ready-to-use for the same purpose regset32
DebugFS interface usage.
This patchset is rebased and tested on the mainline Linux kernel 5.7-rc4:
0e698dfa2822 ("Linux 5.7-rc4")
tag: v5.7-rc4
Co-developed-by: Georgy Vlasov <Georgy.Vlasov@baikalelectronics.ru>
Signed-off-by: Georgy Vlasov <Georgy.Vlasov@baikalelectronics.ru>
Co-developed-by: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>
Signed-off-by: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Maxim Kaurkin <Maxim.Kaurkin@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Cc: Ekaterina Skachko <Ekaterina.Skachko@baikalelectronics.ru>
Cc: Vadim Vlasov <V.Vlasov@baikalelectronics.ru>
Cc: Alexey Kolotnikov <Alexey.Kolotnikov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Allison Randal <allison@lohutok.net>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Gareth Williams <gareth.williams.jx@renesas.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: linux-spi@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Serge Semin (17):
dt-bindings: spi: Convert DW SPI binding to DT schema
dt-bindings: spi: dw: Add DMA properties bindings
spi: dw: Split up the generic DMA code and Intel MID driver
spi: dw: Cleanup generic DW DMA code namings
spi: dw: Discard static DW DMA slave structures
spi: dw: Add DW SPI DMA/PCI/MMIO dependency on DW SPI core
spi: dw: Add Tx/Rx finish wait methods to DMA
spi: dw: Clear DMAC register when done or stopped
spi: dw: Enable interrupts in accordance with DMA xfer mode
spi: dw: Parameterize the DMA Rx/Tx burst length
spi: dw: Fix native CS being unset
spi: dw: Fix dma_slave_config used partly uninitialized
spi: dw: Initialize paddr in DW SPI MMIO private data
spi: dw: Add DMA support to the DW SPI MMIO driver
spi: dw: Use DMA max burst to set the request thresholds
spi: dw: Fix Rx-only DMA transfers
spi: dw: Use regset32 DebugFS method to create a registers file
.../bindings/spi/snps,dw-apb-ssi.txt | 41 ---
.../bindings/spi/snps,dw-apb-ssi.yaml | 123 +++++++++
.../devicetree/bindings/spi/spi-dw.txt | 24 --
drivers/spi/Kconfig | 16 +-
drivers/spi/Makefile | 4 +-
drivers/spi/{spi-dw-mid.c => spi-dw-dma.c} | 237 ++++++++++++------
drivers/spi/spi-dw-mmio.c | 15 +-
drivers/spi/spi-dw-pci.c | 38 ++-
drivers/spi/spi-dw.c | 89 +++----
drivers/spi/spi-dw.h | 27 +-
10 files changed, 402 insertions(+), 212 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
create mode 100644 Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
delete mode 100644 Documentation/devicetree/bindings/spi/spi-dw.txt
rename drivers/spi/{spi-dw-mid.c => spi-dw-dma.c} (53%)
--
2.25.1
next reply other threads:[~2020-05-08 13:30 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-08 13:29 Serge Semin [this message]
2020-05-08 13:29 ` [PATCH 01/17] dt-bindings: spi: Convert DW SPI binding to DT schema Serge Semin
2020-05-08 19:39 ` Andy Shevchenko
2020-05-12 20:28 ` Serge Semin
2020-05-12 20:35 ` Andy Shevchenko
2020-05-08 13:29 ` [PATCH 02/17] dt-bindings: spi: dw: Add DMA properties bindings Serge Semin
2020-05-08 13:29 ` [PATCH 04/17] spi: dw: Cleanup generic DW DMA code namings Serge Semin
2020-05-08 19:43 ` Andy Shevchenko
2020-05-12 21:26 ` Serge Semin
2020-05-12 21:37 ` Andy Shevchenko
2020-05-08 13:29 ` [PATCH 06/17] spi: dw: Add DW SPI DMA/PCI/MMIO dependency on DW SPI core Serge Semin
2020-05-08 13:29 ` [PATCH 08/17] spi: dw: Clear DMAC register when done or stopped Serge Semin
2020-05-08 17:31 ` Mark Brown
2020-05-13 11:56 ` Serge Semin
2020-05-08 13:29 ` [PATCH 09/17] spi: dw: Enable interrupts in accordance with DMA xfer mode Serge Semin
2020-05-08 13:29 ` [PATCH 10/17] spi: dw: Parameterize the DMA Rx/Tx burst length Serge Semin
2020-05-08 13:29 ` [PATCH 12/17] spi: dw: Fix dma_slave_config used partly uninitialized Serge Semin
2020-05-08 19:20 ` Andy Shevchenko
2020-05-08 13:29 ` [PATCH 13/17] spi: dw: Initialize paddr in DW SPI MMIO private data Serge Semin
2020-05-08 19:21 ` Andy Shevchenko
2020-05-13 12:30 ` Serge Semin
2020-05-08 13:33 ` [PATCH 00/17] spi: dw: Add generic DW DMA controller support Mark Brown
2020-05-12 20:07 ` Serge Semin
2020-05-13 10:23 ` Mark Brown
2020-05-13 11:04 ` Serge Semin
2020-05-13 11:21 ` Mark Brown
2020-05-13 11:42 ` Serge Semin
[not found] ` <20200508132943.9826-8-Sergey.Semin@baikalelectronics.ru>
2020-05-08 17:30 ` [PATCH 07/17] spi: dw: Add Tx/Rx finish wait methods to DMA Mark Brown
[not found] ` <20200513113555.mjivjk374giopnea@mobilestation>
2020-05-13 11:36 ` Mark Brown
2020-05-08 17:36 ` [PATCH 00/17] spi: dw: Add generic DW DMA controller support Mark Brown
2020-05-08 19:16 ` Andy Shevchenko
2020-05-12 20:34 ` Serge Semin
2020-05-12 20:30 ` Serge Semin
[not found] ` <20200508132943.9826-15-Sergey.Semin@baikalelectronics.ru>
2020-05-08 19:23 ` [PATCH 14/17] spi: dw: Add DMA support to the DW SPI MMIO driver Andy Shevchenko
[not found] ` <20200508132943.9826-17-Sergey.Semin@baikalelectronics.ru>
2020-05-08 19:27 ` [PATCH 16/17] spi: dw: Fix Rx-only DMA transfers Andy Shevchenko
[not found] ` <20200508132943.9826-18-Sergey.Semin@baikalelectronics.ru>
2020-05-08 19:30 ` [PATCH 17/17] spi: dw: Use regset32 DebugFS method to create a registers file Andy Shevchenko
[not found] ` <20200513124422.z6ctlmvipwer45q4@mobilestation>
2020-05-13 14:41 ` Andy Shevchenko
2020-05-08 19:33 ` [PATCH 00/17] spi: dw: Add generic DW DMA controller support Andy Shevchenko
[not found] ` <20200508132943.9826-12-Sergey.Semin@baikalelectronics.ru>
2020-05-08 19:39 ` [PATCH 11/17] spi: dw: Fix native CS being unset Linus Walleij
[not found] ` <20200513001347.dyt357erev7vzy3l@mobilestation>
2020-05-14 8:31 ` Linus Walleij
[not found] ` <20200514115558.e6cqnuxqyqkysfn7@mobilestation>
2020-05-14 12:22 ` Andy Shevchenko
2020-05-14 13:03 ` Mark Brown
2020-05-14 14:35 ` Mark Brown
[not found] ` <20200508132943.9826-4-Sergey.Semin@baikalelectronics.ru>
2020-05-08 19:41 ` [PATCH 03/17] spi: dw: Split up the generic DMA code and Intel MID driver Andy Shevchenko
[not found] ` <20200508132943.9826-6-Sergey.Semin@baikalelectronics.ru>
2020-05-08 19:44 ` [PATCH 05/17] spi: dw: Discard static DW DMA slave structures Andy Shevchenko
2020-05-15 10:47 ` [PATCH v2 00/19] spi: dw: Add generic DW DMA controller support Serge Semin
2020-05-15 10:47 ` [PATCH v2 01/19] dt-bindings: spi: dw: Add Tx/Rx DMA properties Serge Semin
2020-05-15 11:51 ` Andy Shevchenko
2020-05-15 12:27 ` Mark Brown
2020-05-15 15:43 ` Serge Semin
2020-05-15 10:47 ` [PATCH v2 03/19] spi: dw: Clear DMAC register when done or stopped Serge Semin
2020-05-15 12:01 ` Andy Shevchenko
2020-05-15 16:42 ` Mark Brown
2020-05-15 17:21 ` Serge Semin
2020-05-15 10:47 ` [PATCH v2 05/19] spi: dw: Enable interrupts in accordance with DMA xfer mode Serge Semin
2020-05-15 12:27 ` Andy Shevchenko
2020-05-16 14:06 ` Serge Semin
2020-05-15 10:47 ` [PATCH v2 09/19] spi: dw: Parameterize the DMA Rx/Tx burst length Serge Semin
2020-05-15 14:01 ` Andy Shevchenko
[not found] ` <20200516143353.hw6nny5hbwgiyxfw@mobilestation>
2020-05-18 11:01 ` Andy Shevchenko
2020-05-18 12:41 ` Serge Semin
2020-05-15 10:47 ` [PATCH v2 10/19] spi: dw: Use DMA max burst to set the request thresholds Serge Semin
2020-05-15 14:38 ` Andy Shevchenko
[not found] ` <20200516200133.wmaqnfjbr7234fzo@mobilestation>
2020-05-18 11:03 ` Andy Shevchenko
2020-05-18 12:43 ` Mark Brown
2020-05-18 12:52 ` Serge Semin
2020-05-18 13:25 ` Andy Shevchenko
2020-05-18 13:43 ` Serge Semin
2020-05-18 14:48 ` Andy Shevchenko
2020-05-18 14:59 ` Serge Semin
2020-05-15 10:47 ` [PATCH v2 11/19] spi: dw: Initialize paddr in DW SPI MMIO private data Serge Semin
2020-05-15 14:39 ` Andy Shevchenko
2020-05-15 10:47 ` [PATCH v2 14/19] spi: dw: Remove DW DMA code dependency from DW_DMAC_PCI Serge Semin
2020-05-15 15:02 ` Andy Shevchenko
2020-05-15 10:47 ` [PATCH v2 15/19] spi: dw: Add DW SPI DMA/PCI/MMIO dependency on the DW SPI core Serge Semin
2020-05-15 15:03 ` Andy Shevchenko
2020-05-15 10:47 ` [PATCH v2 17/19] spi: dw: Add DMA support to the DW SPI MMIO driver Serge Semin
2020-05-15 15:08 ` Andy Shevchenko
2020-05-15 10:47 ` [PATCH v2 19/19] dt-bindings: spi: Convert DW SPI binding to DT schema Serge Semin
2020-05-16 20:59 ` Serge Semin
2020-05-15 11:49 ` [PATCH v2 00/19] spi: dw: Add generic DW DMA controller support Andy Shevchenko
2020-05-15 15:30 ` Serge Semin
[not found] ` <20200515104758.6934-3-Sergey.Semin@baikalelectronics.ru>
2020-05-15 12:01 ` [PATCH v2 02/19] spi: dw: Add Tx/Rx finish wait methods to the MID DMA Andy Shevchenko
2020-05-15 12:18 ` Mark Brown
2020-05-15 12:37 ` Andy Shevchenko
2020-05-15 12:41 ` Mark Brown
[not found] ` <20200515200250.zjsv5uaftwqcnwud@mobilestation>
2020-05-18 10:51 ` Mark Brown
[not found] ` <20200518110453.w3ko5a5yzwyr73ir@mobilestation>
2020-05-18 11:11 ` Mark Brown
[not found] ` <20200515194058.pmpd4wa7lw2dle3g@mobilestation>
2020-05-18 10:55 ` Andy Shevchenko
[not found] ` <20200515104758.6934-5-Sergey.Semin@baikalelectronics.ru>
2020-05-15 12:05 ` [PATCH v2 04/19] spi: dw: Fix native CS being unset Andy Shevchenko
[not found] ` <20200515104758.6934-7-Sergey.Semin@baikalelectronics.ru>
2020-05-15 12:34 ` [PATCH v2 06/19] spi: dw: Discard static DW DMA slave structures Andy Shevchenko
[not found] ` <20200516142030.kburieaxjg4n7c42@mobilestation>
2020-05-18 11:00 ` Andy Shevchenko
2020-05-18 11:38 ` Andy Shevchenko
[not found] ` <20200518123242.xoosc4pcj7heo4he@mobilestation>
2020-05-18 13:22 ` Andy Shevchenko
[not found] ` <20200515104758.6934-8-Sergey.Semin@baikalelectronics.ru>
2020-05-15 12:38 ` [PATCH v2 07/19] spi: dw: Discard unused void priv pointer Andy Shevchenko
[not found] ` <20200515104758.6934-9-Sergey.Semin@baikalelectronics.ru>
2020-05-15 13:03 ` [PATCH v2 08/19] spi: dw: Discard dma_width member of the dw_spi structure Andy Shevchenko
[not found] ` <20200515130559.psq2zwfhovt6rzhl@mobilestation>
2020-05-15 13:49 ` Andy Shevchenko
[not found] ` <20200515141627.pqdaic6wksatusl6@mobilestation>
2020-05-15 15:00 ` Andy Shevchenko
[not found] ` <20200515104758.6934-13-Sergey.Semin@baikalelectronics.ru>
2020-05-15 14:40 ` [PATCH v2 12/19] spi: dw: Fix Rx-only DMA transfers Andy Shevchenko
2020-05-15 16:55 ` Mark Brown
[not found] ` <20200515104758.6934-14-Sergey.Semin@baikalelectronics.ru>
2020-05-15 14:51 ` [PATCH v2 13/19] spi: dw: Move Non-DMA code to the DW PCIe-SPI driver Andy Shevchenko
[not found] ` <20200516201724.7q5uhxmzpr6xjooj@mobilestation>
[not found] ` <20200518125850.jnhaqlr2ticu3ivs@mobilestation>
2020-05-18 13:00 ` Mark Brown
[not found] ` <20200515104758.6934-19-Sergey.Semin@baikalelectronics.ru>
2020-05-15 15:10 ` [PATCH v2 18/19] spi: dw: Use regset32 DebugFS method to create regdump file Andy Shevchenko
[not found] ` <20200516204634.td52orxfnh7iewg6@mobilestation>
2020-05-18 11:18 ` Andy Shevchenko
[not found] ` <20200518140825.jnkfpybxnwq7fx2m@mobilestation>
2020-05-18 15:06 ` Andy Shevchenko
2020-05-15 18:21 ` [PATCH v2 00/19] spi: dw: Add generic DW DMA controller support Mark Brown
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=20200508132943.9826-1-Sergey.Semin@baikalelectronics.ru \
--to=sergey.semin@baikalelectronics.ru \
--cc=Alexey.Kolotnikov@baikalelectronics.ru \
--cc=Alexey.Malahov@baikalelectronics.ru \
--cc=Ekaterina.Skachko@baikalelectronics.ru \
--cc=Georgy.Vlasov@baikalelectronics.ru \
--cc=Maxim.Kaurkin@baikalelectronics.ru \
--cc=Pavel.Parkhomenko@baikalelectronics.ru \
--cc=Ramil.Zaripov@baikalelectronics.ru \
--cc=V.Vlasov@baikalelectronics.ru \
--cc=allison@lohutok.net \
--cc=andriy.shevchenko@linux.intel.com \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=fancer.lancer@gmail.com \
--cc=gareth.williams.jx@renesas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=paulburton@kernel.org \
--cc=ralf@linux-mips.org \
--cc=robh+dt@kernel.org \
--cc=tsbogend@alpha.franken.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;
as well as URLs for NNTP newsgroup(s).