Re: [PATCH v6 4/5] arm64: add support for ACPI Low Power Idle(LPI)

From: Sudeep Holla
Date: Mon Jun 27 2016 - 05:50:48 EST


Hi, Daniel,

On 24/06/16 22:04, Daniel Lezcano wrote:

[...]

+
+ psci_states = kcalloc(count, sizeof(*psci_states), GFP_KERNEL);
+ if (!psci_states)
+ return -ENOMEM;
+
+ for (i = 0; i < count; i++) {
+ u32 state;
+
+ lpi = &pr->power.lpi_states[i + 1];
+ state = lpi->address & 0xFFFFFFFF;

Why is needed to mask 'address' ?


This is as per Section 3.1.1 FFH Usage in LPI state entry methods in [1]

[...]

int psci_cpu_init_idle(unsigned int cpu)
{
struct device_node *cpu_node;
int ret;

+ if (!acpi_disabled)
+ return psci_acpi_cpu_init_idle(cpu);

Is it possible the case where there is information in both the DT and in
ACPI ? So ACPI is enabled without idle information which is in the DT ?


No, as Rafael mentioned aready.


Either you do this, or we have to add it somehow somewhere in
drivers/cpuidle to avoid duplicating it.

@Daniel: do you have an opinion on this please ?

Yes, this function should be added to avoid duplication.


So, I assume you are happy with the way it's handled in this patch ?
(I will rename the file as suggested by Lorenzo)

--
Regards,
Sudeep

[1] http://infocenter.arm.com/help/topic/com.arm.doc.den0048a/DEN0048A_ARM_FFH_Specification.pdf