Hello.
> Manuel Lauss wrote:
>
>>>> diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
>>>> index 2709675..bb22649 100644
>>>> --- a/arch/mips/mm/c-r4k.c
>>>> +++ b/arch/mips/mm/c-r4k.c
>>>>
>>> [...]
>>>
>>>
>>>> @@ -1287,20 +1262,18 @@ static void __cpuinit coherency_setup(void)
>>>> case CPU_R4400MC:
>>>> clear_c0_config(CONF_CU);
>>>> break;
>>>> - /*
>>>> - * We need to catch the early Alchemy SOCs with
>>>> - * the write-only co_config.od bit and set it back to one...
>>>> - */
>>>> - case CPU_AU1000: /* rev. DA, HA, HB */
>>>> - case CPU_AU1100: /* rev. AB, BA, BC ?? */
>>>> - case CPU_AU1500: /* rev. AB */
>>>> - au1x00_fixup_config_od();
>>>> - break;
>>>> case PRID_IMP_PR4450:
>>>> nxp_pr4450_fixup_config();
>>>> break;
>>>> }
>>>> +
>>>> +#ifdef CONFIG_MACH_ALCHEMY
>>>> + {
>>>> + extern void au1x00_fixup_config_od(void);
>>>> + au1x00_fixup_config_od();
>>>> + }
>>>> +#endif
>>>> }
>>>>
>>> I've been thru this before. Ralf will hardly accept #ifdef'ery and
>>> extern in this file. That's why we have what we have now. :-)
>>>
>>
>> I believe it can be removed entirely from c-r4k.c, the Alchemy
>> plat_mem_setup and resume code run it too (and earlier).
>>
>
> You cleraly didn't get it. ;-)
> It's here because what is written earlier was *discarded* while doing the
> coherency setup (remember, the OD bit is write only, so you can't just RMW
> the Config reg).
> That lead to some crap with USB on Au1500 in particular, IIRC.
Ah ok. I'll leave c-r4k untouched then. Thanks.
Manuel Lauss
|