Re: 2420 sDMA address mapping typo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 15 Mar 2011, Cousson, Benoit wrote:

> Salut Paul,
> 
> You are faster than me :-)
> 
> It appears that OMAP4 is wrong as well :-( 
> Yeah I know that's a shame...
> 
> Here is my version. Fell free to update yours, with my s-o-b.

Thanks, I'll just use yours instead.

> 
> Thanks
> Benoit
> 
> 
> ---
> >From efab4432d5f8a98fe2a21704b7dd3469116385ac Mon Sep 17 00:00:00 2001
> From: Benoit Cousson <b-cousson@xxxxxx>
> Date: Tue, 15 Mar 2011 21:45:27 +0100
> Subject: [PATCH] OMAP2+: hwmod data: Fix wrong dma_system end address
> 
> OMAP2420, 2430 and 3xxx were using the OMAP4 end address
> that unfortunately is not located at the same base address.
> Moreover the OMAP4 size was set to 256 instead of 4096.
> 
> Change all .pa_end to set them to .pa_start + 0xfff
> 
> Reported-by: Michael Fillinger <m-fillinger@xxxxxx>
> Signed-off-by: Benoit Cousson <b-cousson@xxxxxx>
> Cc: Paul Walmsley <paul@xxxxxxxxx>
> ---
>  arch/arm/mach-omap2/omap_hwmod_2420_data.c |    2 +-
>  arch/arm/mach-omap2/omap_hwmod_2430_data.c |    2 +-
>  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |    2 +-
>  arch/arm/mach-omap2/omap_hwmod_44xx_data.c |    2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> index 6282346..0a76f2f 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> @@ -1783,7 +1783,7 @@ static struct omap_hwmod_irq_info omap2420_dma_system_irqs[] = {
>  static struct omap_hwmod_addr_space omap2420_dma_system_addrs[] = {
>  	{
>  		.pa_start	= 0x48056000,
> -		.pa_end		= 0x4a0560ff,
> +		.pa_end		= 0x48056fff,
>  		.flags		= ADDR_TYPE_RT
>  	},
>  };
> diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> index 0fdf2ca..2a9b875 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> @@ -1915,7 +1915,7 @@ static struct omap_hwmod_irq_info omap2430_dma_system_irqs[] = {
>  static struct omap_hwmod_addr_space omap2430_dma_system_addrs[] = {
>  	{
>  		.pa_start	= 0x48056000,
> -		.pa_end		= 0x4a0560ff,
> +		.pa_end		= 0x48056fff,
>  		.flags		= ADDR_TYPE_RT
>  	},
>  };
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> index c819c30..a82d7ef 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -2383,7 +2383,7 @@ static struct omap_hwmod_irq_info omap3xxx_dma_system_irqs[] = {
>  static struct omap_hwmod_addr_space omap3xxx_dma_system_addrs[] = {
>  	{
>  		.pa_start	= 0x48056000,
> -		.pa_end		= 0x4a0560ff,
> +		.pa_end		= 0x48056fff,
>  		.flags		= ADDR_TYPE_RT
>  	},
>  };
> diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> index 3e88dd3..abc548a 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> @@ -885,7 +885,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dma_system_masters[] = {
>  static struct omap_hwmod_addr_space omap44xx_dma_system_addrs[] = {
>  	{
>  		.pa_start	= 0x4a056000,
> -		.pa_end		= 0x4a0560ff,
> +		.pa_end		= 0x4a056fff,
>  		.flags		= ADDR_TYPE_RT
>  	},
>  };
> -- 
> 1.7.0.4
> 
> 
> 
> On 3/15/2011 10:21 PM, Paul Walmsley wrote:
> > Hi Benoît, Michael,
> > 
> > On Tue, 15 Mar 2011, Cousson, Benoit wrote:
> > 
> >> On 3/15/2011 5:44 PM, Fillinger, Michael wrote:
> >>> Hi,
> >>>
> >>> There is a small issue introduced in 2.6.38 on the address space of sDMA for
> >>> OMAP2420, which seems to be a mix of OMAP2&   newer OMAP addresses :
> >>>
> >>> arch/arm/mach-omap2/omap_hwmod_2420_data.c
> >>>
> >>> static struct omap_hwmod_addr_space omap2420_dma_system_addrs[] = {
> >>>           {
> >>>                    .pa_start   = 0x48056000,
> >>>                    .pa_end     = 0x4a0560ff,
> >>>                    .flags      = ADDR_TYPE_RT
> >>>           },
> >>> };
> >>>
> >>> pa_end should be 0x480560ff unless I'm mistaken.
> >>
> >> Good catch, but the size is almost 4k to store all the channels.
> >>
> >> The quick and dirty patch is:
> >> -                   .pa_end     = 0x4a0560ff,
> >> +                   .pa_end     = 0x48056fff,
> > 
> > Here's a patch to fix this for the -rc series.  Benoît, care to reply with
> > a Signed-off-by: or Acked-by: ?
> > 
> > 
> > - Paul
> > 
> > From: Paul Walmsley<paul@xxxxxxxxx>
> > Date: Tue, 15 Mar 2011 14:13:11 -0600
> > Subject: [PATCH] OMAP2/3: hwmod data: sDMA IP block has incorrect end address
> > 
> > Commits 745685df95961ebbf0bcafcf28f31217a75070ae ("OMAP2420: hwmod
> > data: add system DMA"), 82cbd1aebafd126f40a8ed0725a6feb6ed710576
> > ("OMAP2430: hwmod data: add system DMA"), and
> > 01438ab6a49b63ef02b2eb44b63345a09792f982 ("OMAP3: hwmod data: add
> > system DMA") all have an incorrect end address for the SDMA IP block.
> > 
> > Thanks to Michael Fillinger<m-fillinger@xxxxxx>  for reporting this.
> > Thanks to Benoît Cousson<b-cousson@xxxxxx>  for suggesting an appropriate
> > correction.
> > 
> > Cc: "G, Manjunath Kondaiah"<manjugk@xxxxxx>
> > Reported-by: Michael Fillinger<m-fillinger@xxxxxx>
> > Cc: Benoît Cousson<b-cousson@xxxxxx>
> > Signed-off-by: Paul Walmsley<paul@xxxxxxxxx>
> > ---
> >   arch/arm/mach-omap2/omap_hwmod_2420_data.c |    2 +-
> >   arch/arm/mach-omap2/omap_hwmod_2430_data.c |    2 +-
> >   arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |    2 +-
> >   3 files changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> > index f1776d4..1760d11 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> > +++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> > @@ -1789,7 +1789,7 @@ static struct omap_hwmod_irq_info omap2420_dma_system_irqs[] = {
> >   static struct omap_hwmod_addr_space omap2420_dma_system_addrs[] = {
> >   	{
> >   		.pa_start	= 0x48056000,
> > -		.pa_end		= 0x4a0560ff,
> > +		.pa_end		= 0x48056fff,
> >   		.flags		= ADDR_TYPE_RT
> >   	},
> >   };
> > diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> > index 62ff097..4a7ea12 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> > +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> > @@ -1921,7 +1921,7 @@ static struct omap_hwmod_irq_info omap2430_dma_system_irqs[] = {
> >   static struct omap_hwmod_addr_space omap2430_dma_system_addrs[] = {
> >   	{
> >   		.pa_start	= 0x48056000,
> > -		.pa_end		= 0x4a0560ff,
> > +		.pa_end		= 0x48056fff,
> >   		.flags		= ADDR_TYPE_RT
> >   	},
> >   };
> > diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > index 41e53c2..0da858c 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > @@ -2396,7 +2396,7 @@ static struct omap_hwmod_irq_info omap3xxx_dma_system_irqs[] = {
> >   static struct omap_hwmod_addr_space omap3xxx_dma_system_addrs[] = {
> >   	{
> >   		.pa_start	= 0x48056000,
> > -		.pa_end		= 0x4a0560ff,
> > +		.pa_end		= 0x48056fff,
> >   		.flags		= ADDR_TYPE_RT
> >   	},
> >   };
> 


- Paul

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux