Hi Andrew,
On Fri, May 2, 2014 at 11:53 PM, Andrew Bresticker
[off-list ref] wrote:
quoted
quoted
+ /*
+ * TODO: Turn off the clusters when all cores in the cluster
+ * are down to achieve significant power savings.
+ */
This comment should actually be located right after the
"if (exynos_cluster_unused(cluster))" above. That is where the cluster
control should be applied, assuming it'll be effective only when WFI is
executed.
Correct me if I'm wrong Samsung folks, but I thought it was not
possible to apply cluster power control from a CPU within the cluster
being powered down, i.e. a CPU in the other cluster must be the one to
apply the cluster power control to power down the outbound cluster.
I was under the same impression until quite recently. However, based
on inputs from the hardware team, there are bits available (in the
*COMMON_OPTION register) that ensure "ARM_CORE0~3 are turned off
earlier and then ARM_COMMON_L2 is turned off finally". This allows us
to turn off the cluster from a cpu of the same cluster. We have used
these bits in our cluster power down cpuidle state implementation as
well.
Regards,
Abhilash
-Andrew