diff options
author | Vinay Belgaumkar <vinay.belgaumkar@intel.com> | 2024-07-01 16:15:28 -0700 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2024-07-02 12:14:00 -0400 |
commit | b0b2b50cdbd132cb78ed25c27081849a405b75e3 (patch) | |
tree | 108387d7f5622e0e8109f9962957a2ab18035060 | |
parent | 2d46ecc958c9cb7b0f116aa52cf9296b6c71d784 (diff) |
drm/xe/guc: Prevent use of uninitialized mutex
When skip_guc_pc is set and/or this is for a VF.
Fixes: 3b1592fb7835 ("drm/xe/lnl: Apply Wa_22019338487")
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240701231529.2582452-1-vinay.belgaumkar@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
-rw-r--r-- | drivers/gpu/drm/xe/xe_guc_pc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c index d88f5e960fbd..f7b468930697 100644 --- a/drivers/gpu/drm/xe/xe_guc_pc.c +++ b/drivers/gpu/drm/xe/xe_guc_pc.c @@ -26,6 +26,7 @@ #include "xe_mmio.h" #include "xe_pcode.h" #include "xe_pm.h" +#include "xe_sriov.h" #include "xe_wa.h" #define MCHBAR_MIRROR_BASE_SNB 0x140000 @@ -825,6 +826,9 @@ int xe_guc_pc_restore_stashed_freq(struct xe_guc_pc *pc) { int ret = 0; + if (IS_SRIOV_VF(pc_to_xe(pc)) || pc_to_xe(pc)->info.skip_guc_pc) + return 0; + mutex_lock(&pc->freq_lock); ret = pc_set_max_freq(pc, pc->stashed_max_freq); if (!ret) |