Re: [PATCH 0/4] Broadcom STB PM PSCI extensions

From: Florian Fainelli
Date: Wed Jan 26 2022 - 22:56:36 EST




On 1/21/2022 7:54 PM, Florian Fainelli wrote:
Hi all,

This patch series contains the Broadcom STB PSCI extensions which adds
some additional functions on top of the existing standard PSCI interface
which is the reason for having the driver implement a custom
suspend_ops.

These platforms have traditionally supported a mode that is akin to
ACPI's S2 with the CPU in WFI and all of the chip being clock gated
which is entered with "echo standby > /sys/power/state". Additional a
true suspend to DRAM as defined in ACPI by S3 is implemented with "echo
mem > /sys/power/state".

These platforms also may have an external Broadcom PMIC chip which can
cause the SoC to be powercycled assuming that we communicate that intent
via a vendor specific PSCI SYSTEM_RESET2.

Since it is desirable to get any new functionality added to the kernel
to be loadable as a module as part of shipping said products in a Google
Kernel Image (GKI) environment, we need to export a couple of symbols from
drivers/firmware/psci/psci.c.

Thanks for your feedback.

I will be sending a v2 addressing the kbuild robot failures reported but would prefer to get some feedback first so it can be addressed simultaneously. Thanks!


Florian Fainelli (4):
firmware: psci: Export a couple of suspend symbols
soc: bcm: brcmstb: Make legacy PM code depend on !ARM_PSCI_FW
soc: bcm: brcmstb: Added support for PSCI system suspend operations
Documentation: ABI: Document Broadcom STB PSCI firmware files

.../ABI/testing/sysfs-firmware-brcmstb | 16 +
drivers/firmware/psci/psci.c | 9 +-
drivers/soc/bcm/brcmstb/Kconfig | 4 +-
drivers/soc/bcm/brcmstb/pm/Makefile | 3 +
drivers/soc/bcm/brcmstb/pm/pm-psci.c | 315 ++++++++++++++++++
include/linux/psci.h | 2 +
include/linux/soc/brcmstb/brcmstb-smccc.h | 84 +++++
7 files changed, 430 insertions(+), 3 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-firmware-brcmstb
create mode 100644 drivers/soc/bcm/brcmstb/pm/pm-psci.c
create mode 100644 include/linux/soc/brcmstb/brcmstb-smccc.h


--
Florian