diff options
Diffstat (limited to 'drivers/gpu/drm/i915/gt/uc/intel_guc_log.c')
| -rw-r--r-- | drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 24 | 
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c index c3792ddeec80..55bc8b55fbc0 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c @@ -333,8 +333,7 @@ bool intel_guc_check_log_buf_overflow(struct intel_guc_log *log,  			log->stats[type].sampled_overflow += 16;  		} -		dev_notice_ratelimited(guc_to_gt(log_to_guc(log))->i915->drm.dev, -				       "GuC log buffer overflow\n"); +		guc_notice_ratelimited(log_to_guc(log), "log buffer overflow\n");  	}  	return overflow; @@ -521,7 +520,7 @@ void intel_guc_log_init_early(struct intel_guc_log *log)  static int guc_log_relay_create(struct intel_guc_log *log)  {  	struct intel_guc *guc = log_to_guc(log); -	struct drm_i915_private *dev_priv = guc_to_gt(guc)->i915; +	struct drm_i915_private *i915 = guc_to_gt(guc)->i915;  	struct rchan *guc_log_relay_chan;  	size_t n_subbufs, subbuf_size;  	int ret; @@ -543,10 +542,13 @@ static int guc_log_relay_create(struct intel_guc_log *log)  	 */  	n_subbufs = 8; +	if (!guc->dbgfs_node) +		return -ENOENT; +  	guc_log_relay_chan = relay_open("guc_log", -					dev_priv->drm.primary->debugfs_root, +					guc->dbgfs_node,  					subbuf_size, n_subbufs, -					&relay_callbacks, dev_priv); +					&relay_callbacks, i915);  	if (!guc_log_relay_chan) {  		guc_err(guc, "Couldn't create relay channel for logging\n"); @@ -571,7 +573,7 @@ static void guc_log_relay_destroy(struct intel_guc_log *log)  static void guc_log_copy_debuglogs_for_relay(struct intel_guc_log *log)  {  	struct intel_guc *guc = log_to_guc(log); -	struct drm_i915_private *dev_priv = guc_to_gt(guc)->i915; +	struct drm_i915_private *i915 = guc_to_gt(guc)->i915;  	intel_wakeref_t wakeref;  	_guc_log_copy_debuglogs_for_relay(log); @@ -580,7 +582,7 @@ static void guc_log_copy_debuglogs_for_relay(struct intel_guc_log *log)  	 * Generally device is expected to be active only at this  	 * time, so get/put should be really quick.  	 */ -	with_intel_runtime_pm(&dev_priv->runtime_pm, wakeref) +	with_intel_runtime_pm(&i915->runtime_pm, wakeref)  		guc_action_flush_log_complete(guc);  } @@ -662,7 +664,7 @@ void intel_guc_log_destroy(struct intel_guc_log *log)  int intel_guc_log_set_level(struct intel_guc_log *log, u32 level)  {  	struct intel_guc *guc = log_to_guc(log); -	struct drm_i915_private *dev_priv = guc_to_gt(guc)->i915; +	struct drm_i915_private *i915 = guc_to_gt(guc)->i915;  	intel_wakeref_t wakeref;  	int ret = 0; @@ -676,12 +678,12 @@ int intel_guc_log_set_level(struct intel_guc_log *log, u32 level)  	if (level < GUC_LOG_LEVEL_DISABLED || level > GUC_LOG_LEVEL_MAX)  		return -EINVAL; -	mutex_lock(&dev_priv->drm.struct_mutex); +	mutex_lock(&i915->drm.struct_mutex);  	if (log->level == level)  		goto out_unlock; -	with_intel_runtime_pm(&dev_priv->runtime_pm, wakeref) +	with_intel_runtime_pm(&i915->runtime_pm, wakeref)  		ret = guc_action_control_log(guc,  					     GUC_LOG_LEVEL_IS_VERBOSE(level),  					     GUC_LOG_LEVEL_IS_ENABLED(level), @@ -694,7 +696,7 @@ int intel_guc_log_set_level(struct intel_guc_log *log, u32 level)  	log->level = level;  out_unlock: -	mutex_unlock(&dev_priv->drm.struct_mutex); +	mutex_unlock(&i915->drm.struct_mutex);  	return ret;  }  |