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