[AMD Official Use Only - AMD Internal Distribution Only] Thanks, will change to '2026'
-----Original Message----- From: Zhou1, Tao <[email protected]> Sent: Tuesday, January 27, 2026 11:53 AM To: Xie, Patrick <[email protected]>; [email protected] Cc: Chai, Thomas <[email protected]> Subject: RE: [PATCH 04/14] drm/amd/ras: add uniras smu feature flag init func [AMD Official Use Only - AMD Internal Distribution Only] > -----Original Message----- > From: Xie, Patrick <[email protected]> > Sent: Monday, January 26, 2026 11:55 AM > To: [email protected] > Cc: Zhou1, Tao <[email protected]>; Chai, Thomas > <[email protected]>; Xie, Patrick <[email protected]> > Subject: [PATCH 04/14] drm/amd/ras: add uniras smu feature flag init > func > > add flag to indicate if pmfw eeprom is supported or not, and > initialize it > > Signed-off-by: Gangliang Xie <[email protected]> > --- > drivers/gpu/drm/amd/ras/rascore/Makefile | 3 +- > drivers/gpu/drm/amd/ras/rascore/ras.h | 3 ++ > drivers/gpu/drm/amd/ras/rascore/ras_core.c | 2 + > .../gpu/drm/amd/ras/rascore/ras_eeprom_fw.c | 38 +++++++++++++++++++ > .../gpu/drm/amd/ras/rascore/ras_eeprom_fw.h | 29 ++++++++++++++ > 5 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 > drivers/gpu/drm/amd/ras/rascore/ras_eeprom_fw.c > create mode 100644 drivers/gpu/drm/amd/ras/rascore/ras_eeprom_fw.h > > diff --git a/drivers/gpu/drm/amd/ras/rascore/Makefile > b/drivers/gpu/drm/amd/ras/rascore/Makefile > index e826a1f86424..06b265ec1cde 100644 > --- a/drivers/gpu/drm/amd/ras/rascore/Makefile > +++ b/drivers/gpu/drm/amd/ras/rascore/Makefile > @@ -36,7 +36,8 @@ RAS_CORE_FILES = ras_core.o \ > ras_log_ring.o \ > ras_cper.o \ > ras_psp.o \ > - ras_psp_v13_0.o > + ras_psp_v13_0.o \ > + ras_eeprom_fw.o > > > RAS_CORE = $(addprefix > $(AMD_GPU_RAS_PATH)/rascore/,$(RAS_CORE_FILES)) > diff --git a/drivers/gpu/drm/amd/ras/rascore/ras.h > b/drivers/gpu/drm/amd/ras/rascore/ras.h > index 2db838c444f1..6e223eff522c 100644 > --- a/drivers/gpu/drm/amd/ras/rascore/ras.h > +++ b/drivers/gpu/drm/amd/ras/rascore/ras.h > @@ -36,6 +36,7 @@ > #include "ras_mp1.h" > #include "ras_psp.h" > #include "ras_log_ring.h" > +#include "ras_eeprom_fw.h" > > #define RAS_HW_ERR "[Hardware Error]: " > > @@ -335,6 +336,8 @@ struct ras_core_context { > spinlock_t seqno_lock; > > bool ras_core_enabled; > + > + u64 ras_fw_features; > }; > > struct ras_core_context *ras_core_create(struct ras_core_config > *init_config); diff -- git > a/drivers/gpu/drm/amd/ras/rascore/ras_core.c > b/drivers/gpu/drm/amd/ras/rascore/ras_core.c > index 01122b55c98a..91c883f16ae5 100644 > --- a/drivers/gpu/drm/amd/ras/rascore/ras_core.c > +++ b/drivers/gpu/drm/amd/ras/rascore/ras_core.c > @@ -382,6 +382,8 @@ int ras_core_hw_init(struct ras_core_context *ras_core) > if (ret) > goto init_err5; > > + ras_fw_init_feature_flags(ras_core); > + > ret = ras_eeprom_hw_init(ras_core); > if (ret) > goto init_err6; > diff --git a/drivers/gpu/drm/amd/ras/rascore/ras_eeprom_fw.c > b/drivers/gpu/drm/amd/ras/rascore/ras_eeprom_fw.c > new file mode 100644 > index 000000000000..4a65351569e8 > --- /dev/null > +++ b/drivers/gpu/drm/amd/ras/rascore/ras_eeprom_fw.c > @@ -0,0 +1,38 @@ > +// SPDX-License-Identifier: MIT > +/* > + * Copyright 2025 Advanced Micro Devices, Inc. [Tao] 2026 > + * > + * Permission is hereby granted, free of charge, to any person > +obtaining a > + * copy of this software and associated documentation files (the > +"Software"), > + * to deal in the Software without restriction, including without > +limitation > + * the rights to use, copy, modify, merge, publish, distribute, > +sublicense, > + * and/or sell copies of the Software, and to permit persons to whom > +the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice shall be > +included in > + * all copies or substantial portions of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY > KIND, > +EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > +MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO > EVENT > +SHALL > + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, > +DAMAGES OR > + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR > +OTHERWISE, > + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR > THE USE > +OR > + * OTHER DEALINGS IN THE SOFTWARE. > + * > + */ > + > +#include "ras.h" > + > +void ras_fw_init_feature_flags(struct ras_core_context *ras_core) { > + struct ras_mp1 *mp1 = &ras_core->ras_mp1; > + const struct ras_mp1_sys_func *sys_func = mp1->sys_func; > + uint64_t flags = 0ULL; > + > + if (!sys_func || !sys_func->mp1_get_ras_enabled_mask) > + return; > + > + if (!sys_func->mp1_get_ras_enabled_mask(ras_core, &flags)) > + ras_core->ras_fw_features = flags; } > diff --git a/drivers/gpu/drm/amd/ras/rascore/ras_eeprom_fw.h > b/drivers/gpu/drm/amd/ras/rascore/ras_eeprom_fw.h > new file mode 100644 > index 000000000000..58472e459470 > --- /dev/null > +++ b/drivers/gpu/drm/amd/ras/rascore/ras_eeprom_fw.h > @@ -0,0 +1,29 @@ > +/* SPDX-License-Identifier: MIT */ > +/* > + * Copyright 2025 Advanced Micro Devices, Inc. [Tao] 2026 > + * > + * Permission is hereby granted, free of charge, to any person > +obtaining a > + * copy of this software and associated documentation files (the > +"Software"), > + * to deal in the Software without restriction, including without > +limitation > + * the rights to use, copy, modify, merge, publish, distribute, > +sublicense, > + * and/or sell copies of the Software, and to permit persons to whom > +the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice shall be > +included in > + * all copies or substantial portions of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY > KIND, > +EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > +MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO > EVENT > +SHALL > + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, > +DAMAGES OR > + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR > +OTHERWISE, > + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR > THE USE > +OR > + * OTHER DEALINGS IN THE SOFTWARE. > + * > + */ > +#ifndef __RAS_EEPROM_FW_H__ > +#define __RAS_EEPROM_FW_H__ > + > +void ras_fw_init_feature_flags(struct ras_core_context *ras_core); > + > +#endif > -- > 2.34.1
