All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call
@ 2022-07-07 19:26 Nerlige Ramappa, Umesh
  2022-07-07 19:26 ` [Intel-gfx] [PATCH 2/2] i915/perf: Disable OA sseu config param for gfx12.50+ Nerlige Ramappa, Umesh
  0 siblings, 1 reply; 5+ messages in thread
From: Nerlige Ramappa, Umesh @ 2022-07-07 19:26 UTC (permalink / raw)
  To: intel-gfx, Lionel G Landwerlin, Matt Roper

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@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,
+			"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);
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Intel-gfx] [PATCH 2/2] i915/perf: Disable OA sseu config param for gfx12.50+
  2022-07-07 19:26 [Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call Nerlige Ramappa, Umesh
@ 2022-07-07 19:26 ` Nerlige Ramappa, Umesh
  0 siblings, 0 replies; 5+ messages in thread
From: Nerlige Ramappa, Umesh @ 2022-07-07 19:26 UTC (permalink / raw)
  To: intel-gfx, Lionel G Landwerlin, Matt Roper

The global sseu config is applicable only to gen11 platforms where
concurrent media, render and OA use cases may cause some subslices to be
turned off and hence lose NOA configuration. Ideally we want to return
ENODEV for non-gen11 platforms, however, this has shipped with gfx12, so
disable only for gfx12.50+.

v2: gfx12 is already shipped with this, disable for gfx12.50+ (Lionel)

v3: (Matt)
- Update commit message and replace "12.5" with "12.50"
- Replace DRM_DEBUG() with driver specific drm_dbg()

Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
---
 drivers/gpu/drm/i915/i915_perf.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index b3beb89884e0..2c7763bf59a8 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -3731,6 +3731,12 @@ static int read_properties_unlocked(struct i915_perf *perf,
 		case DRM_I915_PERF_PROP_GLOBAL_SSEU: {
 			struct drm_i915_gem_context_param_sseu user_sseu;
 
+			if (GRAPHICS_VER_FULL(perf->i915) >= IP_VER(12, 50)) {
+				DRM_DEBUG("SSEU config not supported on gfx %x\n",
+					  GRAPHICS_VER_FULL(perf->i915));
+				return -ENODEV;
+			}
+
 			if (copy_from_user(&user_sseu,
 					   u64_to_user_ptr(value),
 					   sizeof(user_sseu))) {
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call
  2022-07-07 19:30 [Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call Nerlige Ramappa, Umesh
  2022-07-08  6:34 ` Lionel Landwerlin
@ 2022-07-08  8:41 ` Andrzej Hajda
  1 sibling, 0 replies; 5+ messages in thread
From: Andrzej Hajda @ 2022-07-08  8:41 UTC (permalink / raw)
  To: Nerlige Ramappa, Umesh, intel-gfx, Lionel G Landwerlin, Matt Roper

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@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@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);
>   


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call
  2022-07-07 19:30 [Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call Nerlige Ramappa, Umesh
@ 2022-07-08  6:34 ` Lionel Landwerlin
  2022-07-08  8:41 ` Andrzej Hajda
  1 sibling, 0 replies; 5+ messages in thread
From: Lionel Landwerlin @ 2022-07-08  6:34 UTC (permalink / raw)
  To: Nerlige Ramappa, Umesh, intel-gfx, Matt Roper

On 07/07/2022 22: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@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@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,
> +			"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);
>   



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call
@ 2022-07-07 19:30 Nerlige Ramappa, Umesh
  2022-07-08  6:34 ` Lionel Landwerlin
  2022-07-08  8:41 ` Andrzej Hajda
  0 siblings, 2 replies; 5+ messages in thread
From: Nerlige Ramappa, Umesh @ 2022-07-07 19:30 UTC (permalink / raw)
  To: intel-gfx, Lionel G Landwerlin, Matt Roper

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@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,
+			"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);
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-07-08  8:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-07 19:26 [Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call Nerlige Ramappa, Umesh
2022-07-07 19:26 ` [Intel-gfx] [PATCH 2/2] i915/perf: Disable OA sseu config param for gfx12.50+ Nerlige Ramappa, Umesh
2022-07-07 19:30 [Intel-gfx] [PATCH 1/2] i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call Nerlige Ramappa, Umesh
2022-07-08  6:34 ` Lionel Landwerlin
2022-07-08  8:41 ` Andrzej Hajda

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.