Message ID | 20240316-loongson1-dma-v6-0-90de2c3cc928@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Add support for Loongson1 DMA | expand |
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> > >
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> > > > >
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
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.
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
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.
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"?
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
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.
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.