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>
u8 enable_display:1;
/** @bypass_mtcfg: Bypass Multi-Tile configuration from MTCFG register */
u8 bypass_mtcfg:1;
+ /** @skip_pcode: skip access to PCODE uC */
+ u8 skip_pcode:1;
/** @supports_mmio_ext: supports MMIO extension/s */
u8 supports_mmio_ext:1;
/** @has_heci_gscfi: device has heci gscfi */
u8 has_llc:1;
u8 has_sriov:1;
u8 bypass_mtcfg:1;
+ u8 skip_pcode:1;
u8 supports_mmio_ext:1;
u8 skip_guc_pc:1;
};
xe->info.has_llc = desc->has_llc;
xe->info.has_sriov = desc->has_sriov;
xe->info.bypass_mtcfg = desc->bypass_mtcfg;
+ xe->info.skip_pcode = desc->skip_pcode;
xe->info.supports_mmio_ext = desc->supports_mmio_ext;
xe->info.tile_mmio_ext_size = graphics_desc->tile_mmio_ext_size;
{
int err;
+ if (gt_to_xe(gt)->info.skip_pcode)
+ return 0;
+
lockdep_assert_held(>->pcode.lock);
if ((xe_mmio_read32(gt, PCODE_MAILBOX) & PCODE_READY) != 0)
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;
{
drmm_mutex_init(>_to_xe(gt)->drm, >->pcode.lock);
+ if (gt_to_xe(gt)->info.skip_pcode)
+ return 0;
+
if (!IS_DGFX(gt_to_xe(gt)))
return 0;