[Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call

Andrzej Hajda andrzej.hajda at intel.com
Fri Jul 8 08:41:21 UTC 2022


On 07.07.2022 21:30, Nerlige Ramappa, Umesh wrote:
> DRM_DEBUG is not the right debug call to use in i915 OA, replace it with
> driver specific drm_dbg() call (Matt).
> 
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com > ---
>   drivers/gpu/drm/i915/i915_perf.c | 151 ++++++++++++++++++++-----------
>   1 file changed, 100 insertions(+), 51 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index 1577ab6754db..b3beb89884e0 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -885,8 +885,9 @@ static int gen8_oa_read(struct i915_perf_stream *stream,
>   		if (ret)
>   			return ret;
>   
> -		DRM_DEBUG("OA buffer overflow (exponent = %d): force restart\n",
> -			  stream->period_exponent);
> +		drm_dbg(&stream->perf->i915->drm,

Looking at number of uses of &stream->perf->i915->drm I wonder if some 
helper wouldn't simplify things, sth like to_drm(stream) ?

Anyway:
Reviewed-by: Andrzej Hajda <andrzej.hajda at intel.com>

Regards
Andrzej

> +			"OA buffer overflow (exponent = %d): force restart\n",
> +			stream->period_exponent);
>   
>   		stream->perf->ops.oa_disable(stream);
>   		stream->perf->ops.oa_enable(stream);
> @@ -1108,8 +1109,9 @@ static int gen7_oa_read(struct i915_perf_stream *stream,
>   		if (ret)
>   			return ret;
>   
> -		DRM_DEBUG("OA buffer overflow (exponent = %d): force restart\n",
> -			  stream->period_exponent);
> +		drm_dbg(&stream->perf->i915->drm,
> +			"OA buffer overflow (exponent = %d): force restart\n",
> +			stream->period_exponent);
>   
>   		stream->perf->ops.oa_disable(stream);
>   		stream->perf->ops.oa_enable(stream);
> @@ -2863,7 +2865,8 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
>   	int ret;
>   
>   	if (!props->engine) {
> -		DRM_DEBUG("OA engine not specified\n");
> +		drm_dbg(&stream->perf->i915->drm,
> +			"OA engine not specified\n");
>   		return -EINVAL;
>   	}
>   
> @@ -2873,18 +2876,21 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
>   	 * IDs
>   	 */
>   	if (!perf->metrics_kobj) {
> -		DRM_DEBUG("OA metrics weren't advertised via sysfs\n");
> +		drm_dbg(&stream->perf->i915->drm,
> +			"OA metrics weren't advertised via sysfs\n");
>   		return -EINVAL;
>   	}
>   
>   	if (!(props->sample_flags & SAMPLE_OA_REPORT) &&
>   	    (GRAPHICS_VER(perf->i915) < 12 || !stream->ctx)) {
> -		DRM_DEBUG("Only OA report sampling supported\n");
> +		drm_dbg(&stream->perf->i915->drm,
> +			"Only OA report sampling supported\n");
>   		return -EINVAL;
>   	}
>   
>   	if (!perf->ops.enable_metric_set) {
> -		DRM_DEBUG("OA unit not supported\n");
> +		drm_dbg(&stream->perf->i915->drm,
> +			"OA unit not supported\n");
>   		return -ENODEV;
>   	}
>   
> @@ -2894,12 +2900,14 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
>   	 * we currently only allow exclusive access
>   	 */
>   	if (perf->exclusive_stream) {
> -		DRM_DEBUG("OA unit already in use\n");
> +		drm_dbg(&stream->perf->i915->drm,
> +			"OA unit already in use\n");
>   		return -EBUSY;
>   	}
>   
>   	if (!props->oa_format) {
> -		DRM_DEBUG("OA report format not specified\n");
> +		drm_dbg(&stream->perf->i915->drm,
> +			"OA report format not specified\n");
>   		return -EINVAL;
>   	}
>   
> @@ -2929,20 +2937,23 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
>   	if (stream->ctx) {
>   		ret = oa_get_render_ctx_id(stream);
>   		if (ret) {
> -			DRM_DEBUG("Invalid context id to filter with\n");
> +			drm_dbg(&stream->perf->i915->drm,
> +				"Invalid context id to filter with\n");
>   			return ret;
>   		}
>   	}
>   
>   	ret = alloc_noa_wait(stream);
>   	if (ret) {
> -		DRM_DEBUG("Unable to allocate NOA wait batch buffer\n");
> +		drm_dbg(&stream->perf->i915->drm,
> +			"Unable to allocate NOA wait batch buffer\n");
>   		goto err_noa_wait_alloc;
>   	}
>   
>   	stream->oa_config = i915_perf_get_oa_config(perf, props->metrics_set);
>   	if (!stream->oa_config) {
> -		DRM_DEBUG("Invalid OA config id=%i\n", props->metrics_set);
> +		drm_dbg(&stream->perf->i915->drm,
> +			"Invalid OA config id=%i\n", props->metrics_set);
>   		ret = -EINVAL;
>   		goto err_config;
>   	}
> @@ -2973,11 +2984,13 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
>   
>   	ret = i915_perf_stream_enable_sync(stream);
>   	if (ret) {
> -		DRM_DEBUG("Unable to enable metric set\n");
> +		drm_dbg(&stream->perf->i915->drm,
> +			"Unable to enable metric set\n");
>   		goto err_enable;
>   	}
>   
> -	DRM_DEBUG("opening stream oa config uuid=%s\n",
> +	drm_dbg(&stream->perf->i915->drm,
> +		"opening stream oa config uuid=%s\n",
>   		  stream->oa_config->uuid);
>   
>   	hrtimer_init(&stream->poll_check_timer,
> @@ -3429,7 +3442,8 @@ i915_perf_open_ioctl_locked(struct i915_perf *perf,
>   
>   		specific_ctx = i915_gem_context_lookup(file_priv, ctx_handle);
>   		if (IS_ERR(specific_ctx)) {
> -			DRM_DEBUG("Failed to look up context with ID %u for opening perf stream\n",
> +			drm_dbg(&perf->i915->drm,
> +				"Failed to look up context with ID %u for opening perf stream\n",
>   				  ctx_handle);
>   			ret = PTR_ERR(specific_ctx);
>   			goto err;
> @@ -3463,7 +3477,8 @@ i915_perf_open_ioctl_locked(struct i915_perf *perf,
>   
>   	if (props->hold_preemption) {
>   		if (!props->single_context) {
> -			DRM_DEBUG("preemption disable with no context\n");
> +			drm_dbg(&perf->i915->drm,
> +				"preemption disable with no context\n");
>   			ret = -EINVAL;
>   			goto err;
>   		}
> @@ -3485,7 +3500,8 @@ i915_perf_open_ioctl_locked(struct i915_perf *perf,
>   	 */
>   	if (privileged_op &&
>   	    i915_perf_stream_paranoid && !perfmon_capable()) {
> -		DRM_DEBUG("Insufficient privileges to open i915 perf stream\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Insufficient privileges to open i915 perf stream\n");
>   		ret = -EACCES;
>   		goto err_ctx;
>   	}
> @@ -3592,7 +3608,8 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   	props->poll_oa_period = DEFAULT_POLL_PERIOD_NS;
>   
>   	if (!n_props) {
> -		DRM_DEBUG("No i915 perf properties given\n");
> +		drm_dbg(&perf->i915->drm,
> +			"No i915 perf properties given\n");
>   		return -EINVAL;
>   	}
>   
> @@ -3601,7 +3618,8 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   						 I915_ENGINE_CLASS_RENDER,
>   						 0);
>   	if (!props->engine) {
> -		DRM_DEBUG("No RENDER-capable engines\n");
> +		drm_dbg(&perf->i915->drm,
> +			"No RENDER-capable engines\n");
>   		return -EINVAL;
>   	}
>   
> @@ -3612,7 +3630,8 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   	 * from userspace.
>   	 */
>   	if (n_props >= DRM_I915_PERF_PROP_MAX) {
> -		DRM_DEBUG("More i915 perf properties specified than exist\n");
> +		drm_dbg(&perf->i915->drm,
> +			"More i915 perf properties specified than exist\n");
>   		return -EINVAL;
>   	}
>   
> @@ -3629,7 +3648,8 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   			return ret;
>   
>   		if (id == 0 || id >= DRM_I915_PERF_PROP_MAX) {
> -			DRM_DEBUG("Unknown i915 perf property ID\n");
> +			drm_dbg(&perf->i915->drm,
> +				"Unknown i915 perf property ID\n");
>   			return -EINVAL;
>   		}
>   
> @@ -3644,19 +3664,22 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   			break;
>   		case DRM_I915_PERF_PROP_OA_METRICS_SET:
>   			if (value == 0) {
> -				DRM_DEBUG("Unknown OA metric set ID\n");
> +				drm_dbg(&perf->i915->drm,
> +					"Unknown OA metric set ID\n");
>   				return -EINVAL;
>   			}
>   			props->metrics_set = value;
>   			break;
>   		case DRM_I915_PERF_PROP_OA_FORMAT:
>   			if (value == 0 || value >= I915_OA_FORMAT_MAX) {
> -				DRM_DEBUG("Out-of-range OA report format %llu\n",
> +				drm_dbg(&perf->i915->drm,
> +					"Out-of-range OA report format %llu\n",
>   					  value);
>   				return -EINVAL;
>   			}
>   			if (!oa_format_valid(perf, value)) {
> -				DRM_DEBUG("Unsupported OA report format %llu\n",
> +				drm_dbg(&perf->i915->drm,
> +					"Unsupported OA report format %llu\n",
>   					  value);
>   				return -EINVAL;
>   			}
> @@ -3664,7 +3687,8 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   			break;
>   		case DRM_I915_PERF_PROP_OA_EXPONENT:
>   			if (value > OA_EXPONENT_MAX) {
> -				DRM_DEBUG("OA timer exponent too high (> %u)\n",
> +				drm_dbg(&perf->i915->drm,
> +					"OA timer exponent too high (> %u)\n",
>   					 OA_EXPONENT_MAX);
>   				return -EINVAL;
>   			}
> @@ -3692,7 +3716,8 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   				oa_freq_hz = 0;
>   
>   			if (oa_freq_hz > i915_oa_max_sample_rate && !perfmon_capable()) {
> -				DRM_DEBUG("OA exponent would exceed the max sampling frequency (sysctl dev.i915.oa_max_sample_rate) %uHz without CAP_PERFMON or CAP_SYS_ADMIN privileges\n",
> +				drm_dbg(&perf->i915->drm,
> +					"OA exponent would exceed the max sampling frequency (sysctl dev.i915.oa_max_sample_rate) %uHz without CAP_PERFMON or CAP_SYS_ADMIN privileges\n",
>   					  i915_oa_max_sample_rate);
>   				return -EACCES;
>   			}
> @@ -3709,13 +3734,15 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   			if (copy_from_user(&user_sseu,
>   					   u64_to_user_ptr(value),
>   					   sizeof(user_sseu))) {
> -				DRM_DEBUG("Unable to copy global sseu parameter\n");
> +				drm_dbg(&perf->i915->drm,
> +					"Unable to copy global sseu parameter\n");
>   				return -EFAULT;
>   			}
>   
>   			ret = get_sseu_config(&props->sseu, props->engine, &user_sseu);
>   			if (ret) {
> -				DRM_DEBUG("Invalid SSEU configuration\n");
> +				drm_dbg(&perf->i915->drm,
> +					"Invalid SSEU configuration\n");
>   				return ret;
>   			}
>   			props->has_sseu = true;
> @@ -3723,7 +3750,8 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   		}
>   		case DRM_I915_PERF_PROP_POLL_OA_PERIOD:
>   			if (value < 100000 /* 100us */) {
> -				DRM_DEBUG("OA availability timer too small (%lluns < 100us)\n",
> +				drm_dbg(&perf->i915->drm,
> +					"OA availability timer too small (%lluns < 100us)\n",
>   					  value);
>   				return -EINVAL;
>   			}
> @@ -3774,7 +3802,8 @@ int i915_perf_open_ioctl(struct drm_device *dev, void *data,
>   	int ret;
>   
>   	if (!perf->i915) {
> -		DRM_DEBUG("i915 perf interface not available for this system\n");
> +		drm_dbg(&perf->i915->drm,
> +			"i915 perf interface not available for this system\n");
>   		return -ENOTSUPP;
>   	}
>   
> @@ -3782,7 +3811,8 @@ int i915_perf_open_ioctl(struct drm_device *dev, void *data,
>   			   I915_PERF_FLAG_FD_NONBLOCK |
>   			   I915_PERF_FLAG_DISABLED;
>   	if (param->flags & ~known_open_flags) {
> -		DRM_DEBUG("Unknown drm_i915_perf_open_param flag\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Unknown drm_i915_perf_open_param flag\n");
>   		return -EINVAL;
>   	}
>   
> @@ -4028,7 +4058,8 @@ static struct i915_oa_reg *alloc_oa_regs(struct i915_perf *perf,
>   			goto addr_err;
>   
>   		if (!is_valid(perf, addr)) {
> -			DRM_DEBUG("Invalid oa_reg address: %X\n", addr);
> +			drm_dbg(&perf->i915->drm,
> +				"Invalid oa_reg address: %X\n", addr);
>   			err = -EINVAL;
>   			goto addr_err;
>   		}
> @@ -4102,30 +4133,35 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
>   	int err, id;
>   
>   	if (!perf->i915) {
> -		DRM_DEBUG("i915 perf interface not available for this system\n");
> +		drm_dbg(&perf->i915->drm,
> +			"i915 perf interface not available for this system\n");
>   		return -ENOTSUPP;
>   	}
>   
>   	if (!perf->metrics_kobj) {
> -		DRM_DEBUG("OA metrics weren't advertised via sysfs\n");
> +		drm_dbg(&perf->i915->drm,
> +			"OA metrics weren't advertised via sysfs\n");
>   		return -EINVAL;
>   	}
>   
>   	if (i915_perf_stream_paranoid && !perfmon_capable()) {
> -		DRM_DEBUG("Insufficient privileges to add i915 OA config\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Insufficient privileges to add i915 OA config\n");
>   		return -EACCES;
>   	}
>   
>   	if ((!args->mux_regs_ptr || !args->n_mux_regs) &&
>   	    (!args->boolean_regs_ptr || !args->n_boolean_regs) &&
>   	    (!args->flex_regs_ptr || !args->n_flex_regs)) {
> -		DRM_DEBUG("No OA registers given\n");
> +		drm_dbg(&perf->i915->drm,
> +			"No OA registers given\n");
>   		return -EINVAL;
>   	}
>   
>   	oa_config = kzalloc(sizeof(*oa_config), GFP_KERNEL);
>   	if (!oa_config) {
> -		DRM_DEBUG("Failed to allocate memory for the OA config\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Failed to allocate memory for the OA config\n");
>   		return -ENOMEM;
>   	}
>   
> @@ -4133,7 +4169,8 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
>   	kref_init(&oa_config->ref);
>   
>   	if (!uuid_is_valid(args->uuid)) {
> -		DRM_DEBUG("Invalid uuid format for OA config\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Invalid uuid format for OA config\n");
>   		err = -EINVAL;
>   		goto reg_err;
>   	}
> @@ -4150,7 +4187,8 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
>   			     args->n_mux_regs);
>   
>   	if (IS_ERR(regs)) {
> -		DRM_DEBUG("Failed to create OA config for mux_regs\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Failed to create OA config for mux_regs\n");
>   		err = PTR_ERR(regs);
>   		goto reg_err;
>   	}
> @@ -4163,7 +4201,8 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
>   			     args->n_boolean_regs);
>   
>   	if (IS_ERR(regs)) {
> -		DRM_DEBUG("Failed to create OA config for b_counter_regs\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Failed to create OA config for b_counter_regs\n");
>   		err = PTR_ERR(regs);
>   		goto reg_err;
>   	}
> @@ -4182,7 +4221,8 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
>   				     args->n_flex_regs);
>   
>   		if (IS_ERR(regs)) {
> -			DRM_DEBUG("Failed to create OA config for flex_regs\n");
> +			drm_dbg(&perf->i915->drm,
> +				"Failed to create OA config for flex_regs\n");
>   			err = PTR_ERR(regs);
>   			goto reg_err;
>   		}
> @@ -4198,7 +4238,8 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
>   	 */
>   	idr_for_each_entry(&perf->metrics_idr, tmp, id) {
>   		if (!strcmp(tmp->uuid, oa_config->uuid)) {
> -			DRM_DEBUG("OA config already exists with this uuid\n");
> +			drm_dbg(&perf->i915->drm,
> +				"OA config already exists with this uuid\n");
>   			err = -EADDRINUSE;
>   			goto sysfs_err;
>   		}
> @@ -4206,7 +4247,8 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
>   
>   	err = create_dynamic_oa_sysfs_entry(perf, oa_config);
>   	if (err) {
> -		DRM_DEBUG("Failed to create sysfs entry for OA config\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Failed to create sysfs entry for OA config\n");
>   		goto sysfs_err;
>   	}
>   
> @@ -4215,14 +4257,16 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
>   				  oa_config, 2,
>   				  0, GFP_KERNEL);
>   	if (oa_config->id < 0) {
> -		DRM_DEBUG("Failed to create sysfs entry for OA config\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Failed to create sysfs entry for OA config\n");
>   		err = oa_config->id;
>   		goto sysfs_err;
>   	}
>   
>   	mutex_unlock(&perf->metrics_lock);
>   
> -	DRM_DEBUG("Added config %s id=%i\n", oa_config->uuid, oa_config->id);
> +	drm_dbg(&perf->i915->drm,
> +		"Added config %s id=%i\n", oa_config->uuid, oa_config->id);
>   
>   	return oa_config->id;
>   
> @@ -4230,7 +4274,8 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
>   	mutex_unlock(&perf->metrics_lock);
>   reg_err:
>   	i915_oa_config_put(oa_config);
> -	DRM_DEBUG("Failed to add new OA config\n");
> +	drm_dbg(&perf->i915->drm,
> +		"Failed to add new OA config\n");
>   	return err;
>   }
>   
> @@ -4254,12 +4299,14 @@ int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
>   	int ret;
>   
>   	if (!perf->i915) {
> -		DRM_DEBUG("i915 perf interface not available for this system\n");
> +		drm_dbg(&perf->i915->drm,
> +			"i915 perf interface not available for this system\n");
>   		return -ENOTSUPP;
>   	}
>   
>   	if (i915_perf_stream_paranoid && !perfmon_capable()) {
> -		DRM_DEBUG("Insufficient privileges to remove i915 OA config\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Insufficient privileges to remove i915 OA config\n");
>   		return -EACCES;
>   	}
>   
> @@ -4269,7 +4316,8 @@ int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
>   
>   	oa_config = idr_find(&perf->metrics_idr, *arg);
>   	if (!oa_config) {
> -		DRM_DEBUG("Failed to remove unknown OA config\n");
> +		drm_dbg(&perf->i915->drm,
> +			"Failed to remove unknown OA config\n");
>   		ret = -ENOENT;
>   		goto err_unlock;
>   	}
> @@ -4282,7 +4330,8 @@ int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
>   
>   	mutex_unlock(&perf->metrics_lock);
>   
> -	DRM_DEBUG("Removed config %s id=%i\n", oa_config->uuid, oa_config->id);
> +	drm_dbg(&perf->i915->drm,
> +		"Removed config %s id=%i\n", oa_config->uuid, oa_config->id);
>   
>   	i915_oa_config_put(oa_config);
>   



More information about the Intel-gfx mailing list