
Hi,
On 15-12-14 16:27, Jan Kiszka wrote:
On 2014-12-15 12:44, Hans de Goede wrote:
Hi,
On 15-12-14 12:37, Jan Kiszka wrote:
This extends the PSCI support for the A20 to a dual v0.2 and v0.1 interface. Recent OSes will prefer v0.2, olders will still find the original interface, just at v0.2 service IDs.
In addition to the existing services, v0.2 requires us to implement both system off and reset. At least Linux will make use of them in favor of its own implementations and, thus, fail if they do not work.
Ugh, that may be a problem, as at least power off is highly SoC specific (different pmics, and newer pmics have a different bus) and somewhat board specific.
Yes, that was my first thought as well.
I think we may avoid adding any board specific stuff for now, since we only want PSCI support on A20 and later and the only boards I know of which are not using the standard axp pmics are all A10 / A13 boards, but this might come back to bite us in the future.
Good - so this is a conceptual ack for this patch?
I guess so I'm still not enthusiastic, but given that there seems no other way (as you indicate below) and that for now I do not foresee any issues, as long as we do a different psci.S per SoC (one for each of sun6i sun7i and sun8i at least), we should be able to make this work.
So yes I can live with this. Note it still does not make me happy though (not your fault).
Can't we just return -ENOTSUPPORTED or some such ?
Unfortunately not. I don't know what was the intention of the designed of this spec regarding mandatory SYSTEM_OFF and SYSTEM_RESET support. Both functions are not supposed to return at all, and the kernel panics when you return from SYSTEM_OFF.
Not nice, but nothing we can do to fix the retroactively.
Regards,
Hans