[PATCH 3/3] fsl_rio: fix non-standard HID1 register access

Kumar Gala galak at kernel.crashing.org
Fri Jun 18 15:51:02 EST 2010


On Jun 18, 2010, at 12:46 AM, Geert Uytterhoeven wrote:

> On Fri, Jun 18, 2010 at 07:29, Li Yang <leoli at freescale.com> wrote:
>> The access to HID1 register is only legitimate for e500 v1/v2 cores.
>> 
>> Signed-off-by: Li Yang <leoli at freescale.com>
>> ---
>>  arch/powerpc/sysdev/fsl_rio.c |    7 +++++--
>>  1 files changed, 5 insertions(+), 2 deletions(-)
>> 
>> diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c
>> index 954a754..785a882 100644
>> --- a/arch/powerpc/sysdev/fsl_rio.c
>> +++ b/arch/powerpc/sysdev/fsl_rio.c
>> @@ -1523,9 +1523,12 @@ int fsl_rio_setup(struct of_device *dev)
>>  #ifdef CONFIG_E500
>>        saved_mcheck_exception = ppc_md.machine_check_exception;
>>        ppc_md.machine_check_exception = fsl_rio_mcheck_exception;
>> -#endif
>> -       /* Ensure that RFXE is set */
>> +
>> +#ifndef CONFIG_E500MC
>> +       /* Ensure that RFXE is set on e500 v1/v2 */
>>        mtspr(SPRN_HID1, (mfspr(SPRN_HID1) | 0x20000));
>> +#endif /* !E500MC */
>> +#endif /* E500 */
>> 
>>        return 0;
>>  err:
> 
> This prevents you from building a kernel for both normal E500 and E500MC.
> 
> Gr{oetje,eeting}s,

Also, not a fan of the magic number 0x20000.

- k


More information about the Linuxppc-dev mailing list