[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F4605A4.5050203@gmail.com>
Date: Thu, 23 Feb 2012 20:23:48 +1100
From: Ryan Mallon <rmallon@...il.com>
To: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@...osoft.com>
CC: Nicolas Ferre <nicolas.ferre@...el.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux@....linux.org.uk
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@...osoft.com>
>>>>>
>>>>> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@...osoft.com>
>>>>> Acked-by: Nicolas Ferre <nicolas.ferre@...el.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists