]> Git Repo - linux.git/commitdiff
drm/xe/dg1: Fix power gate sequence.
authorRodrigo Vivi <[email protected]>
Thu, 19 Dec 2024 23:55:36 +0000 (18:55 -0500)
committerThomas Hellström <[email protected]>
Thu, 9 Jan 2025 09:38:56 +0000 (10:38 +0100)
sub-pipe PG is not present on DG1. Setting these bits can disable
other power gates and cause GPU hangs on video playbacks.

VLK: 16314, 4304

Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13381
Cc: Vinay Belgaumkar <[email protected]>
Cc: Himal Prasad Ghimiray <[email protected]>
Reviewed-by: Himal Prasad Ghimiray <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Rodrigo Vivi <[email protected]>
(cherry picked from commit 2f12e9c029315c1400059b2e7fdf53117c09c3a9)
Signed-off-by: Thomas Hellström <[email protected]>
drivers/gpu/drm/xe/xe_gt_idle.c

index fd80afeef56a7c942a725767d391ef713720300c..ffd3ba7f6656160eb02d0b3d98ffc639813ec606 100644 (file)
@@ -122,10 +122,12 @@ void xe_gt_idle_enable_pg(struct xe_gt *gt)
        if (!xe_gt_is_media_type(gt))
                gtidle->powergate_enable |= RENDER_POWERGATE_ENABLE;
 
-       for (i = XE_HW_ENGINE_VCS0, j = 0; i <= XE_HW_ENGINE_VCS7; ++i, ++j) {
-               if ((gt->info.engine_mask & BIT(i)))
-                       gtidle->powergate_enable |= (VDN_HCP_POWERGATE_ENABLE(j) |
-                                                    VDN_MFXVDENC_POWERGATE_ENABLE(j));
+       if (xe->info.platform != XE_DG1) {
+               for (i = XE_HW_ENGINE_VCS0, j = 0; i <= XE_HW_ENGINE_VCS7; ++i, ++j) {
+                       if ((gt->info.engine_mask & BIT(i)))
+                               gtidle->powergate_enable |= (VDN_HCP_POWERGATE_ENABLE(j) |
+                                                            VDN_MFXVDENC_POWERGATE_ENABLE(j));
+               }
        }
 
        fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
This page took 0.079714 seconds and 4 git commands to generate.