mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
- 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) -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEbSBwaO7dZQkcLOKj+mJfZA7rE8oFAml7sogACgkQ+mJfZA7r E8qtogf+LjcI7gZL4rGknDr4hVZgwwV0o2+mHPAJl8TyCQk7h34FgdL9G4kN+Puu Jsw/C4qOsGQQBBGTE2kNgqlneceWmL/dO1g9XMmV4eiucmJ9FN03xhEflICTmPuV Nb/eBI8YzR5wnI31DCc49sHRbQBisbsZucERQYsdiKLJjzjtAHwf95kw/dDsUWVa y2V9VUTgQ7z73cUvnasHhhElA0cYz9TCsMlLj7zbTlTj7Kkg/QnsmkHqTQE81tFn SABIyugMmUNd/4vGvOQb8mfYOX3+RFlk2MSVWblCzMXabl5213r6V1htjcJB1/7z el915BCMhhROp0M6rvGpLkH4F0G5FQ== =bTDt -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
502d2d8e01
|
|
@ -1017,6 +1017,7 @@ int xe_device_probe(struct xe_device *xe)
|
|||
|
||||
err_unregister_display:
|
||||
xe_display_unregister(xe);
|
||||
drm_dev_unregister(&xe->drm);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1198,6 +1198,36 @@ int xe_guc_pc_set_power_profile(struct xe_guc_pc *pc, const char *buf)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int pc_action_set_dcc(struct xe_guc_pc *pc, bool enable)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = pc_action_set_param(pc,
|
||||
SLPC_PARAM_TASK_ENABLE_DCC,
|
||||
enable);
|
||||
if (!ret)
|
||||
return pc_action_set_param(pc,
|
||||
SLPC_PARAM_TASK_DISABLE_DCC,
|
||||
!enable);
|
||||
else
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int pc_modify_defaults(struct xe_guc_pc *pc)
|
||||
{
|
||||
struct xe_device *xe = pc_to_xe(pc);
|
||||
struct xe_gt *gt = pc_to_gt(pc);
|
||||
int ret = 0;
|
||||
|
||||
if (xe->info.platform == XE_PANTHERLAKE) {
|
||||
ret = pc_action_set_dcc(pc, false);
|
||||
if (unlikely(ret))
|
||||
xe_gt_err(gt, "Failed to modify DCC default: %pe\n", ERR_PTR(ret));
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* xe_guc_pc_start - Start GuC's Power Conservation component
|
||||
* @pc: Xe_GuC_PC instance
|
||||
|
|
@ -1249,6 +1279,10 @@ int xe_guc_pc_start(struct xe_guc_pc *pc)
|
|||
ktime_ms_delta(ktime_get(), earlier));
|
||||
}
|
||||
|
||||
ret = pc_modify_defaults(pc);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = pc_init_freqs(pc);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -1317,9 +1317,14 @@ static bool check_timeout(struct xe_exec_queue *q, struct xe_sched_job *job)
|
|||
|
||||
ctx_timestamp = lower_32_bits(xe_lrc_timestamp(q->lrc[0]));
|
||||
if (ctx_timestamp == job->sample_timestamp) {
|
||||
xe_gt_warn(gt, "Check job timeout: seqno=%u, lrc_seqno=%u, guc_id=%d, timestamp stuck",
|
||||
xe_sched_job_seqno(job), xe_sched_job_lrc_seqno(job),
|
||||
q->guc->id);
|
||||
if (IS_SRIOV_VF(gt_to_xe(gt)))
|
||||
xe_gt_notice(gt, "Check job timeout: seqno=%u, lrc_seqno=%u, guc_id=%d, timestamp stuck",
|
||||
xe_sched_job_seqno(job),
|
||||
xe_sched_job_lrc_seqno(job), q->guc->id);
|
||||
else
|
||||
xe_gt_warn(gt, "Check job timeout: seqno=%u, lrc_seqno=%u, guc_id=%d, timestamp stuck",
|
||||
xe_sched_job_seqno(job),
|
||||
xe_sched_job_lrc_seqno(job), q->guc->id);
|
||||
|
||||
return xe_sched_invalidate_job(job, 0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user