[U-Boot] [PATCH v3 09/12] tegra124: Add PSCI support for Tegra124

Jan Kiszka jan.kiszka at siemens.com
Thu Feb 26 12:48:47 CET 2015


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


More information about the U-Boot mailing list