diff mbox series

[v2,4/7] dmaengine: fsl-edma-common: version check for v2 instead

Message ID 20190527085118.40423-5-yibin.gong@nxp.com (mailing list archive)
State Changes Requested
Headers show
Series add edma2 for i.mx7ulp | expand

Commit Message

Robin Gong May 27, 2019, 8:51 a.m. UTC
From: Robin Gong <yibin.gong@nxp.com>

The next v3 i.mx7ulp edma is based on v1, so change version
check logic for v2 instead.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
---
 drivers/dma/fsl-edma-common.c | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

Comments

Sascha Hauer May 27, 2019, 9:08 a.m. UTC | #1
On Mon, May 27, 2019 at 04:51:15PM +0800, yibin.gong@nxp.com wrote:
> From: Robin Gong <yibin.gong@nxp.com>
> 
> The next v3 i.mx7ulp edma is based on v1, so change version
> check logic for v2 instead.
> 
> Signed-off-by: Robin Gong <yibin.gong@nxp.com>
> ---
>  drivers/dma/fsl-edma-common.c | 40 ++++++++++++++++++++--------------------
>  1 file changed, 20 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c
> index bb24251..45d70d3 100644
> --- a/drivers/dma/fsl-edma-common.c
> +++ b/drivers/dma/fsl-edma-common.c
> @@ -657,26 +657,26 @@ void fsl_edma_setup_regs(struct fsl_edma_engine *edma)
>  	edma->regs.erql = edma->membase + EDMA_ERQ;
>  	edma->regs.eeil = edma->membase + EDMA_EEI;
>  
> -	edma->regs.serq = edma->membase + ((edma->version == v1) ?
> -			EDMA_SERQ : EDMA64_SERQ);
> -	edma->regs.cerq = edma->membase + ((edma->version == v1) ?
> -			EDMA_CERQ : EDMA64_CERQ);
> -	edma->regs.seei = edma->membase + ((edma->version == v1) ?
> -			EDMA_SEEI : EDMA64_SEEI);
> -	edma->regs.ceei = edma->membase + ((edma->version == v1) ?
> -			EDMA_CEEI : EDMA64_CEEI);
> -	edma->regs.cint = edma->membase + ((edma->version == v1) ?
> -			EDMA_CINT : EDMA64_CINT);
> -	edma->regs.cerr = edma->membase + ((edma->version == v1) ?
> -			EDMA_CERR : EDMA64_CERR);
> -	edma->regs.ssrt = edma->membase + ((edma->version == v1) ?
> -			EDMA_SSRT : EDMA64_SSRT);
> -	edma->regs.cdne = edma->membase + ((edma->version == v1) ?
> -			EDMA_CDNE : EDMA64_CDNE);
> -	edma->regs.intl = edma->membase + ((edma->version == v1) ?
> -			EDMA_INTR : EDMA64_INTL);
> -	edma->regs.errl = edma->membase + ((edma->version == v1) ?
> -			EDMA_ERR : EDMA64_ERRL);
> +	edma->regs.serq = edma->membase + ((edma->version == v2) ?
> +			EDMA64_SERQ : EDMA_SERQ);
> +	edma->regs.cerq = edma->membase + ((edma->version == v2) ?
> +			EDMA64_CERQ : EDMA_CERQ);
> +	edma->regs.seei = edma->membase + ((edma->version == v2) ?
> +			EDMA64_SEEI : EDMA_SEEI);
> +	edma->regs.ceei = edma->membase + ((edma->version == v2) ?
> +			EDMA64_CEEI : EDMA_CEEI);
> +	edma->regs.cint = edma->membase + ((edma->version == v2) ?
> +			EDMA64_CINT : EDMA_CINT);
> +	edma->regs.cerr = edma->membase + ((edma->version == v2) ?
> +			EDMA64_CERR : EDMA_CERR);
> +	edma->regs.ssrt = edma->membase + ((edma->version == v2) ?
> +			EDMA64_SSRT : EDMA_SSRT);
> +	edma->regs.cdne = edma->membase + ((edma->version == v2) ?
> +			EDMA64_CDNE : EDMA_CDNE);
> +	edma->regs.intl = edma->membase + ((edma->version == v2) ?
> +			EDMA64_INTL : EDMA_INTR);
> +	edma->regs.errl = edma->membase + ((edma->version == v2) ?
> +			EDMA64_ERRL : EDMA_ERR);

Following to what I have said to 6/7 you can put the register offsets
into that new struct aswell.

Sascha
Robin Gong May 27, 2019, 9:52 a.m. UTC | #2
On 2019-05-27 at 09:08 +0000, Sascha Hauer wrote:
> On Mon, May 27, 2019 at 04:51:15PM +0800, yibin.gong@nxp.com wrote:
> > 
> > From: Robin Gong <yibin.gong@nxp.com>
> > 
> > The next v3 i.mx7ulp edma is based on v1, so change version
> > check logic for v2 instead.
> > 
> > Signed-off-by: Robin Gong <yibin.gong@nxp.com>
> > ---
> >  drivers/dma/fsl-edma-common.c | 40 ++++++++++++++++++++-----------
> > ---------
> >  1 file changed, 20 insertions(+), 20 deletions(-)
> > 
> > diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-
> > common.c
> > index bb24251..45d70d3 100644
> > --- a/drivers/dma/fsl-edma-common.c
> > +++ b/drivers/dma/fsl-edma-common.c
> > @@ -657,26 +657,26 @@ void fsl_edma_setup_regs(struct
> > fsl_edma_engine *edma)
> >  	edma->regs.erql = edma->membase + EDMA_ERQ;
> >  	edma->regs.eeil = edma->membase + EDMA_EEI;
> >  
> > -	edma->regs.serq = edma->membase + ((edma->version == v1) ?
> > -			EDMA_SERQ : EDMA64_SERQ);
> > -	edma->regs.cerq = edma->membase + ((edma->version == v1) ?
> > -			EDMA_CERQ : EDMA64_CERQ);
> > -	edma->regs.seei = edma->membase + ((edma->version == v1) ?
> > -			EDMA_SEEI : EDMA64_SEEI);
> > -	edma->regs.ceei = edma->membase + ((edma->version == v1) ?
> > -			EDMA_CEEI : EDMA64_CEEI);
> > -	edma->regs.cint = edma->membase + ((edma->version == v1) ?
> > -			EDMA_CINT : EDMA64_CINT);
> > -	edma->regs.cerr = edma->membase + ((edma->version == v1) ?
> > -			EDMA_CERR : EDMA64_CERR);
> > -	edma->regs.ssrt = edma->membase + ((edma->version == v1) ?
> > -			EDMA_SSRT : EDMA64_SSRT);
> > -	edma->regs.cdne = edma->membase + ((edma->version == v1) ?
> > -			EDMA_CDNE : EDMA64_CDNE);
> > -	edma->regs.intl = edma->membase + ((edma->version == v1) ?
> > -			EDMA_INTR : EDMA64_INTL);
> > -	edma->regs.errl = edma->membase + ((edma->version == v1) ?
> > -			EDMA_ERR : EDMA64_ERRL);
> > +	edma->regs.serq = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_SERQ : EDMA_SERQ);
> > +	edma->regs.cerq = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_CERQ : EDMA_CERQ);
> > +	edma->regs.seei = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_SEEI : EDMA_SEEI);
> > +	edma->regs.ceei = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_CEEI : EDMA_CEEI);
> > +	edma->regs.cint = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_CINT : EDMA_CINT);
> > +	edma->regs.cerr = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_CERR : EDMA_CERR);
> > +	edma->regs.ssrt = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_SSRT : EDMA_SSRT);
> > +	edma->regs.cdne = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_CDNE : EDMA_CDNE);
> > +	edma->regs.intl = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_INTL : EDMA_INTR);
> > +	edma->regs.errl = edma->membase + ((edma->version == v2) ?
> > +			EDMA64_ERRL : EDMA_ERR);
> Following to what I have said to 6/7 you can put the register offsets
> into that new struct aswell.
> 
> Sascha
Understood your point, but the logic of fsl-edma-common.c is the common
functions array provided to be called in fsl-edma.c or mcf-edma.c, not
different specific functions in fsl-edma.c or mcf-edma.c.   
>
diff mbox series

Patch

diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c
index bb24251..45d70d3 100644
--- a/drivers/dma/fsl-edma-common.c
+++ b/drivers/dma/fsl-edma-common.c
@@ -657,26 +657,26 @@  void fsl_edma_setup_regs(struct fsl_edma_engine *edma)
 	edma->regs.erql = edma->membase + EDMA_ERQ;
 	edma->regs.eeil = edma->membase + EDMA_EEI;
 
-	edma->regs.serq = edma->membase + ((edma->version == v1) ?
-			EDMA_SERQ : EDMA64_SERQ);
-	edma->regs.cerq = edma->membase + ((edma->version == v1) ?
-			EDMA_CERQ : EDMA64_CERQ);
-	edma->regs.seei = edma->membase + ((edma->version == v1) ?
-			EDMA_SEEI : EDMA64_SEEI);
-	edma->regs.ceei = edma->membase + ((edma->version == v1) ?
-			EDMA_CEEI : EDMA64_CEEI);
-	edma->regs.cint = edma->membase + ((edma->version == v1) ?
-			EDMA_CINT : EDMA64_CINT);
-	edma->regs.cerr = edma->membase + ((edma->version == v1) ?
-			EDMA_CERR : EDMA64_CERR);
-	edma->regs.ssrt = edma->membase + ((edma->version == v1) ?
-			EDMA_SSRT : EDMA64_SSRT);
-	edma->regs.cdne = edma->membase + ((edma->version == v1) ?
-			EDMA_CDNE : EDMA64_CDNE);
-	edma->regs.intl = edma->membase + ((edma->version == v1) ?
-			EDMA_INTR : EDMA64_INTL);
-	edma->regs.errl = edma->membase + ((edma->version == v1) ?
-			EDMA_ERR : EDMA64_ERRL);
+	edma->regs.serq = edma->membase + ((edma->version == v2) ?
+			EDMA64_SERQ : EDMA_SERQ);
+	edma->regs.cerq = edma->membase + ((edma->version == v2) ?
+			EDMA64_CERQ : EDMA_CERQ);
+	edma->regs.seei = edma->membase + ((edma->version == v2) ?
+			EDMA64_SEEI : EDMA_SEEI);
+	edma->regs.ceei = edma->membase + ((edma->version == v2) ?
+			EDMA64_CEEI : EDMA_CEEI);
+	edma->regs.cint = edma->membase + ((edma->version == v2) ?
+			EDMA64_CINT : EDMA_CINT);
+	edma->regs.cerr = edma->membase + ((edma->version == v2) ?
+			EDMA64_CERR : EDMA_CERR);
+	edma->regs.ssrt = edma->membase + ((edma->version == v2) ?
+			EDMA64_SSRT : EDMA_SSRT);
+	edma->regs.cdne = edma->membase + ((edma->version == v2) ?
+			EDMA64_CDNE : EDMA_CDNE);
+	edma->regs.intl = edma->membase + ((edma->version == v2) ?
+			EDMA64_INTL : EDMA_INTR);
+	edma->regs.errl = edma->membase + ((edma->version == v2) ?
+			EDMA64_ERRL : EDMA_ERR);
 
 	if (edma->version == v2) {
 		edma->regs.erqh = edma->membase + EDMA64_ERQH;