Skip to contentSkip to conversation

how to implement suspend to ram for arm64?

RFC Jisheng Zhang 2 participants 3 messages Jan 8, 2015

lore
Share & tools
lore
#0 lore raw

Hi list,

we need the suspend to ram feature on arm64. And I think the fundamental code is ready, for example __cpu_suspend() etc.

However, there are several issues need to be resolved...

1. where to put platform_suspend_ops implementation? drivers/power?

2. If the "put ddr to self refresh" code must be in EL3 or secure EL1, how linux tell the firmware to trigger it? extend PSCI or use the context_id of PSCI CPU_SUSPEND function?

3. where to put the cod of invoke suspend_to_ram psci call?

Thanks in advance,
Jisheng

#1 lore raw

Hi Jisheng,

Quoted 7 lines · Jisheng Zhang

Hi list,

we need the suspend to ram feature on arm64. And I think the fundamental code is ready, for example __cpu_suspend() etc.

However, there are several issues need to be resolved...

Quoted 7 lines

1. where to put platform_suspend_ops implementation? drivers/power?

2. If the "put ddr to self refresh" code must be in EL3 or secure EL1, how linux tell the firmware to trigger it? extend PSCI or use the context_id of PSCI CPU_SUSPEND function?

3. where to put the cod of invoke suspend_to_ram psci call?

We are working on all the items you mentioned above, inclusive of a PSCI spec update.

I will make sure we post the required code on the lists shortly, and keep you in the loop.

Thanks,
Lorenzo

#2 lore raw

Dear Lorenzo,

Quoted 16 lines · On Thu, 8 Jan 2015 05:49:26 -0800 Lorenzo Pieralisi…

Hi Jisheng,

Quoted 13 lines · Jisheng Zhang

Hi list,

we need the suspend to ram feature on arm64. And I think the fundamental code is ready, for example __cpu_suspend() etc.

However, there are several issues need to be resolved...

1. where to put platform_suspend_ops implementation? drivers/power?

2. If the "put ddr to self refresh" code must be in EL3 or secure EL1, how linux tell the firmware to trigger it? extend PSCI or use the context_id of PSCI CPU_SUSPEND function?

Quoted 8 lines
Quoted 1 line

3. where to put the cod of invoke suspend_to_ram psci call?

We are working on all the items you mentioned above, inclusive of a PSCI spec update.

I will make sure we post the required code on the lists shortly, and keep you in the loop.

Wow, great! Thank you very much. I have an ugly hack in private repo to support this feature. I'm sure the hack will be definitely rejected :D

Looking forward to the beautiful standard solution!

Thanks,
Jisheng