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 <[email protected]>
> 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 <[email protected]>
> Signed-off-by: Benoit Cousson <[email protected]>
> Cc: Paul Walmsley <[email protected]>
> ---
>  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<[email protected]>
> > 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<[email protected]>  for reporting this.
> > Thanks to Benoît Cousson<[email protected]>  for suggesting an appropriate
> > correction.
> > 
> > Cc: "G, Manjunath Kondaiah"<[email protected]>
> > Reported-by: Michael Fillinger<[email protected]>
> > Cc: Benoît Cousson<[email protected]>
> > Signed-off-by: Paul Walmsley<[email protected]>
> > ---
> >   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

Reply via email to