On 2015-02-26 10:08, Thierry Reding wrote:
> On Wed, Feb 18, 2015 at 09:14:03AM +0100, Jan Kiszka wrote:
> [...]
>> +ENTRY(psci_cpu_off)
>> +    bl psci_cpu_off_common
>> +
>> +    mrc     p15, 0, r1, c0, c0, 5           @ MPIDR
>> +    and     r1, r1, #7                      @ number of CPUs in cluster
>> +
>> +    get_csr_reg r1, r2, r3
>> +
>> +    ldr     r6, =TEGRA_FLOW_CTRL_BASE
>> +    mov     r5, #(CSR_ENABLE)
>> +    add     r5, r1, lsl #CSR_WAIT_WFI_SHIFT
> 
> This puts the wrong value into the WAIT_WFI field. The value of that
> field is supposed to be a mask, not the index of the CPU. I've used this
> to fix it:
> 
>       mov     r4, #(1 << CSR_WAIT_WFI_SHIFT)
>       add     r5, r4, lsl r1
> 
> With that fixed I see that with CPU hotplugging the power partition for
> the CPU that's taken offline is gated. To verify:
> 
>       # cat /sys/kernel/debug/powergate
>       # echo 0 > /sys/devices/system/cpu/cpu1/online
>       # cat /sys/kernel/debug/powergate

Ah, good catch. Will include your fix.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to