Skip to content

Commit b0077b4

Browse files
Evan Greengregkh
Evan Green
authored andcommitted
firmware: google: Enable s0ix logging by default
Many moons ago, support was added to the SMI handlers to log s0ix entry and exit. Early iterations of firmware on Apollo Lake correctly returned "unsupported" for this new command they did not recognize, but unfortunately also contained a quirk where this command would cause them to power down rather than resume from s0ix. Fixes for this quirk were pushed out long ago, so all APL devices still in the field should have updated firmware. As such, we no longer need to have the s0ix_logging_enable be opt-in, where every new platform has to add this to their kernel commandline parameters. Change it to be on by default. In theory we could remove the parameter altogether: updated versions of Chrome OS containing a kernel with this change would also be coupled with firmware that behaves properly with these commands. Eventually we should probably do that. For now, convert this to an opt-out parameter so there's an emergency valve for people who are deliberately running old firmware, or as an escape hatch in case of unforeseen regressions. Signed-off-by: Evan Green <evgreen@chromium.org> Link: https://lore.kernel.org/r/20210401140430.1.Ie141e6044d9b0d5aba72cb08857fdb43660c54d3@changeid Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 38ab861 commit b0077b4

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

drivers/firmware/google/gsmi.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,12 +136,16 @@ MODULE_PARM_DESC(spincount,
136136
"The number of loop iterations to use when using the spin handshake.");
137137

138138
/*
139-
* Platforms might not support S0ix logging in their GSMI handlers. In order to
140-
* avoid any side-effects of generating an SMI for S0ix logging, use the S0ix
141-
* related GSMI commands only for those platforms that explicitly enable this
142-
* option.
139+
* Some older platforms with Apollo Lake chipsets do not support S0ix logging
140+
* in their GSMI handlers, and behaved poorly when resuming via power button
141+
* press if the logging was attempted. Updated firmware with proper behavior
142+
* has long since shipped, removing the need for this opt-in parameter. It
143+
* now exists as an opt-out parameter for folks defiantly running old
144+
* firmware, or unforeseen circumstances. After the change from opt-in to
145+
* opt-out has baked sufficiently, this parameter should probably be removed
146+
* entirely.
143147
*/
144-
static bool s0ix_logging_enable;
148+
static bool s0ix_logging_enable = true;
145149
module_param(s0ix_logging_enable, bool, 0600);
146150

147151
static struct gsmi_buf *gsmi_buf_alloc(void)

0 commit comments

Comments
 (0)