Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ACPI/FFH gaps around exposing suspend-to-RAM capability. #61

Open
andreiw opened this issue Aug 22, 2023 · 5 comments
Open

ACPI/FFH gaps around exposing suspend-to-RAM capability. #61

andreiw opened this issue Aug 22, 2023 · 5 comments

Comments

@andreiw
Copy link
Collaborator

andreiw commented Aug 22, 2023

          We discussed this topic in BRS meeing today: https://docs.google.com/presentation/d/1bWS_YUZAZwwDDgHOWf2S1vyoP_Eh7y6090-NjoJQTSo/edit#slide=id.g21d5651495d_0_17

Suspend shouldn't be mandatory, but we don't have the ACPI framework in place to allow arbitrary sbi calls?

Originally posted by @adurbin-rivos in #52 (comment)

@andreiw
Copy link
Collaborator Author

andreiw commented Aug 22, 2023

Suspend-to-RAM is not a BRS-I requirement today. It may become a requirement in a platform-specific section (e.g. client, BRS-I-C?), but for that perhaps it would be preferable to expose this in some ACPI-specific manner instead of just having the OS use SBI SUSP?

Need to study the ACPI spec and understand the necessary plumbing (that needs to be created) before making a call.

@adurbin-rivos
Copy link
Collaborator

@atishp04 This topic was supposed to be discussed in the PRS meeting today. Atish, could you share what transpired then?

@atishp04
Copy link
Collaborator

We did not have a PRS meeting last week due to holidays in India. It is on next week's meeting agenda. I will update the summary after the meeting.

@adurbin-rivos
Copy link
Collaborator

Sorry. I was thinking there was one today, but there wasn't.

@jones-drew
Copy link

This was discussed in the PRS call on August 29, 2023. There may be a recording of that session and below is a summary of the slides

For HW-reduced systems, the ACPI-specific manner in which an OSPM initiates suspend-to-ram is with the FADT.SLEEP_CONTROL_REG, which is an MMIO address (it's not a generic address descriptor, so it can't be an FFH defined SBI call). While any OSPM that implements suspend-to-ram using the FADT register is able to do so in an ACPI-specific way, the trade-off is that the platform must provide the MMIO addresses. Regardless of the mechanism used for suspend-to-ram, it probably shouldn't be BRS-I mandatory as the ACPI spec also provides ways to describe when a platform is low power s0 idle capable and states that that means "...that the system will achieve no power benefit by making a sleep transition to S3". IOW, some platforms may want to only provide LPI levels and not system suspend (suspend-to-ram).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants