diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_debugfs.c')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 37 | 
1 files changed, 32 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 45773ce1deac..80c2bf98e341 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -52,7 +52,6 @@  #include "i915_irq.h"  #include "i915_scheduler.h"  #include "intel_mchbar_regs.h" -#include "intel_pm.h"  static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node)  { @@ -575,14 +574,34 @@ static int i915_wa_registers(struct seq_file *m, void *unused)  static int i915_wedged_get(void *data, u64 *val)  {  	struct drm_i915_private *i915 = data; +	struct intel_gt *gt; +	unsigned int i; -	return intel_gt_debugfs_reset_show(to_gt(i915), val); +	*val = 0; + +	for_each_gt(gt, i915, i) { +		int ret; + +		ret = intel_gt_debugfs_reset_show(gt, val); +		if (ret) +			return ret; + +		/* at least one tile should be wedged */ +		if (*val) +			break; +	} + +	return 0;  }  static int i915_wedged_set(void *data, u64 val)  {  	struct drm_i915_private *i915 = data; -	intel_gt_debugfs_reset_store(to_gt(i915), val); +	struct intel_gt *gt; +	unsigned int i; + +	for_each_gt(gt, i915, i) +		intel_gt_debugfs_reset_store(gt, val);  	return 0;  } @@ -733,7 +752,11 @@ static int i915_sseu_status(struct seq_file *m, void *unused)  static int i915_forcewake_open(struct inode *inode, struct file *file)  {  	struct drm_i915_private *i915 = inode->i_private; -	intel_gt_pm_debugfs_forcewake_user_open(to_gt(i915)); +	struct intel_gt *gt; +	unsigned int i; + +	for_each_gt(gt, i915, i) +		intel_gt_pm_debugfs_forcewake_user_open(gt);  	return 0;  } @@ -741,7 +764,11 @@ static int i915_forcewake_open(struct inode *inode, struct file *file)  static int i915_forcewake_release(struct inode *inode, struct file *file)  {  	struct drm_i915_private *i915 = inode->i_private; -	intel_gt_pm_debugfs_forcewake_user_release(to_gt(i915)); +	struct intel_gt *gt; +	unsigned int i; + +	for_each_gt(gt, i915, i) +		intel_gt_pm_debugfs_forcewake_user_release(gt);  	return 0;  }  |