Re: [PATCH v2 0/4] Implement vendor resets for PSCI SYSTEM_RESET2

Florian Fainelli
2024-04-17T22:01:08Z

[-- Attachment #1: Type: text/plain, Size: 2398 bytes --]

On 4/17/24 14:54, Elliot Berman wrote:
> On Tue, Apr 16, 2024 at 10:35:22AM +0100, Sudeep Holla wrote:
>> On Sun, Apr 14, 2024 at 12:30:23PM -0700, Elliot Berman wrote:
>>> The PSCI SYSTEM_RESET2 call allows vendor firmware to define additional
>>> reset types which could be mapped to the reboot argument.
>>>
>>> Setting up reboot on Qualcomm devices can be inconsistent from chipset
>>> to chipset.
>>
>> That doesn't sound good. Do you mean PSCI SYSTEM_RESET doesn't work as
>> expected ? Does it mean it is not conformant to the specification ?
>>
>
> I was motivating the reason for using SYSTEM_RESET2. How to set the PMIC
> register and IMEM cookie can change between chipsets. Using
> SYSTEM_RESET2 alows us to abstract how to perform the reset.
>
>>> Generally, there is a PMIC register that gets written to
>>> decide the reboot type. There is also sometimes a cookie that can be
>>> written to indicate that the bootloader should behave differently than a
>>> regular boot. These knobs evolve over product generations and require
>>> more drivers. Qualcomm firmwares are beginning to expose vendor
>>> SYSTEM_RESET2 types to simplify driver requirements from Linux.
>>>
>>
>> Why can't this be fully userspace driven ? What is the need to keep the
>> cookie in the DT ?
>
> As Dmitry pointed out, this information isn't discoverable. I suppose
> we could technically use bootconfig or kernel command-line to convey the
> map although I think devicetree is the right spot for this mapping.
>
> - Other vendor-specific bits for PSCI are described in the devicetree.
> One example is the suspend param (e.g. the StateID) for cpu idle
> states.
> - Describing firmware bits in the DT isn't unprecedented, and putting
> this information outside the DT means that other OSes (besides Linux)
> need their own way to convey this information.
> - PSCI would be the odd one out that reboot mode map is not described in
> DT. Other reboot-mode drivers specify the mapping in the DT. Userspace
> that runs with firmware that support vendor reset2 need to make sure
> they can configure the mapping early enough.

FWIW, I read Sudeep's response as being specifically inquiring about the
'cookie' parameter, do you see a need for that to be in described in the
DT or could that just be an user-space parameter that is conveyed
through the reboot system call?
--
Florian

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4221 bytes --]