From: Vinod Koul <vkoul@kernel.org>
To: Basavaraj Natikar <bnatikar@amd.com>
Cc: Basavaraj Natikar <Basavaraj.Natikar@amd.com>,
dmaengine@vger.kernel.org, Raju.Rangoju@amd.com,
Frank.li@nxp.com, helgaas@kernel.org, pstanner@redhat.com
Subject: Re: [PATCH v6 4/6] dmaengine: ae4dma: Register AE4DMA using pt_dmaengine_register
Date: Wed, 23 Oct 2024 11:39:29 +0530 [thread overview]
Message-ID: <ZxiTGXxqHtYiTW0O@vaman> (raw)
In-Reply-To: <549a5919-117a-d96f-a00b-391ed142dc91@amd.com>
On 22-10-24, 10:53, Basavaraj Natikar wrote:
>
> On 10/21/2024 11:02 PM, Vinod Koul wrote:
> > On 09-09-24, 18:09, Basavaraj Natikar wrote:
> > > Use the pt_dmaengine_register function to register a AE4DMA DMA engine.
> > >
> > > Reviewed-by: Raju Rangoju <Raju.Rangoju@amd.com>
> > > Reviewed-by: Philipp Stanner <pstanner@redhat.com>
> > > Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
> > > ---
> > > drivers/dma/amd/ae4dma/ae4dma-dev.c | 51 +----------
> > > drivers/dma/amd/ae4dma/ae4dma-pci.c | 1 +
> > > drivers/dma/amd/ae4dma/ae4dma.h | 3 +
> > > drivers/dma/amd/ptdma/ptdma-dmaengine.c | 114 +++++++++++++++++++++++-
> > > drivers/dma/amd/ptdma/ptdma.h | 3 +
> > > 5 files changed, 123 insertions(+), 49 deletions(-)
> > >
> > > diff --git a/drivers/dma/amd/ae4dma/ae4dma-dev.c b/drivers/dma/amd/ae4dma/ae4dma-dev.c
> > > index f0b3a3763adc..cd84b502265e 100644
> > > --- a/drivers/dma/amd/ae4dma/ae4dma-dev.c
> > > +++ b/drivers/dma/amd/ae4dma/ae4dma-dev.c
> > > @@ -14,53 +14,6 @@ static unsigned int max_hw_q = 1;
> > > module_param(max_hw_q, uint, 0444);
> > > MODULE_PARM_DESC(max_hw_q, "max hw queues supported by engine (any non-zero value, default: 1)");
> > > -static char *ae4_error_codes[] = {
> > > - "",
> > > - "ERR 01: INVALID HEADER DW0",
> > > - "ERR 02: INVALID STATUS",
> > > - "ERR 03: INVALID LENGTH - 4 BYTE ALIGNMENT",
> > > - "ERR 04: INVALID SRC ADDR - 4 BYTE ALIGNMENT",
> > > - "ERR 05: INVALID DST ADDR - 4 BYTE ALIGNMENT",
> > > - "ERR 06: INVALID ALIGNMENT",
> > > - "ERR 07: INVALID DESCRIPTOR",
> > > -};
> > > -
> > > -static void ae4_log_error(struct pt_device *d, int e)
> > > -{
> > > - /* ERR 01 - 07 represents Invalid AE4 errors */
> > > - if (e <= 7)
> > > - dev_info(d->dev, "AE4DMA error: %s (0x%x)\n", ae4_error_codes[e], e);
> > > - /* ERR 08 - 15 represents Invalid Descriptor errors */
> > > - else if (e > 7 && e <= 15)
> > > - dev_info(d->dev, "AE4DMA error: %s (0x%x)\n", "INVALID DESCRIPTOR", e);
> > > - /* ERR 16 - 31 represents Firmware errors */
> > > - else if (e > 15 && e <= 31)
> > > - dev_info(d->dev, "AE4DMA error: %s (0x%x)\n", "FIRMWARE ERROR", e);
> > > - /* ERR 32 - 63 represents Fatal errors */
> > > - else if (e > 31 && e <= 63)
> > > - dev_info(d->dev, "AE4DMA error: %s (0x%x)\n", "FATAL ERROR", e);
> > > - /* ERR 64 - 255 represents PTE errors */
> > > - else if (e > 63 && e <= 255)
> > > - dev_info(d->dev, "AE4DMA error: %s (0x%x)\n", "PTE ERROR", e);
> > > - else
> > > - dev_info(d->dev, "Unknown AE4DMA error");
> > > -}
> > > -
> > > -static void ae4_check_status_error(struct ae4_cmd_queue *ae4cmd_q, int idx)
> > > -{
> > > - struct pt_cmd_queue *cmd_q = &ae4cmd_q->cmd_q;
> > > - struct ae4dma_desc desc;
> > > - u8 status;
> > > -
> > > - memcpy(&desc, &cmd_q->qbase[idx], sizeof(struct ae4dma_desc));
> > > - status = desc.dw1.status;
> > > - if (status && status != AE4_DESC_COMPLETED) {
> > > - cmd_q->cmd_error = desc.dw1.err_code;
> > > - if (cmd_q->cmd_error)
> > > - ae4_log_error(cmd_q->pt, cmd_q->cmd_error);
> > > - }
> > > -}
> > why is this getting moved?
>
> To avoid circular dependency between PTDMA and AE4DMA, we are reusing PTDMA code to prevent
> duplication, as AE4DMA depends on PTDMA.
Okay please move the code first and then do changes, that makes it easier to
review and follow
--
~Vinod
next prev parent reply other threads:[~2024-10-23 6:09 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-09 12:39 [PATCH v6 0/6] Add support of AMD AE4DMA DMA Engine Basavaraj Natikar
2024-09-09 12:39 ` [PATCH v6 1/6] dmaengine: Move AMD DMA driver to separate directory Basavaraj Natikar
2024-09-09 16:00 ` Bjorn Helgaas
2024-09-09 17:35 ` Basavaraj Natikar
2024-09-09 12:39 ` [PATCH v6 2/6] dmaengine: ae4dma: Add AMD ae4dma controller driver Basavaraj Natikar
2024-09-09 16:07 ` Bjorn Helgaas
2024-09-09 17:37 ` Basavaraj Natikar
2024-09-09 12:39 ` [PATCH v6 3/6] dmaengine: ptdma: Extend ptdma to support multi-channel and version Basavaraj Natikar
2024-09-09 12:39 ` [PATCH v6 4/6] dmaengine: ae4dma: Register AE4DMA using pt_dmaengine_register Basavaraj Natikar
2024-10-21 17:32 ` Vinod Koul
2024-10-22 5:23 ` Basavaraj Natikar
2024-10-23 6:09 ` Vinod Koul [this message]
2024-10-23 12:39 ` Basavaraj Natikar
2024-09-09 12:39 ` [PATCH v6 5/6] dmaengine: ptdma: Extend ptdma-debugfs to support multi-queue Basavaraj Natikar
2024-09-09 12:39 ` [PATCH v6 6/6] dmaengine: ae4dma: Register debugfs using ptdma_debugfs_setup Basavaraj Natikar
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=ZxiTGXxqHtYiTW0O@vaman \
--to=vkoul@kernel.org \
--cc=Basavaraj.Natikar@amd.com \
--cc=Frank.li@nxp.com \
--cc=Raju.Rangoju@amd.com \
--cc=bnatikar@amd.com \
--cc=dmaengine@vger.kernel.org \
--cc=helgaas@kernel.org \
--cc=pstanner@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.