From 5c45e2dbe6967bf75a500931d643d5989291109b Mon Sep 17 00:00:00 2001 From: Vinay Belgaumkar Date: Wed, 29 Jul 2026 15:16:28 -0700 Subject: [PATCH] drm/xe: Use IBC v3 on PTL Intelligent Bias Control (IBC) v3 algorithm in GuC has PTL specific optimizations. This version selection param is only available GuC 70.48.0 onwards. v4: Fix sashiko.dev review issue v5: Don't cascade return checks (Rodrigo) Cc: Rodrigo Vivi Reviewed-by: Rodrigo Vivi Signed-off-by: Vinay Belgaumkar Link: https://patch.msgid.link/20260729221629.593195-2-vinay.belgaumkar@intel.com Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h | 1 + drivers/gpu/drm/xe/xe_guc_pc.c | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h b/drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h index ce5c59517528..57baa68bcba4 100644 --- a/drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h +++ b/drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h @@ -119,6 +119,7 @@ enum slpc_param_id { SLPC_PARAM_STRATEGIES = 26, SLPC_PARAM_POWER_PROFILE = 27, SLPC_PARAM_IGNORE_EFFICIENT_FREQUENCY = 28, + SLPC_PARAM_SET_IBC_VERSION = 29, SLPC_MAX_PARAM = 32, }; diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c index 59f2fa79ad42..211569c2e8ea 100644 --- a/drivers/gpu/drm/xe/xe_guc_pc.c +++ b/drivers/gpu/drm/xe/xe_guc_pc.c @@ -1234,8 +1234,21 @@ static int pc_modify_defaults(struct xe_guc_pc *pc) if (xe->info.platform == XE_PANTHERLAKE) { ret = pc_action_set_dcc(pc, false); - if (unlikely(ret)) + if (unlikely(ret)) { xe_gt_err(gt, "Failed to modify DCC default: %pe\n", ERR_PTR(ret)); + return ret; + } + + if (xe_gt_is_main_type(gt) && + GUC_FIRMWARE_VER_AT_LEAST(>->uc.guc, 70, 48, 0)) { + ret = pc_action_set_param(pc, + SLPC_PARAM_SET_IBC_VERSION, + 3); + if (unlikely(ret)) { + xe_gt_err(gt, "Failed to modify IBC version: %pe\n", ERR_PTR(ret)); + return ret; + } + } } return ret;