drm/xe: add skip_pcode flag

Per device, set this flag to enable access to the PCODE uC or to skip it.

Signed-off-by: Koby Elbaz <kelbaz@habana.ai>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
Koby Elbaz
2023-11-28 18:53:15 +02:00
committed by Rodrigo Vivi
parent 8e35780233
commit 082802a3ee
3 changed files with 13 additions and 0 deletions

View File

@@ -61,6 +61,9 @@ static int pcode_mailbox_rw(struct xe_gt *gt, u32 mbox, u32 *data0, u32 *data1,
{
int err;
if (gt_to_xe(gt)->info.skip_pcode)
return 0;
lockdep_assert_held(&gt->pcode.lock);
if ((xe_mmio_read32(gt, PCODE_MAILBOX) & PCODE_READY) != 0)
@@ -249,6 +252,9 @@ int xe_pcode_init(struct xe_gt *gt)
int timeout_us = 180000000; /* 3 min */
int ret;
if (gt_to_xe(gt)->info.skip_pcode)
return 0;
if (!IS_DGFX(gt_to_xe(gt)))
return 0;
@@ -280,6 +286,9 @@ int xe_pcode_probe(struct xe_gt *gt)
{
drmm_mutex_init(&gt_to_xe(gt)->drm, &gt->pcode.lock);
if (gt_to_xe(gt)->info.skip_pcode)
return 0;
if (!IS_DGFX(gt_to_xe(gt)))
return 0;