Skip to content

Conversation

@kwd-doodling
Copy link
Contributor

It's a new DMA IP used for ISH since ISH 5.8.0.

@kwd-doodling kwd-doodling requested a review from Copilot December 17, 2025 00:57
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for the DW AXI DMA driver for Intel ISH version 5.8.0, introducing a new DMA IP architecture. The implementation includes hardware register definitions, channel management infrastructure, and conditional build logic to select between the legacy ANN 1.0 DMA driver (for ISH 5.4.1/5.6.0) and the new DW AXI driver (for ISH 5.8.0+).

Key changes:

  • Added comprehensive register definitions for the DW AXI DMA controller and miscellaneous registers
  • Implemented core DMA driver with support for memory-to-memory and peripheral transfers
  • Added conditional compilation in CMake to select appropriate driver based on SoC version

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
zephyr/drivers/dma/CMakeLists.txt Adds conditional compilation to select between legacy ANN 1.0 and new DW AXI DMA drivers based on ISH SoC version
bsp_sedi/soc/intel_ish/include/sedi_soc_regs.h Defines DMA channel and miscellaneous register offset constants
bsp_sedi/soc/intel_ish/include/sedi_soc_defs.h Removes unused DMA_MISC_FUNC constant
bsp_sedi/soc/common/include/sedi_dmac_regs.h Auto-generated register definitions for DW AXI DMA controller common registers
bsp_sedi/soc/common/include/sedi_dma_misc_regs.h Auto-generated register definitions for DMA miscellaneous control registers
bsp_sedi/drivers/dma/sedi_dma_dw_axi.c Complete DW AXI DMA driver implementation with channel control, transfer operations, and interrupt handling

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

It's a new DMA IP used for ISH since ISH 5.8.0.
The source file is a copy of ISH code base.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
Have its function enabled always.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
- Fix direction checks: use logical OR (||) instead of bitwise OR (|)
  when testing config->direction.
- Remove unreachable return in cal_block_ts().
- Use bitwise OR (|) when composing CHENREG write mask instead of '+':
  addition can produce incorrect results if bits overlap; | correctly
  sets the intended bit flags.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
Run clang-format on it and make it pass checkpatch checking.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Checkpatch reports spelling error on them. Those are defined in ISH old OSXML
files and not in LNL PV version. And currently they're not used by DMA driver.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
@kwd-doodling kwd-doodling marked this pull request as ready for review December 22, 2025 07:16
@kwd-doodling kwd-doodling merged commit 9997b22 into main Dec 25, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants