diff mbox

[2/3] sh: sh7724: Add USBHS DMAEngine support

Message ID w3pk4cn62zn.wl%kuninori.morimoto.gx@renesas.com (mailing list archive)
State Accepted
Commit 261a9af671a79b750cb170bac620601d686535c1
Headers show

Commit Message

Kuninori Morimoto June 15, 2011, 6:08 a.m. UTC
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
---
 arch/sh/include/cpu-sh4/cpu/sh7724.h   |    8 ++++++
 arch/sh/kernel/cpu/sh4a/setup-sh7724.c |   40 ++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+), 0 deletions(-)

Comments

Guennadi Liakhovetski June 15, 2011, 7:01 a.m. UTC | #1
On Wed, 15 Jun 2011, Kuninori Morimoto wrote:

> Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
> ---
>  arch/sh/include/cpu-sh4/cpu/sh7724.h   |    8 ++++++
>  arch/sh/kernel/cpu/sh4a/setup-sh7724.c |   40 ++++++++++++++++++++++++++++++++
>  2 files changed, 48 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/sh/include/cpu-sh4/cpu/sh7724.h b/arch/sh/include/cpu-sh4/cpu/sh7724.h
> index 3daef8e..cbc47e6 100644
> --- a/arch/sh/include/cpu-sh4/cpu/sh7724.h
> +++ b/arch/sh/include/cpu-sh4/cpu/sh7724.h
> @@ -298,6 +298,14 @@ enum {
>  	SHDMA_SLAVE_SCIF4_RX,
>  	SHDMA_SLAVE_SCIF5_TX,
>  	SHDMA_SLAVE_SCIF5_RX,
> +	SHDMA_SLAVE_USB0D0_TX,
> +	SHDMA_SLAVE_USB0D0_RX,
> +	SHDMA_SLAVE_USB0D1_TX,
> +	SHDMA_SLAVE_USB0D1_RX,
> +	SHDMA_SLAVE_USB1D0_TX,
> +	SHDMA_SLAVE_USB1D0_RX,
> +	SHDMA_SLAVE_USB1D1_TX,
> +	SHDMA_SLAVE_USB1D1_RX,
>  	SHDMA_SLAVE_SDHI0_TX,
>  	SHDMA_SLAVE_SDHI0_RX,
>  	SHDMA_SLAVE_SDHI1_TX,

Any specific reason to add your IDs in the middle? Between IDs for another 
controller type?

> diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
> index 0333fe9..134a397 100644
> --- a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
> +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
> @@ -93,6 +93,46 @@ static const struct sh_dmae_slave_config sh7724_dmae_slaves[] = {
>  		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_8BIT),
>  		.mid_rid	= 0x36,
>  	}, {
> +		.slave_id	= SHDMA_SLAVE_USB0D0_TX,
> +		.addr		= 0xA4D80100,

Would be better to use consistent - lower casing.

> +		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
> +		.mid_rid	= 0x73,
> +	}, {
> +		.slave_id	= SHDMA_SLAVE_USB0D0_RX,
> +		.addr		= 0xA4D80100,
> +		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
> +		.mid_rid	= 0x73,
> +	}, {
> +		.slave_id	= SHDMA_SLAVE_USB0D1_TX,
> +		.addr		= 0xA4D80120,
> +		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
> +		.mid_rid	= 0x77,
> +	}, {
> +		.slave_id	= SHDMA_SLAVE_USB0D1_RX,
> +		.addr		= 0xA4D80120,
> +		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
> +		.mid_rid	= 0x77,
> +	}, {
> +		.slave_id	= SHDMA_SLAVE_USB1D0_TX,
> +		.addr		= 0xA4D90100,
> +		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
> +		.mid_rid	= 0xab,
> +	}, {
> +		.slave_id	= SHDMA_SLAVE_USB1D0_RX,
> +		.addr		= 0xA4D90100,
> +		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
> +		.mid_rid	= 0xab,
> +	}, {
> +		.slave_id	= SHDMA_SLAVE_USB1D1_TX,
> +		.addr		= 0xA4D90120,
> +		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
> +		.mid_rid	= 0xaf,
> +	}, {
> +		.slave_id	= SHDMA_SLAVE_USB1D1_RX,
> +		.addr		= 0xA4D90120,
> +		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
> +		.mid_rid	= 0xaf,
> +	}, {
>  		.slave_id	= SHDMA_SLAVE_SDHI0_TX,
>  		.addr		= 0x04ce0030,
>  		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_16BIT),

Why in the middle?

> -- 
> 1.7.4.1

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paul Mundt June 15, 2011, 7:16 a.m. UTC | #2
On Wed, Jun 15, 2011 at 09:01:02AM +0200, Guennadi Liakhovetski wrote:
> On Wed, 15 Jun 2011, Kuninori Morimoto wrote:
> 
> > Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
> > ---
> >  arch/sh/include/cpu-sh4/cpu/sh7724.h   |    8 ++++++
> >  arch/sh/kernel/cpu/sh4a/setup-sh7724.c |   40 ++++++++++++++++++++++++++++++++
> >  2 files changed, 48 insertions(+), 0 deletions(-)
> > 
> > diff --git a/arch/sh/include/cpu-sh4/cpu/sh7724.h b/arch/sh/include/cpu-sh4/cpu/sh7724.h
> > index 3daef8e..cbc47e6 100644
> > --- a/arch/sh/include/cpu-sh4/cpu/sh7724.h
> > +++ b/arch/sh/include/cpu-sh4/cpu/sh7724.h
> > @@ -298,6 +298,14 @@ enum {
> >  	SHDMA_SLAVE_SCIF4_RX,
> >  	SHDMA_SLAVE_SCIF5_TX,
> >  	SHDMA_SLAVE_SCIF5_RX,
> > +	SHDMA_SLAVE_USB0D0_TX,
> > +	SHDMA_SLAVE_USB0D0_RX,
> > +	SHDMA_SLAVE_USB0D1_TX,
> > +	SHDMA_SLAVE_USB0D1_RX,
> > +	SHDMA_SLAVE_USB1D0_TX,
> > +	SHDMA_SLAVE_USB1D0_RX,
> > +	SHDMA_SLAVE_USB1D1_TX,
> > +	SHDMA_SLAVE_USB1D1_RX,
> >  	SHDMA_SLAVE_SDHI0_TX,
> >  	SHDMA_SLAVE_SDHI0_RX,
> >  	SHDMA_SLAVE_SDHI1_TX,
> 
> Any specific reason to add your IDs in the middle? Between IDs for another 
> controller type?
> 
While it doesn't really matter in this case, I much prefer people to do
this than to constantly add them at the end. The issue is that if I have
two patches that both append to the end of the list in two different
branches with two different dependencies I'll almost certainly have to spend
time fixing them up by hand rather than having git take care of it for
me.

Much for the same reason that it's generally frowned upon for people to
arbitrarily add new drivers at the end of a given Makefile.
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kuninori Morimoto June 15, 2011, 7:31 a.m. UTC | #3
Dear Paul, Guennadi

> > >  	SHDMA_SLAVE_SCIF4_RX,
> > >  	SHDMA_SLAVE_SCIF5_TX,
> > >  	SHDMA_SLAVE_SCIF5_RX,
> > > +	SHDMA_SLAVE_USB0D0_TX,
> > > +	SHDMA_SLAVE_USB0D0_RX,
> > > +	SHDMA_SLAVE_USB0D1_TX,
> > > +	SHDMA_SLAVE_USB0D1_RX,
> > > +	SHDMA_SLAVE_USB1D0_TX,
> > > +	SHDMA_SLAVE_USB1D0_RX,
> > > +	SHDMA_SLAVE_USB1D1_TX,
> > > +	SHDMA_SLAVE_USB1D1_RX,
> > >  	SHDMA_SLAVE_SDHI0_TX,
> > >  	SHDMA_SLAVE_SDHI0_RX,
> > >  	SHDMA_SLAVE_SDHI1_TX,
> > 
> > Any specific reason to add your IDs in the middle? Between IDs for another 
> > controller type?

The reason was that it is 
"Selecting On-Chip Peripheral Module Request" table order on SuperH manual.

> While it doesn't really matter in this case, I much prefer people to do
> this than to constantly add them at the end. The issue is that if I have
> two patches that both append to the end of the list in two different
> branches with two different dependencies I'll almost certainly have to spend
> time fixing them up by hand rather than having git take care of it for
> me.
> 
> Much for the same reason that it's generally frowned upon for people to
> arbitrarily add new drivers at the end of a given Makefile.

Thanks.
I can send v2 patch if you needs. please let me know

Best regards
--
Kuninori Morimoto
 
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/sh/include/cpu-sh4/cpu/sh7724.h b/arch/sh/include/cpu-sh4/cpu/sh7724.h
index 3daef8e..cbc47e6 100644
--- a/arch/sh/include/cpu-sh4/cpu/sh7724.h
+++ b/arch/sh/include/cpu-sh4/cpu/sh7724.h
@@ -298,6 +298,14 @@  enum {
 	SHDMA_SLAVE_SCIF4_RX,
 	SHDMA_SLAVE_SCIF5_TX,
 	SHDMA_SLAVE_SCIF5_RX,
+	SHDMA_SLAVE_USB0D0_TX,
+	SHDMA_SLAVE_USB0D0_RX,
+	SHDMA_SLAVE_USB0D1_TX,
+	SHDMA_SLAVE_USB0D1_RX,
+	SHDMA_SLAVE_USB1D0_TX,
+	SHDMA_SLAVE_USB1D0_RX,
+	SHDMA_SLAVE_USB1D1_TX,
+	SHDMA_SLAVE_USB1D1_RX,
 	SHDMA_SLAVE_SDHI0_TX,
 	SHDMA_SLAVE_SDHI0_RX,
 	SHDMA_SLAVE_SDHI1_TX,
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
index 0333fe9..134a397 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
@@ -93,6 +93,46 @@  static const struct sh_dmae_slave_config sh7724_dmae_slaves[] = {
 		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_8BIT),
 		.mid_rid	= 0x36,
 	}, {
+		.slave_id	= SHDMA_SLAVE_USB0D0_TX,
+		.addr		= 0xA4D80100,
+		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
+		.mid_rid	= 0x73,
+	}, {
+		.slave_id	= SHDMA_SLAVE_USB0D0_RX,
+		.addr		= 0xA4D80100,
+		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
+		.mid_rid	= 0x73,
+	}, {
+		.slave_id	= SHDMA_SLAVE_USB0D1_TX,
+		.addr		= 0xA4D80120,
+		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
+		.mid_rid	= 0x77,
+	}, {
+		.slave_id	= SHDMA_SLAVE_USB0D1_RX,
+		.addr		= 0xA4D80120,
+		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
+		.mid_rid	= 0x77,
+	}, {
+		.slave_id	= SHDMA_SLAVE_USB1D0_TX,
+		.addr		= 0xA4D90100,
+		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
+		.mid_rid	= 0xab,
+	}, {
+		.slave_id	= SHDMA_SLAVE_USB1D0_RX,
+		.addr		= 0xA4D90100,
+		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
+		.mid_rid	= 0xab,
+	}, {
+		.slave_id	= SHDMA_SLAVE_USB1D1_TX,
+		.addr		= 0xA4D90120,
+		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
+		.mid_rid	= 0xaf,
+	}, {
+		.slave_id	= SHDMA_SLAVE_USB1D1_RX,
+		.addr		= 0xA4D90120,
+		.chcr		= DM_INC | SM_FIX | 0x800 | TS_INDEX2VAL(XMIT_SZ_32BIT),
+		.mid_rid	= 0xaf,
+	}, {
 		.slave_id	= SHDMA_SLAVE_SDHI0_TX,
 		.addr		= 0x04ce0030,
 		.chcr		= DM_FIX | SM_INC | 0x800 | TS_INDEX2VAL(XMIT_SZ_16BIT),