mirror_ubuntu-kernels/drivers/gpu/drm/i915/gt/uc
Vinay Belgaumkar 3e49de73fb drm/i915/guc/slpc: Apply min softlimit correctly
The scenario being fixed here is depicted in the following sequence-

modprobe i915
echo 1 > /sys/class/drm/card0/gt/gt0/slpc_ignore_eff_freq
echo 300 > /sys/class/drm/card0/gt_min_freq_mhz (RPn)
cat /sys/class/drm/card0/gt_cur_freq_mhz --> cur == RPn as expected
echo 1 > /sys/kernel/debug/dri/0/gt0/reset --> reset
cat /sys/class/drm/card0/gt_min_freq_mhz --> cached freq is RPn
cat /sys/class/drm/card0/gt_cur_freq_mhz --> it's not RPn, but RPe!!

When SLPC reinitializes, it sets SLPC min freq to efficient frequency.
Even if we disable efficient freq post that, we should restore the cached
min freq (via H2G) for it to take effect.

v2: Clarify commit message (Ashutosh)

Fixes: 95ccf312a1 ("drm/i915/guc/slpc: Allow SLPC to use efficient frequency")
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230621014257.1769564-1-vinay.belgaumkar@intel.com
(cherry picked from commit da86b2b13f)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2023-06-26 09:17:50 +01:00
..
abi drm/i915/guc: Drop legacy CTB definitions 2023-05-31 12:07:07 -07:00
guc_capture_fwif.h drm/i915/guc: add intel_guc_state_capture member docs for ads_null_cache and max_mmio_per_node 2023-05-04 12:11:54 +03:00
intel_gsc_binary_headers.h drm/i915/huc: Parse the GSC-enabled HuC binary 2023-06-05 09:52:44 -07:00
intel_gsc_fw.c drm/i915/gsc: take a wakeref for the proxy-init-completion check 2023-06-20 08:54:36 +01:00
intel_gsc_fw.h drm/i915/gsc: add initial support for GSC proxy 2023-05-04 04:01:49 -07:00
intel_gsc_proxy.c drm/i915/gsc: use system include style for drm headers 2023-05-26 12:28:15 +03:00
intel_gsc_proxy.h drm/i915/gsc: add support for GSC proxy interrupt 2023-05-04 04:02:00 -07:00
intel_gsc_uc_heci_cmd_submit.c drm/i915/gsc: Fix error code in intel_gsc_uc_heci_cmd_submit_nonpriv() 2023-06-08 02:11:04 +02:00
intel_gsc_uc_heci_cmd_submit.h drm/i915/pxp: Add GSC-CS backend to send GSC fw messages 2023-05-11 17:26:28 -07:00
intel_gsc_uc.c drm/i915/mtl/huc: auth HuC via GSC 2023-06-05 09:53:51 -07:00
intel_gsc_uc.h drm/i915/gsc: add support for GSC proxy interrupt 2023-05-04 04:02:00 -07:00
intel_guc_ads.c drm/i915/guc: Fix confused register capture list creation 2023-05-12 11:05:19 -07:00
intel_guc_ads.h
intel_guc_capture.c drm/i915/gt/uc: drop unused but set variable sseu 2023-06-07 13:23:16 +03:00
intel_guc_capture.h drm/i915/guc: Fix error capture for virtual engines 2023-05-03 11:42:14 -07:00
intel_guc_ct.c drm/i915/guc: Drop legacy CTB definitions 2023-05-31 12:07:07 -07:00
intel_guc_ct.h drm/i915/guc: Track all sent actions to GuC 2023-05-30 15:18:21 -07:00
intel_guc_debugfs.c
intel_guc_debugfs.h
intel_guc_fw.c drm/i915/guc: Print status register when waiting for GuC to load 2023-05-05 15:33:54 -07:00
intel_guc_fw.h
intel_guc_fwif.h drm/i915/guc: Remove some obsolete definitions 2023-06-06 11:35:27 -07:00
intel_guc_hwconfig.c drm/i915/gt/uc/intel_guc_hwconfig: Demote a few non-conforming kerneldoc headers 2023-04-03 18:25:14 +03:00
intel_guc_log_debugfs.c
intel_guc_log_debugfs.h
intel_guc_log.c drm/i915/gt: Create per-gt debugfs files 2023-03-21 10:09:31 +01:00
intel_guc_log.h
intel_guc_print.h drm/i915/guc: More debug print updates - GuC logging 2023-02-08 23:51:05 -08:00
intel_guc_rc.c drm/i915/mtl: Disable MC6 for MTL A step 2023-03-20 11:00:11 +02:00
intel_guc_rc.h
intel_guc_reg.h drm/i915/guc: Improve GuC load error reporting 2023-03-23 15:49:49 -07:00
intel_guc_slpc_types.h drm/i915/guc/slpc: Provide sysfs for efficient freq 2023-04-28 09:59:51 -07:00
intel_guc_slpc.c drm/i915/guc/slpc: Apply min softlimit correctly 2023-06-26 09:17:50 +01:00
intel_guc_slpc.h drm/i915/guc/slpc: Provide sysfs for efficient freq 2023-04-28 09:59:51 -07:00
intel_guc_submission.c drm/i915/guc: Fix error capture for virtual engines 2023-05-03 11:42:14 -07:00
intel_guc_submission.h drm/i915/guc: Fix missing return code checks in submission init 2023-03-10 17:47:22 -08:00
intel_guc.c Merge tag 'drm-intel-gt-next-2023-06-08' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-06-09 16:43:36 +10:00
intel_guc.h drm/i915/guc: add dbgfs_node member kernel-doc 2023-05-04 12:11:41 +03:00
intel_huc_debugfs.c
intel_huc_debugfs.h
intel_huc_fw.c drm/i915/mtl/huc: auth HuC via GSC 2023-06-05 09:53:51 -07:00
intel_huc_fw.h drm/i915/mtl/huc: auth HuC via GSC 2023-06-05 09:53:51 -07:00
intel_huc_print.h drm/i915/huc: Parse the GSC-enabled HuC binary 2023-06-05 09:52:44 -07:00
intel_huc.c drm/i915/huc: Fix missing error code in intel_huc_init() 2023-06-20 08:54:40 +01:00
intel_huc.h drm/i915/mtl/huc: auth HuC via GSC 2023-06-05 09:53:51 -07:00
intel_uc_debugfs.c drm/i915/gt: Create per-gt debugfs files 2023-03-21 10:09:31 +01:00
intel_uc_debugfs.h
intel_uc_fw_abi.h drm/i915/huc: Parse the GSC-enabled HuC binary 2023-06-05 09:52:44 -07:00
intel_uc_fw.c drm/i915/huc: define HuC FW version for MTL 2023-06-05 09:53:51 -07:00
intel_uc_fw.h drm/i915/huc: Load GSC-enabled HuC via DMA xfer if the fuse says so 2023-06-05 09:53:31 -07:00
intel_uc.c drm/i915/mtl/huc: auth HuC via GSC 2023-06-05 09:53:51 -07:00
intel_uc.h drm/i915/uc: perma-pin firmwares 2023-06-05 09:52:42 -07:00
selftest_guc_hangcheck.c drm/i915/guc: More debug print updates - GuC selftests 2023-02-08 23:34:47 -08:00
selftest_guc_multi_lrc.c drm/i915/guc: More debug print updates - GuC selftests 2023-02-08 23:34:47 -08:00
selftest_guc.c drm/i915/guc: More debug print updates - GuC selftests 2023-02-08 23:34:47 -08:00