drm/xe: do not register to PM if GuC is disabled

When working without GuC (i.e. working with execlists), the flow
attempts to perform suspend operation which is failing due to a
lack of support without GuC.

If PM ops are not supported without GuC we may as well avoid PM
registration rather than returning errors from various PM flows.

Signed-off-by: Ohad Sharabi <osharabi@habana.ai>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
Ohad Sharabi
2023-09-28 16:56:21 +03:00
committed by Rodrigo Vivi
parent 1464f56b47
commit 5349bb76d6
2 changed files with 4 additions and 4 deletions

View File

@@ -641,10 +641,6 @@ int xe_gt_suspend(struct xe_gt *gt)
{
int err;
/* For now suspend/resume is only allowed with GuC */
if (!xe_device_uc_enabled(gt_to_xe(gt)))
return -ENODEV;
xe_gt_sanitize(gt);
xe_device_mem_access_get(gt_to_xe(gt));

View File

@@ -156,6 +156,10 @@ void xe_pm_init(struct xe_device *xe)
{
struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
/* For now suspend/resume is only allowed with GuC */
if (!xe_device_uc_enabled(xe))
return;
drmm_mutex_init(&xe->drm, &xe->d3cold.lock);
xe->d3cold.capable = xe_pm_pci_d3cold_capable(pdev);