Hi, On Tue, Sep 26, 2023 at 05:59:54PM -0500, Mario Limonciello wrote: > On some systems AMD Navi3x dGPU triggers RAS errors on startup; but > only if the amdgpu kernel module is not part of the initramfs. > This is because the hardware is not properly programmed for the > AC/DC state of the system when it is loaded later in boot. I don't understand the last sentence. As far as I can see i2c_dw_pci_probe() either does not registers UCSI at all or with the dGPU properties (and thus scope) set. > The AC/DC state of the system is incorrect specifically when UCSI power > supplies have been initialized. These power supplies are marked as > POWER_SUPPLY_SCOPE_UNKNOWN scope. As they're 'offline' the power > supply count is increased but the resultant return value is > power_supply_is_system_supplied() 0. > > To fix this look explicitly for `POWER_SUPPLY_SCOPE_SYSTEM` power > supplies before incrementing the count. If no system power supply > is found then the system is assumed to be on AC. > > Cc: stable@xxxxxxxxxxxxxxx > Tested-by: David Perry <David.Perry@xxxxxxx> > Fixes: 95339f40a8b6 ("power: supply: Fix logic checking if system is running from battery") > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> > --- This effectively fully disables supply detection for UCSI, because it is never set to POWER_SUPPLY_SCOPE_SYSTEM. Please fix the amdgpu init part instead. -- Sebastian > drivers/power/supply/power_supply_core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c > index d325e6dbc770..3de6e6d00815 100644 > --- a/drivers/power/supply/power_supply_core.c > +++ b/drivers/power/supply/power_supply_core.c > @@ -349,7 +349,7 @@ static int __power_supply_is_system_supplied(struct device *dev, void *data) > unsigned int *count = data; > > if (!psy->desc->get_property(psy, POWER_SUPPLY_PROP_SCOPE, &ret)) > - if (ret.intval == POWER_SUPPLY_SCOPE_DEVICE) > + if (ret.intval != POWER_SUPPLY_SCOPE_SYSTEM) > return 0; > > (*count)++; > -- > 2.34.1 >
Attachment:
signature.asc
Description: PGP signature