Add Loongson-2K0300 APB DMA mux support
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest2 patches 1 replyIn review
- v23 patches 7 repliesSuperseded
- v13 patches 9 repliesSuperseded
Changes in v3 from the cover letter
Patch(1/2):
- Merged the two commits containing the dt-binding header file and the YAML file; no other changes were made;
- Add Acked-by tag from Conor.
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | dt-bindings: dma: Document DMA mux support for Loongson-2K0300Documentation/ MAINTAINERS include/ | +127 | 1 reply | |
| 2/2 | dmaengine: loongson: Add Loongson-2K0300 APB DMA mux driverMAINTAINERS drivers/ drivers/ | +406 | 0 replies |
Reviews trailers per patch
All 2 patches have a Reviewed-by or Acked-by.
| Patch | Frank Li | Conor Dooley |
|---|---|---|
| 1/2 | R-b | A-b |
| 2/2 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v3 0/2] Add Loongson-2K0300 APB DMA mux support
Hi all:
Loongson-2K0300 integrates a CMC DMA controller with 8 physical channels. Peripheral DMA requests are not hard-wired to these channels; they are routed through the CHIP_CTRL13/14/15 DMA_MAP fields.
This series adds support for that DMA request router.
Patch 1 adds the DT binding constants for the peripheral request IDs and yaml file for the DMA mux.
Patch 2 adds the driver, Kconfig symbol and Makefile entry.
The driver registers with of_dma_router_register(). In the route allocation callback it validates the <request> <channel> <flags> specifier, programs the SoC-specific route register, and forwards <channel> <flags> to the parent CMC DMA controller.
Thanks.
Binbin.
=========
V3:
Patch(1/2):
- Merged the two commits containing the dt-binding header file and the YAML file; no other changes were made;
- Add Acked-by tag from Conor.
Patch(2/2):
- Append the dmamux object to the existing CMC DMA line;
- Add loongson2_dmamux_assign_bits() helper, no functional change;
- Add Reviewed-by tag from Frank.
Link to V2:
https://lore.kernel.org/all/[email protected]/
V2:
Patch(1/3):
- Drop LS2K0300_DMA_REQ_MAX as it is not part of the ABI;
Patch(2/3):
- A more detailed description of dma-cells;
- Add the dma_requests constraint
Patch(3/3):
- Drop loongson2_dmamux_map->shift;
- Move of_parse_phandle() into loongson2_dmamux_route_allocate() avoid UAF;
- Drop loongson2_dmamux->dma_np;
- Check dma_requests;
- Add devm_add_action_or_reset() instead of .remove();
- Replace metux() with spinlock(), which has lower overhead;
- Add loongson2_dmamux_route_free().
Link to V1:
https://lore.kernel.org/all/[email protected]/
Binbin Zhou (2):
dt-bindings: dma: Document DMA mux support for Loongson-2K0300
dmaengine: loongson: Add Loongson-2K0300 APB DMA mux driver
.../dma/loongson,ls2k0300-dmamux.yaml | 72 ++++ MAINTAINERS | 3 + drivers/dma/loongson/Makefile | 2 +- drivers/dma/loongson/loongson2-apb-dmamux.c | 404 ++++++++++++++++++ .../dt-bindings/dma/loongson,ls2k-dmamux.h | 53 +++ 5 files changed, 533 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/dma/loongson,ls2k0300-dmamux.yaml create mode 100644 drivers/dma/loongson/loongson2-apb-dmamux.c create mode 100644 include/dt-bindings/dma/loongson,ls2k-dmamux.h
base-commit: aff5e6a77fc69a7c490246465940d18422d7c631
Signature · 1 line
2.52.0