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

Thierry Reding treding at nvidia.com
Thu Feb 26 10:08:21 CET 2015


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

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150226/3fc891ff/attachment.sig>


More information about the U-Boot mailing list