Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'drm-xe-next-fixes-2026-01-29' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next

- Reduce LRC timestamp stuck message on VFs to notice (Brost)
- Disable GuC Power DCC strategy on PTL (Vinay)
- Unregister drm device on probe error (Lin)

Signed-off-by: Dave Airlie <airlied@redhat.com>

From: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patch.msgid.link/aXuyrtsnlAOmj_OB@intel.com

+43 -3
+1
drivers/gpu/drm/xe/xe_device.c
··· 1017 1017 1018 1018 err_unregister_display: 1019 1019 xe_display_unregister(xe); 1020 + drm_dev_unregister(&xe->drm); 1020 1021 1021 1022 return err; 1022 1023 }
+34
drivers/gpu/drm/xe/xe_guc_pc.c
··· 1198 1198 return ret; 1199 1199 } 1200 1200 1201 + static int pc_action_set_dcc(struct xe_guc_pc *pc, bool enable) 1202 + { 1203 + int ret; 1204 + 1205 + ret = pc_action_set_param(pc, 1206 + SLPC_PARAM_TASK_ENABLE_DCC, 1207 + enable); 1208 + if (!ret) 1209 + return pc_action_set_param(pc, 1210 + SLPC_PARAM_TASK_DISABLE_DCC, 1211 + !enable); 1212 + else 1213 + return ret; 1214 + } 1215 + 1216 + static int pc_modify_defaults(struct xe_guc_pc *pc) 1217 + { 1218 + struct xe_device *xe = pc_to_xe(pc); 1219 + struct xe_gt *gt = pc_to_gt(pc); 1220 + int ret = 0; 1221 + 1222 + if (xe->info.platform == XE_PANTHERLAKE) { 1223 + ret = pc_action_set_dcc(pc, false); 1224 + if (unlikely(ret)) 1225 + xe_gt_err(gt, "Failed to modify DCC default: %pe\n", ERR_PTR(ret)); 1226 + } 1227 + 1228 + return ret; 1229 + } 1230 + 1201 1231 /** 1202 1232 * xe_guc_pc_start - Start GuC's Power Conservation component 1203 1233 * @pc: Xe_GuC_PC instance ··· 1278 1248 xe_gt_warn(gt, "GuC PC excessive start time: %lldms", 1279 1249 ktime_ms_delta(ktime_get(), earlier)); 1280 1250 } 1251 + 1252 + ret = pc_modify_defaults(pc); 1253 + if (ret) 1254 + return ret; 1281 1255 1282 1256 ret = pc_init_freqs(pc); 1283 1257 if (ret)
+8 -3
drivers/gpu/drm/xe/xe_guc_submit.c
··· 1317 1317 1318 1318 ctx_timestamp = lower_32_bits(xe_lrc_timestamp(q->lrc[0])); 1319 1319 if (ctx_timestamp == job->sample_timestamp) { 1320 - xe_gt_warn(gt, "Check job timeout: seqno=%u, lrc_seqno=%u, guc_id=%d, timestamp stuck", 1321 - xe_sched_job_seqno(job), xe_sched_job_lrc_seqno(job), 1322 - q->guc->id); 1320 + if (IS_SRIOV_VF(gt_to_xe(gt))) 1321 + xe_gt_notice(gt, "Check job timeout: seqno=%u, lrc_seqno=%u, guc_id=%d, timestamp stuck", 1322 + xe_sched_job_seqno(job), 1323 + xe_sched_job_lrc_seqno(job), q->guc->id); 1324 + else 1325 + xe_gt_warn(gt, "Check job timeout: seqno=%u, lrc_seqno=%u, guc_id=%d, timestamp stuck", 1326 + xe_sched_job_seqno(job), 1327 + xe_sched_job_lrc_seqno(job), q->guc->id); 1323 1328 1324 1329 return xe_sched_invalidate_job(job, 0); 1325 1330 }