Skip to content

Commit b84e1cd

Browse files
rodrigoviviThomas Hellström
authored andcommitted
drm/xe/dg1: Fix power gate sequence.
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 <vinay.belgaumkar@intel.com> Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com> Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20241219235536.454270-1-rodrigo.vivi@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> (cherry picked from commit 2f12e9c) Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
1 parent 9ab4981 commit b84e1cd

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

drivers/gpu/drm/xe/xe_gt_idle.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,12 @@ void xe_gt_idle_enable_pg(struct xe_gt *gt)
122122
if (!xe_gt_is_media_type(gt))
123123
gtidle->powergate_enable |= RENDER_POWERGATE_ENABLE;
124124

125-
for (i = XE_HW_ENGINE_VCS0, j = 0; i <= XE_HW_ENGINE_VCS7; ++i, ++j) {
126-
if ((gt->info.engine_mask & BIT(i)))
127-
gtidle->powergate_enable |= (VDN_HCP_POWERGATE_ENABLE(j) |
128-
VDN_MFXVDENC_POWERGATE_ENABLE(j));
125+
if (xe->info.platform != XE_DG1) {
126+
for (i = XE_HW_ENGINE_VCS0, j = 0; i <= XE_HW_ENGINE_VCS7; ++i, ++j) {
127+
if ((gt->info.engine_mask & BIT(i)))
128+
gtidle->powergate_enable |= (VDN_HCP_POWERGATE_ENABLE(j) |
129+
VDN_MFXVDENC_POWERGATE_ENABLE(j));
130+
}
129131
}
130132

131133
fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);

0 commit comments

Comments
 (0)