[Intel-xe] [PATCH 1/2] Revert "drm/xe: Enable d3cold support for dgfx"

Rodrigo Vivi rodrigo.vivi at intel.com
Wed Apr 26 13:12:33 UTC 2023


This reverts commit 7c1c3d3898c60f3e96f40737f0d8ddd4b8934aaf.

Unfortunately we are not ready for this step yet.

We need to rethink our strategy on D3cold:

1. rewrite the VRAM save / restore to avoid buffer object locks
2. block D3cold if we have a big amount of device memory in use in order
   to reduce the latency.
3. at resume, detect if we really lost power and avoid memory restoration
   if we were only up to d3cold

Reference: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/256
Cc: Matthew Auld <matthew.auld at intel.com>
Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
Cc: Riana Tauro <riana.tauro at intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
---
 drivers/gpu/drm/xe/xe_pci.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 14be0259a222..9324aed8a821 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -762,8 +762,13 @@ static int xe_pci_runtime_idle(struct device *dev)
 	struct pci_dev *pdev = to_pci_dev(dev);
 	struct xe_device *xe = pdev_to_xe_device(pdev);
 
-	if (IS_DGFX(xe) && !xe_device_mem_access_ongoing(xe))
-		xe->d3cold_allowed = true;
+	/*
+	 * FIXME: d3cold should be allowed (true) if
+	 * (IS_DGFX(xe) && !xe_device_mem_access_ongoing(xe))
+	 * however the change to the buddy allocator broke the
+	 * xe_bo_restore_kernel when the pci device is disabled
+	 */
+	 xe->d3cold_allowed = false;
 
 	return 0;
 }
-- 
2.39.2



More information about the Intel-xe mailing list