|
Patrik Jakobsson |
d63f08 |
From afc1b212a87bd4be8e2634e6e68c0ac64c75ff9e Mon Sep 17 00:00:00 2001
|
|
Patrik Jakobsson |
d63f08 |
From: Ashutosh Dixit <ashutosh.dixit@intel.com>
|
|
Patrik Jakobsson |
d63f08 |
Date: Wed, 28 Sep 2022 12:02:12 -0700
|
|
Patrik Jakobsson |
d63f08 |
Subject: drm/i915/gt: Perf_limit_reasons are only available for Gen11+
|
|
Patrik Jakobsson |
d63f08 |
Git-commit: 7738be973fc4e2ba22154fafd3a5d7b9666f9abf
|
|
Patrik Jakobsson |
d63f08 |
Patch-mainline: v6.0
|
|
Patrik Jakobsson |
d63f08 |
References: jsc#PED-1166 jsc#PED-1168 jsc#PED-1170 jsc#PED-1218 jsc#PED-1220 jsc#PED-1222 jsc#PED-1223 jsc#PED-1225 jsc#PED-2849
|
|
Patrik Jakobsson |
d63f08 |
|
|
Patrik Jakobsson |
d63f08 |
Register GT0_PERF_LIMIT_REASONS (0x1381a8) is available only for
|
|
Patrik Jakobsson |
d63f08 |
Gen11+. Therefore ensure perf_limit_reasons sysfs files are created only
|
|
Patrik Jakobsson |
d63f08 |
for Gen11+. Otherwise on Gen < 5 accessing these files results in the
|
|
Patrik Jakobsson |
d63f08 |
following oops:
|
|
Patrik Jakobsson |
d63f08 |
|
|
Patrik Jakobsson |
d63f08 |
<1> [88.829420] BUG: unable to handle page fault for address: ffffc90000bb81a8
|
|
Patrik Jakobsson |
d63f08 |
<1> [88.829438] #PF: supervisor read access in kernel mode
|
|
Patrik Jakobsson |
d63f08 |
<1> [88.829447] #PF: error_code(0x0000) - not-present page
|
|
Patrik Jakobsson |
d63f08 |
|
|
Patrik Jakobsson |
d63f08 |
This patch is a backport of the drm-tip commit 0d2d201095e9
|
|
Patrik Jakobsson |
d63f08 |
("drm/i915: Perf_limit_reasons are only available for Gen11+") to
|
|
Patrik Jakobsson |
d63f08 |
drm-intel-fixes. The backport is not identical to the original, it only
|
|
Patrik Jakobsson |
d63f08 |
includes the sysfs portions of if. The debugfs portion is not available
|
|
Patrik Jakobsson |
d63f08 |
in drm-intel-fixes so has not been backported.
|
|
Patrik Jakobsson |
d63f08 |
|
|
Patrik Jakobsson |
d63f08 |
Bspec: 20008
|
|
Patrik Jakobsson |
d63f08 |
Bug: https://gitlab.freedesktop.org/drm/intel/-/issues/6863
|
|
Patrik Jakobsson |
d63f08 |
Fixes: fa68bff7cf27 ("drm/i915/gt: Add sysfs throttle frequency interfaces")
|
|
Patrik Jakobsson |
d63f08 |
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
|
|
Patrik Jakobsson |
d63f08 |
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
Patrik Jakobsson |
d63f08 |
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
Patrik Jakobsson |
d63f08 |
Link: https://patchwork.freedesktop.org/patch/msgid/20220919162401.2077713-1-ashutosh.dixit@intel.com
|
|
Patrik Jakobsson |
d63f08 |
(backported from commit 0d2d201095e9f141d6a9fb44320afce761f8b5c2)
|
|
Patrik Jakobsson |
d63f08 |
Acked-by: Patrik Jakobsson <pjakobsson@suse.de>
|
|
Patrik Jakobsson |
d63f08 |
---
|
|
Patrik Jakobsson |
d63f08 |
drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 15 +++++++++++----
|
|
Patrik Jakobsson |
d63f08 |
1 file changed, 11 insertions(+), 4 deletions(-)
|
|
Patrik Jakobsson |
d63f08 |
|
|
Patrik Jakobsson |
d63f08 |
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
|
|
Patrik Jakobsson |
d63f08 |
index 73a8b46e0234..d09a0e845d09 100644
|
|
Patrik Jakobsson |
d63f08 |
--- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
|
|
Patrik Jakobsson |
d63f08 |
+++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
|
|
Patrik Jakobsson |
d63f08 |
@@ -545,8 +545,7 @@ static INTEL_GT_RPS_BOOL_ATTR_RO(throttle_reason_ratl, RATL_MASK);
|
|
Patrik Jakobsson |
d63f08 |
static INTEL_GT_RPS_BOOL_ATTR_RO(throttle_reason_vr_thermalert, VR_THERMALERT_MASK);
|
|
Patrik Jakobsson |
d63f08 |
static INTEL_GT_RPS_BOOL_ATTR_RO(throttle_reason_vr_tdc, VR_TDC_MASK);
|
|
Patrik Jakobsson |
d63f08 |
|
|
Patrik Jakobsson |
d63f08 |
-static const struct attribute *freq_attrs[] = {
|
|
Patrik Jakobsson |
d63f08 |
- &dev_attr_punit_req_freq_mhz.attr,
|
|
Patrik Jakobsson |
d63f08 |
+static const struct attribute *throttle_reason_attrs[] = {
|
|
Patrik Jakobsson |
d63f08 |
&attr_throttle_reason_status.attr,
|
|
Patrik Jakobsson |
d63f08 |
&attr_throttle_reason_pl1.attr,
|
|
Patrik Jakobsson |
d63f08 |
&attr_throttle_reason_pl2.attr,
|
|
Patrik Jakobsson |
d63f08 |
@@ -763,12 +762,20 @@ void intel_gt_sysfs_pm_init(struct intel_gt *gt, struct kobject *kobj)
|
|
Patrik Jakobsson |
d63f08 |
if (!is_object_gt(kobj))
|
|
Patrik Jakobsson |
d63f08 |
return;
|
|
Patrik Jakobsson |
d63f08 |
|
|
Patrik Jakobsson |
d63f08 |
- ret = sysfs_create_files(kobj, freq_attrs);
|
|
Patrik Jakobsson |
d63f08 |
+ ret = sysfs_create_file(kobj, &dev_attr_punit_req_freq_mhz.attr);
|
|
Patrik Jakobsson |
d63f08 |
if (ret)
|
|
Patrik Jakobsson |
d63f08 |
drm_warn(>->i915->drm,
|
|
Patrik Jakobsson |
d63f08 |
- "failed to create gt%u throttle sysfs files (%pe)",
|
|
Patrik Jakobsson |
d63f08 |
+ "failed to create gt%u punit_req_freq_mhz sysfs (%pe)",
|
|
Patrik Jakobsson |
d63f08 |
gt->info.id, ERR_PTR(ret));
|
|
Patrik Jakobsson |
d63f08 |
|
|
Patrik Jakobsson |
d63f08 |
+ if (GRAPHICS_VER(gt->i915) >= 11) {
|
|
Patrik Jakobsson |
d63f08 |
+ ret = sysfs_create_files(kobj, throttle_reason_attrs);
|
|
Patrik Jakobsson |
d63f08 |
+ if (ret)
|
|
Patrik Jakobsson |
d63f08 |
+ drm_warn(>->i915->drm,
|
|
Patrik Jakobsson |
d63f08 |
+ "failed to create gt%u throttle sysfs files (%pe)",
|
|
Patrik Jakobsson |
d63f08 |
+ gt->info.id, ERR_PTR(ret));
|
|
Patrik Jakobsson |
d63f08 |
+ }
|
|
Patrik Jakobsson |
d63f08 |
+
|
|
Patrik Jakobsson |
d63f08 |
if (HAS_MEDIA_RATIO_MODE(gt->i915) && intel_uc_uses_guc_slpc(>->uc)) {
|
|
Patrik Jakobsson |
d63f08 |
ret = sysfs_create_files(kobj, media_perf_power_attrs);
|
|
Patrik Jakobsson |
d63f08 |
if (ret)
|
|
Patrik Jakobsson |
d63f08 |
--
|
|
Patrik Jakobsson |
d63f08 |
2.38.1
|
|
Patrik Jakobsson |
d63f08 |
|