All of lore.kernel.org
 help / color / mirror / Atom feed
From: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
To: Krzysztof Karas <krzysztof.karas@intel.com>,
	 intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org,
	Jani Nikula <jani.nikula@linux.intel.com>,
	 Andi Shyti <andi.shyti@linux.intel.com>,
	Sebastian Brzezinka <sebastian.brzezinka@intel.com>,
	 Krzysztof Niemiec <krzysztof.niemiec@intel.com>
Subject: Re: [PATCH v2 1/8] drm/i915/selftests: Use drm_* prints in mock selftests
Date: Mon, 24 Aug 2026 09:10:41 +0200	[thread overview]
Message-ID: <a95f2cb629ab15b431594dc259011324ab1bc6cc.camel@linux.intel.com> (raw)
In-Reply-To: <20260818095624.3254368-2-krzysztof.karas@intel.com>

Hi Krzysztof,

On Tue, 2026-08-18 at 09:56 +0000, Krzysztof Karas wrote:
> Move away from generic pr prints to device context aware drm
> versions.
> 
> Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
> ---
>  .../gpu/drm/i915/selftests/i915_sw_fence.c    |  92 +++++++------
>  drivers/gpu/drm/i915/selftests/i915_syncmap.c | 129 ++++++++++--------
>  drivers/gpu/drm/i915/selftests/scatterlist.c  |  45 +++---
>  3 files changed, 144 insertions(+), 122 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/selftests/i915_sw_fence.c b/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
> index 6a305322e30d..462704e575f5 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
> @@ -26,6 +26,8 @@
>  #include <linux/delay.h>
>  #include <linux/prime_numbers.h>
>  
> +#include <drm/drm_print.h>
> +
>  #include "../i915_selftest.h"
>  
>  static int
> @@ -107,7 +109,7 @@ static int test_dag(void *arg)
>  		return -ENOMEM;
>  
>  	if (i915_sw_fence_await_sw_fence_gfp(A, A, GFP_KERNEL) != -EINVAL) {
> -		pr_err("recursive cycle not detected (AA)\n");
> +		drm_err(NULL, "recursive cycle not detected (AA)\n");

Since this use patter doesn't pass any context to the drm version, I think
your commit message doesn't give an answer on why we may want this change.

>  		goto err_A;
>  	}
>  
> @@ -119,7 +121,7 @@ static int test_dag(void *arg)
>  
>  	i915_sw_fence_await_sw_fence_gfp(A, B, GFP_KERNEL);
>  	if (i915_sw_fence_await_sw_fence_gfp(B, A, GFP_KERNEL) != -EINVAL) {
> -		pr_err("single depth cycle not detected (BAB)\n");
> +		drm_err(NULL, "single depth cycle not detected (BAB)\n");
>  		goto err_B;
>  	}
>  
> @@ -130,19 +132,19 @@ static int test_dag(void *arg)
>  	}
>  
>  	if (i915_sw_fence_await_sw_fence_gfp(B, C, GFP_KERNEL) == -EINVAL) {
> -		pr_err("invalid cycle detected\n");
> +		drm_err(NULL, "invalid cycle detected\n");
>  		goto err_C;
>  	}
>  	if (i915_sw_fence_await_sw_fence_gfp(C, B, GFP_KERNEL) != -EINVAL) {
> -		pr_err("single depth cycle not detected (CBC)\n");
> +		drm_err(NULL, "single depth cycle not detected (CBC)\n");
>  		goto err_C;
>  	}
>  	if (i915_sw_fence_await_sw_fence_gfp(C, A, GFP_KERNEL) != -EINVAL) {
> -		pr_err("cycle not detected (BA, CB, AC)\n");
> +		drm_err(NULL, "cycle not detected (BA, CB, AC)\n");
>  		goto err_C;
>  	}
>  	if (i915_sw_fence_await_sw_fence_gfp(A, C, GFP_KERNEL) == -EINVAL) {
> -		pr_err("invalid cycle detected\n");
> +		drm_err(NULL, "invalid cycle detected\n");
>  		goto err_C;
>  	}
>  
> @@ -152,15 +154,15 @@ static int test_dag(void *arg)
>  
>  	ret = 0;
>  	if (!i915_sw_fence_done(C)) {
> -		pr_err("fence C not done\n");
> +		drm_err(NULL, "fence C not done\n");
>  		ret = -EINVAL;
>  	}
>  	if (!i915_sw_fence_done(B)) {
> -		pr_err("fence B not done\n");
> +		drm_err(NULL, "fence B not done\n");
>  		ret = -EINVAL;
>  	}
>  	if (!i915_sw_fence_done(A)) {
> -		pr_err("fence A not done\n");
> +		drm_err(NULL, "fence A not done\n");
>  		ret = -EINVAL;
>  	}
>  err_C:
> @@ -191,7 +193,7 @@ static int test_AB(void *arg)
>  	if (ret < 0)
>  		goto err_B;
>  	if (ret == 0) {
> -		pr_err("Incorrectly reported fence A was complete before await\n");
> +		drm_err(NULL, "Incorrectly reported fence A was complete before await\n");
>  		ret = -EINVAL;
>  		goto err_B;
>  	}
> @@ -203,12 +205,12 @@ static int test_AB(void *arg)
>  
>  	i915_sw_fence_commit(B);
>  	if (!i915_sw_fence_done(B)) {
> -		pr_err("Fence B is not done\n");
> +		drm_err(NULL, "Fence B is not done\n");
>  		goto err_B;
>  	}
>  
>  	if (!i915_sw_fence_done(A)) {
> -		pr_err("Fence A is not done\n");
> +		drm_err(NULL, "Fence A is not done\n");
>  		goto err_B;
>  	}
>  
> @@ -246,7 +248,7 @@ static int test_ABC(void *arg)
>  	if (ret < 0)
>  		goto err_C;
>  	if (ret == 0) {
> -		pr_err("Incorrectly reported fence B was complete before await\n");
> +		drm_err(NULL, "Incorrectly reported fence B was complete before await\n");
>  		goto err_C;
>  	}
>  
> @@ -254,25 +256,25 @@ static int test_ABC(void *arg)
>  	if (ret < 0)
>  		goto err_C;
>  	if (ret == 0) {
> -		pr_err("Incorrectly reported fence C was complete before await\n");
> +		drm_err(NULL, "Incorrectly reported fence C was complete before await\n");
>  		goto err_C;
>  	}
>  
>  	ret = -EINVAL;
>  	i915_sw_fence_commit(A);
>  	if (i915_sw_fence_done(A)) {
> -		pr_err("Fence A completed early\n");
> +		drm_err(NULL, "Fence A completed early\n");
>  		goto err_C;
>  	}
>  
>  	i915_sw_fence_commit(B);
>  	if (i915_sw_fence_done(B)) {
> -		pr_err("Fence B completed early\n");
> +		drm_err(NULL, "Fence B completed early\n");
>  		goto err_C;
>  	}
>  
>  	if (i915_sw_fence_done(A)) {
> -		pr_err("Fence A completed early (after signaling B)\n");
> +		drm_err(NULL, "Fence A completed early (after signaling B)\n");
>  		goto err_C;
>  	}
>  
> @@ -280,15 +282,15 @@ static int test_ABC(void *arg)
>  
>  	ret = 0;
>  	if (!i915_sw_fence_done(C)) {
> -		pr_err("Fence C not done\n");
> +		drm_err(NULL, "Fence C not done\n");
>  		ret = -EINVAL;
>  	}
>  	if (!i915_sw_fence_done(B)) {
> -		pr_err("Fence B not done\n");
> +		drm_err(NULL, "Fence B not done\n");
>  		ret = -EINVAL;
>  	}
>  	if (!i915_sw_fence_done(A)) {
> -		pr_err("Fence A not done\n");
> +		drm_err(NULL, "Fence A not done\n");
>  		ret = -EINVAL;
>  	}
>  err_C:
> @@ -343,28 +345,28 @@ static int test_AB_C(void *arg)
>  
>  	ret = 0;
>  	if (i915_sw_fence_done(A)) {
> -		pr_err("Fence A completed early\n");
> +		drm_err(NULL, "Fence A completed early\n");
>  		ret = -EINVAL;
>  	}
>  
>  	if (i915_sw_fence_done(B)) {
> -		pr_err("Fence B completed early\n");
> +		drm_err(NULL, "Fence B completed early\n");
>  		ret = -EINVAL;
>  	}
>  
>  	i915_sw_fence_commit(C);
>  	if (!i915_sw_fence_done(C)) {
> -		pr_err("Fence C not done\n");
> +		drm_err(NULL, "Fence C not done\n");
>  		ret = -EINVAL;
>  	}
>  
>  	if (!i915_sw_fence_done(B)) {
> -		pr_err("Fence B not done\n");
> +		drm_err(NULL, "Fence B not done\n");
>  		ret = -EINVAL;
>  	}
>  
>  	if (!i915_sw_fence_done(A)) {
> -		pr_err("Fence A not done\n");
> +		drm_err(NULL, "Fence A not done\n");
>  		ret = -EINVAL;
>  	}
>  
> @@ -424,17 +426,17 @@ static int test_C_AB(void *arg)
>  	i915_sw_fence_commit(B);
>  
>  	if (!i915_sw_fence_done(A)) {
> -		pr_err("Fence A not done\n");
> +		drm_err(NULL, "Fence A not done\n");
>  		ret = -EINVAL;
>  	}
>  
>  	if (!i915_sw_fence_done(B)) {
> -		pr_err("Fence B not done\n");
> +		drm_err(NULL, "Fence B not done\n");
>  		ret = -EINVAL;
>  	}
>  
>  	if (!i915_sw_fence_done(C)) {
> -		pr_err("Fence C not done\n");
> +		drm_err(NULL, "Fence C not done\n");
>  		ret = -EINVAL;
>  	}
>  
> @@ -483,14 +485,14 @@ static int test_chain(void *arg)
>  	for (i = nfences; --i; ) {
>  		if (i915_sw_fence_done(fences[i])) {
>  			if (ret == 0)
> -				pr_err("Fence[%d] completed early\n", i);
> +				drm_err(NULL, "Fence[%d] completed early\n", i);
>  			ret = -EINVAL;
>  		}
>  	}
>  	i915_sw_fence_commit(fences[0]);
>  	for (i = 0; ret == 0 && i < nfences; i++) {
>  		if (!i915_sw_fence_done(fences[i])) {
> -			pr_err("Fence[%d] is not done\n", i);
> +			drm_err(NULL, "Fence[%d] is not done\n", i);
>  			ret = -EINVAL;
>  		}
>  	}
> @@ -553,7 +555,7 @@ static int test_ipc(void *arg)
>  
>  	usleep_range(1000, 2000);
>  	if (READ_ONCE(ipc.value)) {
> -		pr_err("worker updated value before i915_sw_fence was signaled\n");
> +		drm_err(NULL, "worker updated value before i915_sw_fence was signaled\n");
>  		ret = -EINVAL;
>  	}
>  
> @@ -561,7 +563,7 @@ static int test_ipc(void *arg)
>  	i915_sw_fence_wait(ipc.out);
>  
>  	if (!READ_ONCE(ipc.value)) {
> -		pr_err("worker signaled i915_sw_fence before value was posted\n");
> +		drm_err(NULL, "worker signaled i915_sw_fence before value was posted\n");
>  		ret = -EINVAL;
>  	}
>  
> @@ -584,7 +586,7 @@ static int test_timer(void *arg)
>  	preempt_disable();
>  	timed_fence_init(&tf, target = jiffies);
>  	if (!i915_sw_fence_done(&tf.fence)) {
> -		pr_err("Fence with immediate expiration not signaled\n");
> +		drm_err(NULL, "Fence with immediate expiration not signaled\n");
>  		goto err;
>  	}
>  	preempt_enable();
> @@ -594,7 +596,9 @@ static int test_timer(void *arg)
>  		preempt_disable();
>  		timed_fence_init(&tf, target = jiffies + delay);
>  		if (i915_sw_fence_done(&tf.fence)) {
> -			pr_err("Fence with future expiration (%lu jiffies) already signaled\n", delay);
> +			drm_err(NULL,
> +				"Fence with future expiration (%lu jiffies) already signaled\n",
> +				delay);
>  			goto err;
>  		}
>  		preempt_enable();
> @@ -603,12 +607,12 @@ static int test_timer(void *arg)
>  
>  		preempt_disable();
>  		if (!i915_sw_fence_done(&tf.fence)) {
> -			pr_err("Fence not signaled after wait\n");
> +			drm_err(NULL, "Fence not signaled after wait\n");
>  			goto err;
>  		}
>  		if (time_before(jiffies, target)) {
> -			pr_err("Fence signaled too early, target=%lu, now=%lu\n",
> -			       target, jiffies);
> +			drm_err(NULL, "Fence signaled too early, target=%lu, now=%lu\n",
> +				target, jiffies);
>  			goto err;
>  		}
>  		preempt_enable();
> @@ -692,7 +696,7 @@ static int test_dma_fence(void *arg)
>  
>  	err = -EINVAL;
>  	if (i915_sw_fence_done(timeout) || i915_sw_fence_done(not)) {
> -		pr_err("Fences immediately signaled\n");
> +		drm_err(NULL, "Fences immediately signaled\n");
>  		goto err;
>  	}
>  
> @@ -702,25 +706,25 @@ static int test_dma_fence(void *arg)
>  	sleep = jiffies_to_usecs(delay) / 3;
>  	usleep_range(sleep, 2 * sleep);
>  	if (time_after(jiffies, end)) {
> -		pr_debug("Slept too long, delay=%lu, (target=%lu, now=%lu) skipping\n",
> -			 delay, end, jiffies);
> +		drm_dbg(NULL, "Slept too long, delay=%lu, (target=%lu, now=%lu) skipping\n",
> +			delay, end, jiffies);
>  		goto skip;
>  	}
>  
>  	if (i915_sw_fence_done(timeout) || i915_sw_fence_done(not)) {
> -		pr_err("Fences signaled too early\n");
> +		drm_err(NULL, "Fences signaled too early\n");
>  		goto err;
>  	}
>  
>  	if (!wait_event_timeout(timeout->wait,
>  				i915_sw_fence_done(timeout),
>  				2 * (end - jiffies) + 1)) {
> -		pr_err("Timeout fence unsignaled!\n");
> +		drm_err(NULL, "Timeout fence unsignaled!\n");
>  		goto err;
>  	}
>  
>  	if (i915_sw_fence_done(not)) {
> -		pr_err("No timeout fence signaled!\n");
> +		drm_err(NULL, "No timeout fence signaled!\n");
>  		goto err;
>  	}
>  
> @@ -728,7 +732,7 @@ static int test_dma_fence(void *arg)
>  	dma_fence_signal(dma);
>  
>  	if (!i915_sw_fence_done(timeout) || !i915_sw_fence_done(not)) {
> -		pr_err("Fences unsignaled\n");
> +		drm_err(NULL, "Fences unsignaled\n");
>  		goto err;
>  	}
>  
> diff --git a/drivers/gpu/drm/i915/selftests/i915_syncmap.c b/drivers/gpu/drm/i915/selftests/i915_syncmap.c
> index 88fa845e9f4a..3eae3c6fa312 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_syncmap.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_syncmap.c
> @@ -25,6 +25,8 @@
>  #include "../i915_selftest.h"
>  #include "i915_random.h"
>  
> +#include <drm/drm_print.h>
> +
>  static char *
>  __sync_print(struct i915_syncmap *p,
>  	     char *buf, unsigned long *sz,
> @@ -102,7 +104,7 @@ static int check_syncmap_free(struct i915_syncmap **sync)
>  {
>  	i915_syncmap_free(sync);
>  	if (*sync) {
> -		pr_err("sync not cleared after free\n");
> +		drm_err(NULL, "sync not cleared after free\n");
>  		return -EINVAL;
>  	}
>  
> @@ -121,7 +123,7 @@ static int dump_syncmap(struct i915_syncmap *sync, int err)
>  		goto skip;
>  
>  	if (i915_syncmap_print_to_buf(sync, buf, PAGE_SIZE))
> -		pr_err("%s", buf);
> +		drm_err(NULL, "%s", buf);
>  
>  	kfree(buf);
>  
> @@ -146,14 +148,13 @@ static int igt_syncmap_init(void *arg)
>  static int check_seqno(struct i915_syncmap *leaf, unsigned int idx, u32 seqno)
>  {
>  	if (leaf->height) {
> -		pr_err("%s: not a leaf, height is %d\n",
> -		       __func__, leaf->height);
> +		drm_err(NULL, "%s: not a leaf, height is %d\n", __func__, leaf->height);
>  		return -EINVAL;
>  	}
>  
>  	if (__sync_seqno(leaf)[idx] != seqno) {
> -		pr_err("%s: seqno[%d], found %x, expected %x\n",
> -		       __func__, idx, __sync_seqno(leaf)[idx], seqno);
> +		drm_err(NULL, "%s: seqno[%d], found %x, expected %x\n",
> +			__func__, idx, __sync_seqno(leaf)[idx], seqno);
>  		return -EINVAL;
>  	}
>  
> @@ -169,20 +170,21 @@ static int check_one(struct i915_syncmap **sync, u64 context, u32 seqno)
>  		return err;
>  
>  	if ((*sync)->height) {
> -		pr_err("Inserting first context=%llx did not return leaf (height=%d, prefix=%llx\n",
> -		       context, (*sync)->height, (*sync)->prefix);
> +		drm_err(NULL,
> +			"Inserting first context=%llx did not return leaf (height=%d, prefix=%llx\n",
> +			context, (*sync)->height, (*sync)->prefix);
>  		return -EINVAL;
>  	}
>  
>  	if ((*sync)->parent) {
> -		pr_err("Inserting first context=%llx created branches!\n",
> -		       context);
> +		drm_err(NULL, "Inserting first context=%llx created branches!\n", context);
>  		return -EINVAL;
>  	}
>  
>  	if (hweight32((*sync)->bitmap) != 1) {
> -		pr_err("First bitmap does not contain a single entry, found %x (count=%d)!\n",
> -		       (*sync)->bitmap, hweight32((*sync)->bitmap));
> +		drm_err(NULL,
> +			"First bitmap does not contain a single entry, found %x (count=%d)!\n",
> +			(*sync)->bitmap, hweight32((*sync)->bitmap));
>  		return -EINVAL;
>  	}
>  
> @@ -191,8 +193,7 @@ static int check_one(struct i915_syncmap **sync, u64 context, u32 seqno)
>  		return err;
>  
>  	if (!i915_syncmap_is_later(sync, context, seqno)) {
> -		pr_err("Lookup of first context=%llx/seqno=%x failed!\n",
> -		       context, seqno);
> +		drm_err(NULL, "Lookup of first context=%llx/seqno=%x failed!\n", context, seqno);
>  		return -EINVAL;
>  	}
>  
> @@ -229,8 +230,8 @@ static int igt_syncmap_one(void *arg)
>  		}
>  		max++;
>  	} while (!__igt_timeout(end_time, NULL));
> -	pr_debug("%s: Completed %lu single insertions\n",
> -		 __func__, max * (max - 1) / 2);
> +	drm_dbg(NULL, "%s: Completed %lu single insertions\n",
> +		__func__, max * (max - 1) / 2);
>  out:
>  	return dump_syncmap(sync, err);
>  }
> @@ -244,14 +245,16 @@ static int check_leaf(struct i915_syncmap **sync, u64 context, u32 seqno)
>  		return err;
>  
>  	if ((*sync)->height) {
> -		pr_err("Inserting context=%llx did not return leaf (height=%d, prefix=%llx\n",
> -		       context, (*sync)->height, (*sync)->prefix);
> +		drm_err(NULL,
> +			"Inserting context=%llx did not return leaf (height=%d, prefix=%llx\n",
> +			context, (*sync)->height, (*sync)->prefix);
>  		return -EINVAL;
>  	}
>  
>  	if (hweight32((*sync)->bitmap) != 1) {
> -		pr_err("First entry into leaf (context=%llx) does not contain a single entry, found %x (count=%d)!\n",
> -		       context, (*sync)->bitmap, hweight32((*sync)->bitmap));
> +		drm_err(NULL,
> +			"First entry into leaf (context=%llx) does not contain a single entry, found %x (count=%d)!\n",
> +			context, (*sync)->bitmap, hweight32((*sync)->bitmap));
>  		return -EINVAL;
>  	}
>  
> @@ -260,8 +263,8 @@ static int check_leaf(struct i915_syncmap **sync, u64 context, u32 seqno)
>  		return err;
>  
>  	if (!i915_syncmap_is_later(sync, context, seqno)) {
> -		pr_err("Lookup of first entry context=%llx/seqno=%x failed!\n",
> -		       context, seqno);
> +		drm_err(NULL, "Lookup of first entry context=%llx/seqno=%x failed!\n",
> +			context, seqno);
>  		return -EINVAL;
>  	}
>  
> @@ -306,20 +309,20 @@ static int igt_syncmap_join_above(void *arg)
>  				continue;
>  
>  			if (!join->height) {
> -				pr_err("Parent with no height!\n");
> +				drm_err(NULL, "Parent with no height!\n");
>  				err = -EINVAL;
>  				goto out;
>  			}
>  
>  			if (hweight32(join->bitmap) != 2) {
> -				pr_err("Join does not have 2 children: %x (%d)\n",
> -				       join->bitmap, hweight32(join->bitmap));
> +				drm_err(NULL, "Join does not have 2 children: %x (%d)\n",
> +					join->bitmap, hweight32(join->bitmap));
>  				err = -EINVAL;
>  				goto out;
>  			}
>  
>  			if (__sync_child(join)[__sync_branch_idx(join, context)] != sync) {
> -				pr_err("Leaf misplaced in parent!\n");
> +				drm_err(NULL, "Leaf misplaced in parent!\n");
>  				err = -EINVAL;
>  				goto out;
>  			}
> @@ -350,8 +353,9 @@ static int igt_syncmap_join_below(void *arg)
>  				goto out;
>  
>  			if (sync->height) {
> -				pr_err("Inserting context=%llx (order=%d, step=%d) did not return leaf (height=%d, prefix=%llx\n",
> -				       context, order, step, sync->height, sync->prefix);
> +				drm_err(NULL,
> +					"Inserting context=%llx (order=%d, step=%d) did not return leaf (height=%d, prefix=%llx\n",
> +					context, order, step, sync->height, sync->prefix);
>  				err = -EINVAL;
>  				goto out;
>  			}
> @@ -363,16 +367,17 @@ static int igt_syncmap_join_below(void *arg)
>  			u64 context = step * BIT_ULL(order);
>  
>  			if (!i915_syncmap_is_later(&sync, context, 0)) {
> -				pr_err("1: context %llx (order=%d, step=%d) not found\n",
> -				       context, order, step);
> +				drm_err(NULL, "1: context %llx (order=%d, step=%d) not found\n",
> +					context, order, step);
>  				err = -EINVAL;
>  				goto out;
>  			}
>  
>  			for (idx = 1; idx < KSYNCMAP; idx++) {
>  				if (i915_syncmap_is_later(&sync, context + idx, 0)) {
> -					pr_err("1: context %llx (order=%d, step=%d) should not exist\n",
> -					       context + idx, order, step);
> +					drm_err(NULL,
> +						"1: context %llx (order=%d, step=%d) should not exist\n",
> +						context + idx, order, step);
>  					err = -EINVAL;
>  					goto out;
>  				}
> @@ -385,8 +390,8 @@ static int igt_syncmap_join_below(void *arg)
>  			u64 context = step * BIT_ULL(order);
>  
>  			if (!i915_syncmap_is_later(&sync, context, 0)) {
> -				pr_err("2: context %llx (order=%d, step=%d) not found\n",
> -				       context, order, step);
> +				drm_err(NULL, "2: context %llx (order=%d, step=%d) not found\n",
> +					context, order, step);
>  				err = -EINVAL;
>  				goto out;
>  			}
> @@ -423,17 +428,19 @@ static int igt_syncmap_neighbours(void *arg)
>  				goto out;
>  
>  			if (sync->height) {
> -				pr_err("Inserting context=%llx did not return leaf (height=%d, prefix=%llx\n",
> -				       context, sync->height, sync->prefix);
> +				drm_err(NULL,
> +					"Inserting context=%llx did not return leaf (height=%d, prefix=%llx\n",
> +					context, sync->height, sync->prefix);
>  				err = -EINVAL;
>  				goto out;
>  			}
>  
>  			if (sync->bitmap != BIT(idx + 1) - 1) {
> -				pr_err("Inserting neighbouring context=0x%llx+%d, did not fit into the same leaf bitmap=%x (%d), expected %lx (%d)\n",
> -				       context, idx,
> -				       sync->bitmap, hweight32(sync->bitmap),
> -				       BIT(idx + 1) - 1, idx + 1);
> +				drm_err(NULL,
> +					"Inserting neighbouring context=0x%llx+%d, did not fit into the same leaf bitmap=%x (%d), expected %lx (%d)\n",
> +					context, idx,
> +					sync->bitmap, hweight32(sync->bitmap),
> +					BIT(idx + 1) - 1, idx + 1);
>  				err = -EINVAL;
>  				goto out;
>  			}
> @@ -473,9 +480,10 @@ static int igt_syncmap_compact(void *arg)
>  				goto out;
>  
>  			if (sync->height) {
> -				pr_err("Inserting context=%llx (order=%d, idx=%d) did not return leaf (height=%d, prefix=%llx\n",
> -				       context, order, idx,
> -				       sync->height, sync->prefix);
> +				drm_err(NULL,
> +					"Inserting context=%llx (order=%d, idx=%d) did not return leaf (height=%d, prefix=%llx\n",
> +					context, order, idx,
> +					sync->height, sync->prefix);
>  				err = -EINVAL;
>  				goto out;
>  			}
> @@ -483,22 +491,23 @@ static int igt_syncmap_compact(void *arg)
>  
>  		sync = sync->parent;
>  		if (sync->parent) {
> -			pr_err("Parent (join) of last leaf was not the sync!\n");
> +			drm_err(NULL, "Parent (join) of last leaf was not the sync!\n");
>  			err = -EINVAL;
>  			goto out;
>  		}
>  
>  		if (sync->height != order) {
> -			pr_err("Join does not have the expected height, found %d, expected %d\n",
> -			       sync->height, order);
> +			drm_err(NULL,
> +				"Join does not have the expected height, found %d, expected %d\n",
> +				sync->height, order);
>  			err = -EINVAL;
>  			goto out;
>  		}
>  
>  		if (sync->bitmap != BIT(KSYNCMAP) - 1) {
> -			pr_err("Join is not full!, found %x (%d) expected %lx (%d)\n",
> -			       sync->bitmap, hweight32(sync->bitmap),
> -			       BIT(KSYNCMAP) - 1, KSYNCMAP);
> +			drm_err(NULL, "Join is not full!, found %x (%d) expected %lx (%d)\n",
> +				sync->bitmap, hweight32(sync->bitmap),
> +				BIT(KSYNCMAP) - 1, KSYNCMAP);
>  			err = -EINVAL;
>  			goto out;
>  		}
> @@ -508,28 +517,28 @@ static int igt_syncmap_compact(void *arg)
>  			struct i915_syncmap *leaf = __sync_child(sync)[idx];
>  
>  			if (leaf->height) {
> -				pr_err("Child %d is a not leaf!\n", idx);
> +				drm_err(NULL, "Child %d is a not leaf!\n", idx);
>  				err = -EINVAL;
>  				goto out;
>  			}
>  
>  			if (leaf->parent != sync) {
> -				pr_err("Child %d is not attached to us!\n",
> -				       idx);
> +				drm_err(NULL, "Child %d is not attached to us!\n", idx);
>  				err = -EINVAL;
>  				goto out;
>  			}
>  
>  			if (!is_power_of_2(leaf->bitmap)) {
> -				pr_err("Child %d holds more than one id, found %x (%d)\n",
> -				       idx, leaf->bitmap, hweight32(leaf->bitmap));
> +				drm_err(NULL, "Child %d holds more than one id, found %x (%d)\n",
> +					idx, leaf->bitmap, hweight32(leaf->bitmap));
>  				err = -EINVAL;
>  				goto out;
>  			}
>  
>  			if (leaf->bitmap != BIT(idx)) {
> -				pr_err("Child %d has wrong seqno idx, found %d, expected %d\n",
> -				       idx, ilog2(leaf->bitmap), idx);
> +				drm_err(NULL,
> +					"Child %d has wrong seqno idx, found %d, expected %d\n",
> +					idx, ilog2(leaf->bitmap), idx);
>  				err = -EINVAL;
>  				goto out;
>  			}
> @@ -582,8 +591,9 @@ static int igt_syncmap_random(void *arg)
>  			u64 context = i915_prandom_u64_state(&ctx);
>  
>  			if (i915_syncmap_is_later(&sync, context, seqno) != expect) {
> -				pr_err("context=%llu, last=%u this=%u did not match expectation (%d)\n",
> -				       context, last_seqno, seqno, expect);
> +				drm_err(NULL,
> +					"context=%llu, last=%u this=%u did not match expectation (%d)\n",
> +					context, last_seqno, seqno, expect);
>  				err = -EINVAL;
>  				goto out;
>  			}
> @@ -595,7 +605,8 @@ static int igt_syncmap_random(void *arg)
>  
>  		phase++;
>  	} while (!__igt_timeout(end_time, NULL));
> -	pr_debug("Completed %lu passes, each of %lu contexts\n", phase, count);
> +	drm_dbg(NULL, "Completed %lu passes, each of %lu contexts\n",
> +		phase, count);
>  out:
>  	return dump_syncmap(sync, err);
>  }
> diff --git a/drivers/gpu/drm/i915/selftests/scatterlist.c b/drivers/gpu/drm/i915/selftests/scatterlist.c
> index 7e59591bbed6..d8fbe5a8060b 100644
> --- a/drivers/gpu/drm/i915/selftests/scatterlist.c
> +++ b/drivers/gpu/drm/i915/selftests/scatterlist.c
> @@ -24,6 +24,8 @@
>  #include <linux/prime_numbers.h>
>  #include <linux/prandom.h>
>  
> +#include <drm/drm_print.h>
> +
>  #include "i915_selftest.h"
>  #include "i915_utils.h"
>  
> @@ -53,14 +55,16 @@ static noinline int expect_pfn_sg(struct pfn_table *pt,
>  		unsigned int npages = npages_fn(n, pt->st.nents, rnd);
>  
>  		if (page_to_pfn(page) != pfn) {
> -			pr_err("%s: %s left pages out of order, expected pfn %lu, found pfn %lu (using for_each_sg)\n",
> -			       __func__, who, pfn, page_to_pfn(page));
> +			drm_err(NULL,
> +				"%s: %s left pages out of order, expected pfn %lu, found pfn %lu (using for_each_sg)\n",
> +				__func__, who, pfn, page_to_pfn(page));
>  			return -EINVAL;
>  		}
>  
>  		if (sg->length != npages * PAGE_SIZE) {
> -			pr_err("%s: %s copied wrong sg length, expected size %lu, found %u (using for_each_sg)\n",
> -			       __func__, who, npages * PAGE_SIZE, sg->length);
> +			drm_err(NULL,
> +				"%s: %s copied wrong sg length, expected size %lu, found %u (using for_each_sg)\n",
> +				__func__, who, npages * PAGE_SIZE, sg->length);
>  			return -EINVAL;
>  		}
>  
> @@ -70,8 +74,8 @@ static noinline int expect_pfn_sg(struct pfn_table *pt,
>  		pfn += npages;
>  	}
>  	if (pfn != pt->end) {
> -		pr_err("%s: %s finished on wrong pfn, expected %lu, found %lu\n",
> -		       __func__, who, pt->end, pfn);
> +		drm_err(NULL, "%s: %s finished on wrong pfn, expected %lu, found %lu\n",
> +			__func__, who, pt->end, pfn);
>  		return -EINVAL;
>  	}
>  
> @@ -90,8 +94,9 @@ static noinline int expect_pfn_sg_page_iter(struct pfn_table *pt,
>  		struct page *page = sg_page_iter_page(&sgiter);
>  
>  		if (page != pfn_to_page(pfn)) {
> -			pr_err("%s: %s left pages out of order, expected pfn %lu, found pfn %lu (using for_each_sg_page)\n",
> -			       __func__, who, pfn, page_to_pfn(page));
> +			drm_err(NULL,
> +				"%s: %s left pages out of order, expected pfn %lu, found pfn %lu (using for_each_sg_page)\n",
> +				__func__, who, pfn, page_to_pfn(page));
>  			return -EINVAL;
>  		}
>  
> @@ -101,8 +106,8 @@ static noinline int expect_pfn_sg_page_iter(struct pfn_table *pt,
>  		pfn++;
>  	}
>  	if (pfn != pt->end) {
> -		pr_err("%s: %s finished on wrong pfn, expected %lu, found %lu\n",
> -		       __func__, who, pt->end, pfn);
> +		drm_err(NULL, "%s: %s finished on wrong pfn, expected %lu, found %lu\n",
> +			__func__, who, pt->end, pfn);
>  		return -EINVAL;
>  	}
>  
> @@ -120,8 +125,9 @@ static noinline int expect_pfn_sgtiter(struct pfn_table *pt,
>  	pfn = pt->start;
>  	for_each_sgt_page(page, sgt, &pt->st) {
>  		if (page != pfn_to_page(pfn)) {
> -			pr_err("%s: %s left pages out of order, expected pfn %lu, found pfn %lu (using for_each_sgt_page)\n",
> -			       __func__, who, pfn, page_to_pfn(page));
> +			drm_err(NULL,
> +				"%s: %s left pages out of order, expected pfn %lu, found pfn %lu (using for_each_sgt_page)\n",
> +				__func__, who, pfn, page_to_pfn(page));
>  			return -EINVAL;
>  		}
>  
> @@ -131,8 +137,8 @@ static noinline int expect_pfn_sgtiter(struct pfn_table *pt,
>  		pfn++;
>  	}
>  	if (pfn != pt->end) {
> -		pr_err("%s: %s finished on wrong pfn, expected %lu, found %lu\n",
> -		       __func__, who, pt->end, pfn);
> +		drm_err(NULL, "%s: %s finished on wrong pfn, expected %lu, found %lu\n",
> +			__func__, who, pt->end, pfn);
>  		return -EINVAL;
>  	}
>  
> @@ -275,7 +281,7 @@ static const npages_fn_t npages_funcs[] = {
>  	NULL,
>  };
>  
> -static int igt_sg_alloc(void *ignored)
> +static int igt_sg_alloc(void *arg)

Is this related?

>  {
>  	IGT_TIMEOUT(end_time);
>  	const unsigned long max_order = 20; /* approximating a 4GiB object */
> @@ -305,7 +311,7 @@ static int igt_sg_alloc(void *ignored)
>  
>  				prandom_seed_state(&prng,
>  						   i915_selftest.random_seed);
> -				err = expect_pfn_sgtable(&pt, *npages, &prng,
> +					err = expect_pfn_sgtable(&pt, *npages, &prng,

And this?

>  							 "sg_alloc_table",
>  							 end_time);
>  				sg_free_table(&pt.st);
> @@ -322,7 +328,7 @@ static int igt_sg_alloc(void *ignored)
>  	return 0;
>  }
>  
> -static int igt_sg_trim(void *ignored)
> +static int igt_sg_trim(void *arg)

ditto

Thanks,
Janusz


>  {
>  	IGT_TIMEOUT(end_time);
>  	const unsigned long max = PAGE_SIZE; /* not prime! */
> @@ -348,8 +354,9 @@ static int igt_sg_trim(void *ignored)
>  			if (i915_sg_trim(&pt.st)) {
>  				if (pt.st.orig_nents != prime ||
>  				    pt.st.nents != prime) {
> -					pr_err("i915_sg_trim failed (nents %u, orig_nents %u), expected %lu\n",
> -					       pt.st.nents, pt.st.orig_nents, prime);
> +					drm_err(NULL,
> +						"i915_sg_trim failed (nents %u, orig_nents %u), expected %lu\n",
> +						pt.st.nents, pt.st.orig_nents, prime);
>  					err = -EINVAL;
>  				} else {
>  					prandom_seed_state(&prng,

  parent reply	other threads:[~2026-08-24  7:10 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-18  9:56 [PATCH v2 0/8] drm/i915/selftests: Modernize printing in i915 selftests Krzysztof Karas
2026-08-18  9:56 ` [PATCH v2 1/8] drm/i915/selftests: Use drm_* prints in mock selftests Krzysztof Karas
2026-08-18 10:05   ` sashiko-bot
2026-08-24  7:10   ` Janusz Krzysztofik [this message]
2026-08-18  9:56 ` [PATCH v2 2/8] drm/i915/selftest: Fix a typo in alloc_workqueue call Krzysztof Karas
2026-08-24  7:11   ` Janusz Krzysztofik
2026-08-27 23:28   ` Andi Shyti
2026-08-18  9:56 ` [PATCH v2 3/8] drm/i915/selftests: Use drm_* prints in live selftests Krzysztof Karas
2026-08-24  8:31   ` Janusz Krzysztofik
2026-08-27 23:32   ` Andi Shyti
2026-08-18  9:56 ` [PATCH v2 4/8] drm/i915/selftests: Use drm_* prints in selftest helpers Krzysztof Karas
2026-08-27 23:34   ` Andi Shyti
2026-08-18  9:56 ` [PATCH v2 5/8] drm/i915/gt/selftests: Use drm_* prints in aggregated gt selftests Krzysztof Karas
2026-08-27 23:38   ` Andi Shyti
2026-08-28  9:08     ` Janusz Krzysztofik
2026-08-18  9:56 ` [PATCH v2 6/8] drm/i915/gt/selftests: Use drm_* prints in gt standalone tests Krzysztof Karas
2026-08-27 23:41   ` Andi Shyti
2026-08-18  9:56 ` [PATCH v2 7/8] drm/i915/gt/selftests: Use drm_* prints in gt selftest helpers Krzysztof Karas
2026-08-27 23:44   ` Andi Shyti
2026-08-18  9:56 ` [PATCH v2 8/8] drm/i915/selftests: Use drm_* prints in selftest headers Krzysztof Karas
2026-08-18 10:08   ` sashiko-bot
2026-08-18 10:09   ` Krzysztof Karas
2026-08-18 11:42 ` ✗ i915.CI.BAT: failure for drm/i915/selftests: Modernize printing in i915 selftests (rev3) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a95f2cb629ab15b431594dc259011324ab1bc6cc.camel@linux.intel.com \
    --to=janusz.krzysztofik@linux.intel.com \
    --cc=andi.shyti@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=krzysztof.karas@intel.com \
    --cc=krzysztof.niemiec@intel.com \
    --cc=sebastian.brzezinka@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.