[PATCH] ppc32: make sure we have an L3 before touch its control register
Kumar Gala
kumar.gala at freescale.com
Tue Sep 27 02:04:48 EST 2005
On Sep 24, 2005, at 5:10 PM, Benjamin Herrenschmidt wrote:
> On Thu, 2005-09-22 at 14:51 -0500, Kumar Gala wrote:
>
>> Ben,
>>
>> Can you take a look at this. I think its pretty straight forward and
>>
> if
>
>> your ok with it please forward on to linus.
>>
>
> We usually haven't dong the fixup of cpu features yet at the point
> setup() is run, thus your change will have no effect. You need to
> actually go look at the CPU feature bits. (You can look a bit below in
> that same code how it does for CPU_FTR_L3_DISABLE_NAP and
> CCPU_FTR_CAN_NAP.
Dope, you're right. I notice that we apparent do this for BTIC and
DPM in this function though?
> Also, it's 745x, those CPUs so far always existed in their 744x
> version
> without L3 and no way to recongnize them via PVR afaik (until before
> 7447A). I would expect L3CR to just return 0. Is this not the case on
> 7447/7448 ? If yes, then there is no need to change the code...
Need to check. I was lead to believe on 7448 they may have gotten
ride of L3CR and thus my patch. I do some digging internally to see
what's happening with L3CR on 7448.
>
> Ben.
>
>
>> - kumar
>>
>> --
>>
>> Some variants of 745x may not actually have the L3CR register. Since
>> we mark which variants of 745x have L3CRs in the cputable we can
>> use that information to ensure that the mfspr L3CR will not cause
>> an exception in the processors that don't have the register.
>>
>> Signed-off-by: Kumar K. Gala <kumar.gala at freescale.com>
>>
>> ---
>> commit f706b6046f1fee29bdf3081dd783f7e482012165
>> tree 6d42ee61458ec94ac7d4567e3f0383dd1e47a537
>> parent d8ac10639b6a1ed900efbee38c18baaca31e64dc
>> author Kumar K. Gala <kumar.gala at freescale.com> Thu, 22 Sep 2005
>>
> 14:47:52 -0500
>
>> committer Kumar K. Gala <kumar.gala at freescale.com> Thu, 22 Sep 2005
>>
> 14:47:52 -0500
>
>>
>> arch/ppc/kernel/cpu_setup_6xx.S | 2 ++
>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/ppc/kernel/cpu_setup_6xx.S
>>
> b/arch/ppc/kernel/cpu_setup_6xx.S
>
>> --- a/arch/ppc/kernel/cpu_setup_6xx.S
>> +++ b/arch/ppc/kernel/cpu_setup_6xx.S
>> @@ -212,9 +212,11 @@ setup_745x_specifics:
>> * the firmware. If any, we disable NAP capability as
>> * it's known to be bogus on rev 2.1 and earlier
>> */
>> +BEGIN_FTR_SECTION
>> mfspr r11,SPRN_L3CR
>> andis. r11,r11,L3CR_L3E at h
>> beq 1f
>> +END_FTR_SECTION_IFSET(CPU_FTR_L3CR)
>> lwz r6,CPU_SPEC_FEATURES(r5)
>> andi. r0,r6,CPU_FTR_L3_DISABLE_NAP
>> beq 1f
>
More information about the Linuxppc-dev
mailing list