Messages in this thread | | | Date | Thu, 23 Feb 2012 20:23:48 +1100 | From | Ryan Mallon <> | Subject | Re: [PATCH v2 02/19] ARM: at91/at91x40: remove use of at91_sys_read/write |
| |
On 23/02/12 17:01, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 14:59 Thu 23 Feb , Ryan Mallon wrote: >> On 23/02/12 14:25, Jean-Christophe PLAGNIOL-VILLARD wrote: >> >>> On 09:22 Thu 23 Feb , Ryan Mallon wrote: >>>> On 22/02/12 20:39, Nicolas Ferre wrote: >>>> >>>>> From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> >>>>> >>>>> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> >>>>> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> >>>>> --- >>>>> arch/arm/mach-at91/at91x40.c | 2 +- >>>>> arch/arm/mach-at91/at91x40_time.c | 28 +++++++++++++++++----------- >>>>> arch/arm/mach-at91/include/mach/at91x40.h | 18 +++++++++--------- >>>>> 3 files changed, 27 insertions(+), 21 deletions(-) >>>>> >>>>> diff --git a/arch/arm/mach-at91/at91x40.c b/arch/arm/mach-at91/at91x40.c >>>>> index 0154b7f..5400a1d 100644 >>>>> --- a/arch/arm/mach-at91/at91x40.c >>>>> +++ b/arch/arm/mach-at91/at91x40.c >>>>> @@ -44,7 +44,7 @@ static void at91x40_idle(void) >>>>> * Disable the processor clock. The processor will be automatically >>>>> * re-enabled by an interrupt or by a reset. >>>>> */ >>>>> - at91_sys_write(AT91_PS_CR, AT91_PS_CR_CPU); >>>>> + __raw_writel(AT91_PS_CR_CPU, AT91_PS_CR); >>>> >>>> >>>> This doesn't seem to be equivalent, at91_sys_write does: >>>> >>>> void __iomem *addr = (void __iomem *)AT91_VA_BASE_SYS; >>>> __raw_writel(value, addr + reg_offset); >>>> >>>> and this patch doesn't redefine AT91_PS_CR. Was it broken before this >>>> patch? What am I missing? >>> this is right >>> #define AT91_PS_CR (AT91_PS + 0) /* PS Control register */ >> >> >> That doesn't answer my question. >> >> The old, at91_sys_write, version was writing to (using __raw_writel): >> >> AT91_VA_BASE_SYS + AT91_PS_CR >> >> The new version is writing, also using __raw_writel, to: >> >> AT91_PS_CR >> >> The value of AT91_PS_CR is not changed in this patch. Assuming that >> AT91_VA_BASE_SYS for at91x40 (which at a quick glance it is not), then >> the old and the new version of the code are not writing to the same >> address. >> >> Was it previously incorrect, or is it incorrect now? > it's as we update > > +#define AT91_PS 0xffff4000 /* Power Save */
Ah, I missed the new value of AT91_PS. Sorry for the confusion.
~Ryan
| |