mbox series

[v6,0/2] Add support for Loongson1 DMA

Message ID 20240316-loongson1-dma-v6-0-90de2c3cc928@gmail.com (mailing list archive)
Headers show
Series Add support for Loongson1 DMA | expand

Message

Keguang Zhang via B4 Relay March 16, 2024, 11:33 a.m. UTC
Add the driver and dt-binding document for Loongson1 DMA.

Changelog
V5 -> V6:
   Change the compatible to the fallback
   Implement .device_prep_dma_cyclic for Loongson1 sound driver,
   as well as .device_pause and .device_resume.
   Set the limitation LS1X_DMA_MAX_DESC and put all descriptors
   into one page to save memory
   Move dma_pool_zalloc() into ls1x_dma_alloc_desc()
   Drop dma_slave_config structure
   Use .remove_new instead of .remove
   Use KBUILD_MODNAME for the driver name
   Improve the debug information
   Some minor fixes
V4 -> V5:
   Add the dt-binding document
   Add DT support
   Use DT information instead of platform data
   Use chan_id of struct dma_chan instead of own id
   Use of_dma_xlate_by_chan_id() instead of ls1x_dma_filter()
   Update the author information to my official name
V3 -> V4:
   Use dma_slave_map to find the proper channel.
   Explicitly call devm_request_irq() and tasklet_kill().
   Fix namespace issue.
   Some minor fixes and cleanups.
V2 -> V3:
   Rename ls1x_dma_filter_fn to ls1x_dma_filter.
V1 -> V2:
   Change the config from 'DMA_LOONGSON1' to 'LOONGSON1_DMA',
   and rearrange it in alphabetical order in Kconfig and Makefile.
   Fix comment style.

Keguang Zhang (2):
  dt-bindings: dma: Add Loongson-1 DMA
  dmaengine: Loongson1: Add Loongson1 dmaengine driver

 .../bindings/dma/loongson,ls1x-dma.yaml       |  64 +++
 drivers/dma/Kconfig                           |   9 +
 drivers/dma/Makefile                          |   1 +
 drivers/dma/loongson1-dma.c                   | 492 ++++++++++++++++++
 4 files changed, 566 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/dma/loongson,ls1x-dma.yaml
 create mode 100644 drivers/dma/loongson1-dma.c

--
2.39.2

base-commit: 719136e5c24768ebdf80b9daa53facebbdd377c3
---
Keguang Zhang (2):
      dt-bindings: dma: Add Loongson-1 DMA
      dmaengine: Loongson1: Add Loongson1 dmaengine driver

 .../devicetree/bindings/dma/loongson,ls1x-dma.yaml |  66 ++
 drivers/dma/Kconfig                                |   9 +
 drivers/dma/Makefile                               |   1 +
 drivers/dma/loongson1-dma.c                        | 665 +++++++++++++++++++++
 4 files changed, 741 insertions(+)
---
base-commit: a1e7655b77e3391b58ac28256789ea45b1685abb
change-id: 20231120-loongson1-dma-163afe5708b9

Best regards,

Comments

Huacai Chen March 16, 2024, 2:04 p.m. UTC | #1
Hi, Keguang,

Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
not sure but can they share the same code base? If not, can rename
this driver to ls1x-apb-dma for consistency?

Huacai

On Sat, Mar 16, 2024 at 7:34 PM Keguang Zhang via B4 Relay
<devnull+keguang.zhang.gmail.com@kernel.org> wrote:
>
> Add the driver and dt-binding document for Loongson1 DMA.
>
> Changelog
> V5 -> V6:
>    Change the compatible to the fallback
>    Implement .device_prep_dma_cyclic for Loongson1 sound driver,
>    as well as .device_pause and .device_resume.
>    Set the limitation LS1X_DMA_MAX_DESC and put all descriptors
>    into one page to save memory
>    Move dma_pool_zalloc() into ls1x_dma_alloc_desc()
>    Drop dma_slave_config structure
>    Use .remove_new instead of .remove
>    Use KBUILD_MODNAME for the driver name
>    Improve the debug information
>    Some minor fixes
> V4 -> V5:
>    Add the dt-binding document
>    Add DT support
>    Use DT information instead of platform data
>    Use chan_id of struct dma_chan instead of own id
>    Use of_dma_xlate_by_chan_id() instead of ls1x_dma_filter()
>    Update the author information to my official name
> V3 -> V4:
>    Use dma_slave_map to find the proper channel.
>    Explicitly call devm_request_irq() and tasklet_kill().
>    Fix namespace issue.
>    Some minor fixes and cleanups.
> V2 -> V3:
>    Rename ls1x_dma_filter_fn to ls1x_dma_filter.
> V1 -> V2:
>    Change the config from 'DMA_LOONGSON1' to 'LOONGSON1_DMA',
>    and rearrange it in alphabetical order in Kconfig and Makefile.
>    Fix comment style.
>
> Keguang Zhang (2):
>   dt-bindings: dma: Add Loongson-1 DMA
>   dmaengine: Loongson1: Add Loongson1 dmaengine driver
>
>  .../bindings/dma/loongson,ls1x-dma.yaml       |  64 +++
>  drivers/dma/Kconfig                           |   9 +
>  drivers/dma/Makefile                          |   1 +
>  drivers/dma/loongson1-dma.c                   | 492 ++++++++++++++++++
>  4 files changed, 566 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/dma/loongson,ls1x-dma.yaml
>  create mode 100644 drivers/dma/loongson1-dma.c
>
> --
> 2.39.2
>
> base-commit: 719136e5c24768ebdf80b9daa53facebbdd377c3
> ---
> Keguang Zhang (2):
>       dt-bindings: dma: Add Loongson-1 DMA
>       dmaengine: Loongson1: Add Loongson1 dmaengine driver
>
>  .../devicetree/bindings/dma/loongson,ls1x-dma.yaml |  66 ++
>  drivers/dma/Kconfig                                |   9 +
>  drivers/dma/Makefile                               |   1 +
>  drivers/dma/loongson1-dma.c                        | 665 +++++++++++++++++++++
>  4 files changed, 741 insertions(+)
> ---
> base-commit: a1e7655b77e3391b58ac28256789ea45b1685abb
> change-id: 20231120-loongson1-dma-163afe5708b9
>
> Best regards,
> --
> Keguang Zhang <keguang.zhang@gmail.com>
>
>
Keguang Zhang March 18, 2024, 2:07 a.m. UTC | #2
Hi Huacai,

> Hi, Keguang,
>
> Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
> not sure but can they share the same code base? If not, can rename
> this driver to ls1x-apb-dma for consistency?

There are some differences between ls1x DMA and ls2x DMA, such as
registers and DMA descriptors.
I will rename it to ls1x-apb-dma.
Thanks!

>
> Huacai
>
> On Sat, Mar 16, 2024 at 7:34 PM Keguang Zhang via B4 Relay
> <devnull+keguang.zhang.gmail.com@kernel.org> wrote:
> >
> > Add the driver and dt-binding document for Loongson1 DMA.
> >
> > Changelog
> > V5 -> V6:
> >    Change the compatible to the fallback
> >    Implement .device_prep_dma_cyclic for Loongson1 sound driver,
> >    as well as .device_pause and .device_resume.
> >    Set the limitation LS1X_DMA_MAX_DESC and put all descriptors
> >    into one page to save memory
> >    Move dma_pool_zalloc() into ls1x_dma_alloc_desc()
> >    Drop dma_slave_config structure
> >    Use .remove_new instead of .remove
> >    Use KBUILD_MODNAME for the driver name
> >    Improve the debug information
> >    Some minor fixes
> > V4 -> V5:
> >    Add the dt-binding document
> >    Add DT support
> >    Use DT information instead of platform data
> >    Use chan_id of struct dma_chan instead of own id
> >    Use of_dma_xlate_by_chan_id() instead of ls1x_dma_filter()
> >    Update the author information to my official name
> > V3 -> V4:
> >    Use dma_slave_map to find the proper channel.
> >    Explicitly call devm_request_irq() and tasklet_kill().
> >    Fix namespace issue.
> >    Some minor fixes and cleanups.
> > V2 -> V3:
> >    Rename ls1x_dma_filter_fn to ls1x_dma_filter.
> > V1 -> V2:
> >    Change the config from 'DMA_LOONGSON1' to 'LOONGSON1_DMA',
> >    and rearrange it in alphabetical order in Kconfig and Makefile.
> >    Fix comment style.
> >
> > Keguang Zhang (2):
> >   dt-bindings: dma: Add Loongson-1 DMA
> >   dmaengine: Loongson1: Add Loongson1 dmaengine driver
> >
> >  .../bindings/dma/loongson,ls1x-dma.yaml       |  64 +++
> >  drivers/dma/Kconfig                           |   9 +
> >  drivers/dma/Makefile                          |   1 +
> >  drivers/dma/loongson1-dma.c                   | 492 ++++++++++++++++++
> >  4 files changed, 566 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/dma/loongson,ls1x-dma.yaml
> >  create mode 100644 drivers/dma/loongson1-dma.c
> >
> > --
> > 2.39.2
> >
> > base-commit: 719136e5c24768ebdf80b9daa53facebbdd377c3
> > ---
> > Keguang Zhang (2):
> >       dt-bindings: dma: Add Loongson-1 DMA
> >       dmaengine: Loongson1: Add Loongson1 dmaengine driver
> >
> >  .../devicetree/bindings/dma/loongson,ls1x-dma.yaml |  66 ++
> >  drivers/dma/Kconfig                                |   9 +
> >  drivers/dma/Makefile                               |   1 +
> >  drivers/dma/loongson1-dma.c                        | 665 +++++++++++++++++++++
> >  4 files changed, 741 insertions(+)
> > ---
> > base-commit: a1e7655b77e3391b58ac28256789ea45b1685abb
> > change-id: 20231120-loongson1-dma-163afe5708b9
> >
> > Best regards,
> > --
> > Keguang Zhang <keguang.zhang@gmail.com>
> >
> >
Huacai Chen March 18, 2024, 7:31 a.m. UTC | #3
On Mon, Mar 18, 2024 at 10:08 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
>
> Hi Huacai,
>
> > Hi, Keguang,
> >
> > Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
> > not sure but can they share the same code base? If not, can rename
> > this driver to ls1x-apb-dma for consistency?
>
> There are some differences between ls1x DMA and ls2x DMA, such as
> registers and DMA descriptors.
> I will rename it to ls1x-apb-dma.
OK, please also rename the yaml file to keep consistency.

Huacai

> Thanks!
>
> >
> > Huacai
> >
> > On Sat, Mar 16, 2024 at 7:34 PM Keguang Zhang via B4 Relay
> > <devnull+keguang.zhang.gmail.com@kernel.org> wrote:
> > >
> > > Add the driver and dt-binding document for Loongson1 DMA.
> > >
> > > Changelog
> > > V5 -> V6:
> > >    Change the compatible to the fallback
> > >    Implement .device_prep_dma_cyclic for Loongson1 sound driver,
> > >    as well as .device_pause and .device_resume.
> > >    Set the limitation LS1X_DMA_MAX_DESC and put all descriptors
> > >    into one page to save memory
> > >    Move dma_pool_zalloc() into ls1x_dma_alloc_desc()
> > >    Drop dma_slave_config structure
> > >    Use .remove_new instead of .remove
> > >    Use KBUILD_MODNAME for the driver name
> > >    Improve the debug information
> > >    Some minor fixes
> > > V4 -> V5:
> > >    Add the dt-binding document
> > >    Add DT support
> > >    Use DT information instead of platform data
> > >    Use chan_id of struct dma_chan instead of own id
> > >    Use of_dma_xlate_by_chan_id() instead of ls1x_dma_filter()
> > >    Update the author information to my official name
> > > V3 -> V4:
> > >    Use dma_slave_map to find the proper channel.
> > >    Explicitly call devm_request_irq() and tasklet_kill().
> > >    Fix namespace issue.
> > >    Some minor fixes and cleanups.
> > > V2 -> V3:
> > >    Rename ls1x_dma_filter_fn to ls1x_dma_filter.
> > > V1 -> V2:
> > >    Change the config from 'DMA_LOONGSON1' to 'LOONGSON1_DMA',
> > >    and rearrange it in alphabetical order in Kconfig and Makefile.
> > >    Fix comment style.
> > >
> > > Keguang Zhang (2):
> > >   dt-bindings: dma: Add Loongson-1 DMA
> > >   dmaengine: Loongson1: Add Loongson1 dmaengine driver
> > >
> > >  .../bindings/dma/loongson,ls1x-dma.yaml       |  64 +++
> > >  drivers/dma/Kconfig                           |   9 +
> > >  drivers/dma/Makefile                          |   1 +
> > >  drivers/dma/loongson1-dma.c                   | 492 ++++++++++++++++++
> > >  4 files changed, 566 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/dma/loongson,ls1x-dma.yaml
> > >  create mode 100644 drivers/dma/loongson1-dma.c
> > >
> > > --
> > > 2.39.2
> > >
> > > base-commit: 719136e5c24768ebdf80b9daa53facebbdd377c3
> > > ---
> > > Keguang Zhang (2):
> > >       dt-bindings: dma: Add Loongson-1 DMA
> > >       dmaengine: Loongson1: Add Loongson1 dmaengine driver
> > >
> > >  .../devicetree/bindings/dma/loongson,ls1x-dma.yaml |  66 ++
> > >  drivers/dma/Kconfig                                |   9 +
> > >  drivers/dma/Makefile                               |   1 +
> > >  drivers/dma/loongson1-dma.c                        | 665 +++++++++++++++++++++
> > >  4 files changed, 741 insertions(+)
> > > ---
> > > base-commit: a1e7655b77e3391b58ac28256789ea45b1685abb
> > > change-id: 20231120-loongson1-dma-163afe5708b9
> > >
> > > Best regards,
> > > --
> > > Keguang Zhang <keguang.zhang@gmail.com>
> > >
> > >
>
>
>
> --
> Best regards,
>
> Keguang Zhang
Conor Dooley March 18, 2024, 11:28 a.m. UTC | #4
On Mon, Mar 18, 2024 at 03:31:59PM +0800, Huacai Chen wrote:
> On Mon, Mar 18, 2024 at 10:08 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
> >
> > Hi Huacai,
> >
> > > Hi, Keguang,
> > >
> > > Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
> > > not sure but can they share the same code base? If not, can rename
> > > this driver to ls1x-apb-dma for consistency?
> >
> > There are some differences between ls1x DMA and ls2x DMA, such as
> > registers and DMA descriptors.
> > I will rename it to ls1x-apb-dma.
> OK, please also rename the yaml file to keep consistency.

No, the yaml file needs to match the (one of the) compatible strings.
Huacai Chen March 18, 2024, 2:26 p.m. UTC | #5
Hi, Conor,

On Mon, Mar 18, 2024 at 7:28 PM Conor Dooley <conor@kernel.org> wrote:
>
> On Mon, Mar 18, 2024 at 03:31:59PM +0800, Huacai Chen wrote:
> > On Mon, Mar 18, 2024 at 10:08 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
> > >
> > > Hi Huacai,
> > >
> > > > Hi, Keguang,
> > > >
> > > > Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
> > > > not sure but can they share the same code base? If not, can rename
> > > > this driver to ls1x-apb-dma for consistency?
> > >
> > > There are some differences between ls1x DMA and ls2x DMA, such as
> > > registers and DMA descriptors.
> > > I will rename it to ls1x-apb-dma.
> > OK, please also rename the yaml file to keep consistency.
>
> No, the yaml file needs to match the (one of the) compatible strings.
OK, then I think we can also rename the compatible strings, if possible.

Huacai
Conor Dooley March 18, 2024, 3:42 p.m. UTC | #6
On Mon, Mar 18, 2024 at 10:26:51PM +0800, Huacai Chen wrote:
> Hi, Conor,
> 
> On Mon, Mar 18, 2024 at 7:28 PM Conor Dooley <conor@kernel.org> wrote:
> >
> > On Mon, Mar 18, 2024 at 03:31:59PM +0800, Huacai Chen wrote:
> > > On Mon, Mar 18, 2024 at 10:08 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
> > > >
> > > > Hi Huacai,
> > > >
> > > > > Hi, Keguang,
> > > > >
> > > > > Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
> > > > > not sure but can they share the same code base? If not, can rename
> > > > > this driver to ls1x-apb-dma for consistency?
> > > >
> > > > There are some differences between ls1x DMA and ls2x DMA, such as
> > > > registers and DMA descriptors.
> > > > I will rename it to ls1x-apb-dma.
> > > OK, please also rename the yaml file to keep consistency.
> >
> > No, the yaml file needs to match the (one of the) compatible strings.
> OK, then I think we can also rename the compatible strings, if possible.

If there are no other types of dma controller on this device, I do not
see why would we add "apb" into the compatible as there is nothing to
differentiate this controller from.
Keguang Zhang March 19, 2024, 2:32 a.m. UTC | #7
On Mon, Mar 18, 2024 at 11:42 PM Conor Dooley <conor@kernel.org> wrote:
>
> On Mon, Mar 18, 2024 at 10:26:51PM +0800, Huacai Chen wrote:
> > Hi, Conor,
> >
> > On Mon, Mar 18, 2024 at 7:28 PM Conor Dooley <conor@kernel.org> wrote:
> > >
> > > On Mon, Mar 18, 2024 at 03:31:59PM +0800, Huacai Chen wrote:
> > > > On Mon, Mar 18, 2024 at 10:08 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
> > > > >
> > > > > Hi Huacai,
> > > > >
> > > > > > Hi, Keguang,
> > > > > >
> > > > > > Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
> > > > > > not sure but can they share the same code base? If not, can rename
> > > > > > this driver to ls1x-apb-dma for consistency?
> > > > >
> > > > > There are some differences between ls1x DMA and ls2x DMA, such as
> > > > > registers and DMA descriptors.
> > > > > I will rename it to ls1x-apb-dma.
> > > > OK, please also rename the yaml file to keep consistency.
> > >
> > > No, the yaml file needs to match the (one of the) compatible strings.
> > OK, then I think we can also rename the compatible strings, if possible.
>
> If there are no other types of dma controller on this device, I do not
> see why would we add "apb" into the compatible as there is nothing to
> differentiate this controller from.

That's true. 1A/1B/1C only have one APB DMA.
Should I keep the compatible "ls1b-dma" and "ls1c-dma"?
Huacai Chen March 19, 2024, 2:40 a.m. UTC | #8
On Tue, Mar 19, 2024 at 10:32 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
>
> On Mon, Mar 18, 2024 at 11:42 PM Conor Dooley <conor@kernel.org> wrote:
> >
> > On Mon, Mar 18, 2024 at 10:26:51PM +0800, Huacai Chen wrote:
> > > Hi, Conor,
> > >
> > > On Mon, Mar 18, 2024 at 7:28 PM Conor Dooley <conor@kernel.org> wrote:
> > > >
> > > > On Mon, Mar 18, 2024 at 03:31:59PM +0800, Huacai Chen wrote:
> > > > > On Mon, Mar 18, 2024 at 10:08 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
> > > > > >
> > > > > > Hi Huacai,
> > > > > >
> > > > > > > Hi, Keguang,
> > > > > > >
> > > > > > > Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
> > > > > > > not sure but can they share the same code base? If not, can rename
> > > > > > > this driver to ls1x-apb-dma for consistency?
> > > > > >
> > > > > > There are some differences between ls1x DMA and ls2x DMA, such as
> > > > > > registers and DMA descriptors.
> > > > > > I will rename it to ls1x-apb-dma.
> > > > > OK, please also rename the yaml file to keep consistency.
> > > >
> > > > No, the yaml file needs to match the (one of the) compatible strings.
> > > OK, then I think we can also rename the compatible strings, if possible.
> >
> > If there are no other types of dma controller on this device, I do not
> > see why would we add "apb" into the compatible as there is nothing to
> > differentiate this controller from.
>
> That's true. 1A/1B/1C only have one APB DMA.
> Should I keep the compatible "ls1b-dma" and "ls1c-dma"?
The name "apbdma" comes from the user manual, "exchange data between
memory and apb devices", at present there are two drivers using this
naming: tegra20-apb-dma.c and ls2x-apb-dma.c.

Huacai

>
> --
> Best regards,
>
> Keguang Zhang
Conor Dooley March 19, 2024, 5:40 p.m. UTC | #9
On Tue, Mar 19, 2024 at 10:40:54AM +0800, Huacai Chen wrote:
> On Tue, Mar 19, 2024 at 10:32 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
> >
> > On Mon, Mar 18, 2024 at 11:42 PM Conor Dooley <conor@kernel.org> wrote:
> > >
> > > On Mon, Mar 18, 2024 at 10:26:51PM +0800, Huacai Chen wrote:
> > > > Hi, Conor,
> > > >
> > > > On Mon, Mar 18, 2024 at 7:28 PM Conor Dooley <conor@kernel.org> wrote:
> > > > >
> > > > > On Mon, Mar 18, 2024 at 03:31:59PM +0800, Huacai Chen wrote:
> > > > > > On Mon, Mar 18, 2024 at 10:08 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
> > > > > > >
> > > > > > > Hi Huacai,
> > > > > > >
> > > > > > > > Hi, Keguang,
> > > > > > > >
> > > > > > > > Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
> > > > > > > > not sure but can they share the same code base? If not, can rename
> > > > > > > > this driver to ls1x-apb-dma for consistency?
> > > > > > >
> > > > > > > There are some differences between ls1x DMA and ls2x DMA, such as
> > > > > > > registers and DMA descriptors.
> > > > > > > I will rename it to ls1x-apb-dma.
> > > > > > OK, please also rename the yaml file to keep consistency.
> > > > >
> > > > > No, the yaml file needs to match the (one of the) compatible strings.
> > > > OK, then I think we can also rename the compatible strings, if possible.
> > >
> > > If there are no other types of dma controller on this device, I do not
> > > see why would we add "apb" into the compatible as there is nothing to
> > > differentiate this controller from.
> >
> > That's true. 1A/1B/1C only have one APB DMA.
> > Should I keep the compatible "ls1b-dma" and "ls1c-dma"?
> The name "apbdma" comes from the user manual, "exchange data between
> memory and apb devices", at present there are two drivers using this
> naming: tegra20-apb-dma.c and ls2x-apb-dma.c.

I think it's unnessesary but I won't stand in your way.
Keguang Zhang March 20, 2024, 2:27 a.m. UTC | #10
On Wed, Mar 20, 2024 at 1:41 AM Conor Dooley <conor@kernel.org> wrote:
>
> On Tue, Mar 19, 2024 at 10:40:54AM +0800, Huacai Chen wrote:
> > On Tue, Mar 19, 2024 at 10:32 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
> > >
> > > On Mon, Mar 18, 2024 at 11:42 PM Conor Dooley <conor@kernel.org> wrote:
> > > >
> > > > On Mon, Mar 18, 2024 at 10:26:51PM +0800, Huacai Chen wrote:
> > > > > Hi, Conor,
> > > > >
> > > > > On Mon, Mar 18, 2024 at 7:28 PM Conor Dooley <conor@kernel.org> wrote:
> > > > > >
> > > > > > On Mon, Mar 18, 2024 at 03:31:59PM +0800, Huacai Chen wrote:
> > > > > > > On Mon, Mar 18, 2024 at 10:08 AM Keguang Zhang <keguang.zhang@gmail.com> wrote:
> > > > > > > >
> > > > > > > > Hi Huacai,
> > > > > > > >
> > > > > > > > > Hi, Keguang,
> > > > > > > > >
> > > > > > > > > Sorry for the late reply, there is already a ls2x-apb-dma driver, I'm
> > > > > > > > > not sure but can they share the same code base? If not, can rename
> > > > > > > > > this driver to ls1x-apb-dma for consistency?
> > > > > > > >
> > > > > > > > There are some differences between ls1x DMA and ls2x DMA, such as
> > > > > > > > registers and DMA descriptors.
> > > > > > > > I will rename it to ls1x-apb-dma.
> > > > > > > OK, please also rename the yaml file to keep consistency.
> > > > > >
> > > > > > No, the yaml file needs to match the (one of the) compatible strings.
> > > > > OK, then I think we can also rename the compatible strings, if possible.
> > > >
> > > > If there are no other types of dma controller on this device, I do not
> > > > see why would we add "apb" into the compatible as there is nothing to
> > > > differentiate this controller from.
> > >
> > > That's true. 1A/1B/1C only have one APB DMA.
> > > Should I keep the compatible "ls1b-dma" and "ls1c-dma"?
> > The name "apbdma" comes from the user manual, "exchange data between
> > memory and apb devices", at present there are two drivers using this
> > naming: tegra20-apb-dma.c and ls2x-apb-dma.c.
>
> I think it's unnessesary but I won't stand in your way.

Then I will follow Huacai's suggestion.
Thanks for your review, Conor and Huacai.