diff mbox series

drm/i915/mtl/selftests: Flush all tiles on test exit

Message ID 20230125100003.18243-1-nirmoy.das@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/mtl/selftests: Flush all tiles on test exit | expand

Commit Message

Nirmoy Das Jan. 25, 2023, 10 a.m. UTC
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

We want to idle all tiles when exiting selftests.

Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
---
 .../gpu/drm/i915/selftests/igt_flush_test.c   | 28 +++++++++++--------
 1 file changed, 17 insertions(+), 11 deletions(-)

Comments

Andi Shyti Jan. 25, 2023, 2:36 p.m. UTC | #1
Hi Nirmoy,

On Wed, Jan 25, 2023 at 11:00:03AM +0100, Nirmoy Das wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> We want to idle all tiles when exiting selftests.
> 
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>

except from the tag list and the title I guess this is the same
patch as the previous one, right? Can you please add some
versioning next time?

If it's the same this patch then it's good to be pushed. Just a
little failure that is independent from this change.

BTW, why is there a "mtl" prfix in the title while in the
previous version it was "xehpsdv"? I can understand the latter 
because originally xehpsdv was a synonymous with multi-gt. But
it's not the case anymore. If you don't mind I would remove it
before pushing.

Andi

> ---
>  .../gpu/drm/i915/selftests/igt_flush_test.c   | 28 +++++++++++--------
>  1 file changed, 17 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/selftests/igt_flush_test.c b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
> index b484e12df417..29110abb4fe0 100644
> --- a/drivers/gpu/drm/i915/selftests/igt_flush_test.c
> +++ b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
> @@ -14,21 +14,27 @@
>  
>  int igt_flush_test(struct drm_i915_private *i915)
>  {
> -	struct intel_gt *gt = to_gt(i915);
> -	int ret = intel_gt_is_wedged(gt) ? -EIO : 0;
> +	struct intel_gt *gt;
> +	unsigned int i;
> +	int ret = 0;
>  
> -	cond_resched();
> +	for_each_gt(gt, i915, i) {
> +		if (intel_gt_is_wedged(gt))
> +			ret = -EIO;
>  
> -	if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
> -		pr_err("%pS timed out, cancelling all further testing.\n",
> -		       __builtin_return_address(0));
> +		cond_resched();
>  
> -		GEM_TRACE("%pS timed out.\n",
> -			  __builtin_return_address(0));
> -		GEM_TRACE_DUMP();
> +		if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
> +			pr_err("%pS timed out, cancelling all further testing.\n",
> +			       __builtin_return_address(0));
>  
> -		intel_gt_set_wedged(gt);
> -		ret = -EIO;
> +			GEM_TRACE("%pS timed out.\n",
> +				  __builtin_return_address(0));
> +			GEM_TRACE_DUMP();
> +
> +			intel_gt_set_wedged(gt);
> +			ret = -EIO;
> +		}
>  	}
>  
>  	return ret;
> -- 
> 2.39.0
Nirmoy Das Jan. 25, 2023, 2:44 p.m. UTC | #2
Hi Andi,

On 1/25/2023 3:36 PM, Andi Shyti wrote:
> Hi Nirmoy,
>
> On Wed, Jan 25, 2023 at 11:00:03AM +0100, Nirmoy Das wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> We want to idle all tiles when exiting selftests.
>>
>> Cc: Matt Roper <matthew.d.roper@intel.com>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
>> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
> except from the tag list and the title I guess this is the same
> patch as the previous one, right? Can you please add some
> versioning next time?


I wasn't sure if I should add v2 for the title change.

>
> If it's the same this patch then it's good to be pushed. Just a
> little failure that is independent from this change.
>
> BTW, why is there a "mtl" prfix in the title while in the
> previous version it was "xehpsdv"? I can understand the latter
> because originally xehpsdv was a synonymous with multi-gt. But
> it's not the case anymore. If you don't mind I would remove it
> before pushing.


This confusion is because I didn't do the versioning properly :/ Sorry 
about that.

Matt clarified in the v1 that we haven't enabled multi-tile for xehp, 
only for MTL we have multi-tile

enabled. I actually tested this on MTL.


Do you want me to resend with a added  "v2: fix the title as we only 
support multi-tile for MTL now(Matt)" ?

Regards,

Nirmoy

>
> Andi
>
>> ---
>>   .../gpu/drm/i915/selftests/igt_flush_test.c   | 28 +++++++++++--------
>>   1 file changed, 17 insertions(+), 11 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/selftests/igt_flush_test.c b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
>> index b484e12df417..29110abb4fe0 100644
>> --- a/drivers/gpu/drm/i915/selftests/igt_flush_test.c
>> +++ b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
>> @@ -14,21 +14,27 @@
>>   
>>   int igt_flush_test(struct drm_i915_private *i915)
>>   {
>> -	struct intel_gt *gt = to_gt(i915);
>> -	int ret = intel_gt_is_wedged(gt) ? -EIO : 0;
>> +	struct intel_gt *gt;
>> +	unsigned int i;
>> +	int ret = 0;
>>   
>> -	cond_resched();
>> +	for_each_gt(gt, i915, i) {
>> +		if (intel_gt_is_wedged(gt))
>> +			ret = -EIO;
>>   
>> -	if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
>> -		pr_err("%pS timed out, cancelling all further testing.\n",
>> -		       __builtin_return_address(0));
>> +		cond_resched();
>>   
>> -		GEM_TRACE("%pS timed out.\n",
>> -			  __builtin_return_address(0));
>> -		GEM_TRACE_DUMP();
>> +		if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
>> +			pr_err("%pS timed out, cancelling all further testing.\n",
>> +			       __builtin_return_address(0));
>>   
>> -		intel_gt_set_wedged(gt);
>> -		ret = -EIO;
>> +			GEM_TRACE("%pS timed out.\n",
>> +				  __builtin_return_address(0));
>> +			GEM_TRACE_DUMP();
>> +
>> +			intel_gt_set_wedged(gt);
>> +			ret = -EIO;
>> +		}
>>   	}
>>   
>>   	return ret;
>> -- 
>> 2.39.0
Andi Shyti Jan. 25, 2023, 3:10 p.m. UTC | #3
Hi Nirmoy,

> > On Wed, Jan 25, 2023 at 11:00:03AM +0100, Nirmoy Das wrote:
> > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > 
> > > We want to idle all tiles when exiting selftests.
> > > 
> > > Cc: Matt Roper <matthew.d.roper@intel.com>
> > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
> > > Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
> > except from the tag list and the title I guess this is the same
> > patch as the previous one, right? Can you please add some
> > versioning next time?
> 
> 
> I wasn't sure if I should add v2 for the title change.
> 
> > 
> > If it's the same this patch then it's good to be pushed. Just a
> > little failure that is independent from this change.
> > 
> > BTW, why is there a "mtl" prfix in the title while in the
> > previous version it was "xehpsdv"? I can understand the latter
> > because originally xehpsdv was a synonymous with multi-gt. But
> > it's not the case anymore. If you don't mind I would remove it
> > before pushing.
> 
> 
> This confusion is because I didn't do the versioning properly :/ Sorry about
> that.
> 
> Matt clarified in the v1 that we haven't enabled multi-tile for xehp, only
> for MTL we have multi-tile
> 
> enabled. I actually tested this on MTL.
> 
> 
> Do you want me to resend with a added  "v2: fix the title as we only support
> multi-tile for MTL now(Matt)" ?

no need, I'll remove the mtl part. I think the title identifies
only the file path.

As we are at it, I have some patches for adding multitile to
xehpdv, but I'm not sure we want them. Any opinion? Matt? Tvrtko?

Andi

> Regards,
> 
> Nirmoy
> 
> > 
> > Andi
> > 
> > > ---
> > >   .../gpu/drm/i915/selftests/igt_flush_test.c   | 28 +++++++++++--------
> > >   1 file changed, 17 insertions(+), 11 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/selftests/igt_flush_test.c b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
> > > index b484e12df417..29110abb4fe0 100644
> > > --- a/drivers/gpu/drm/i915/selftests/igt_flush_test.c
> > > +++ b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
> > > @@ -14,21 +14,27 @@
> > >   int igt_flush_test(struct drm_i915_private *i915)
> > >   {
> > > -	struct intel_gt *gt = to_gt(i915);
> > > -	int ret = intel_gt_is_wedged(gt) ? -EIO : 0;
> > > +	struct intel_gt *gt;
> > > +	unsigned int i;
> > > +	int ret = 0;
> > > -	cond_resched();
> > > +	for_each_gt(gt, i915, i) {
> > > +		if (intel_gt_is_wedged(gt))
> > > +			ret = -EIO;
> > > -	if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
> > > -		pr_err("%pS timed out, cancelling all further testing.\n",
> > > -		       __builtin_return_address(0));
> > > +		cond_resched();
> > > -		GEM_TRACE("%pS timed out.\n",
> > > -			  __builtin_return_address(0));
> > > -		GEM_TRACE_DUMP();
> > > +		if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
> > > +			pr_err("%pS timed out, cancelling all further testing.\n",
> > > +			       __builtin_return_address(0));
> > > -		intel_gt_set_wedged(gt);
> > > -		ret = -EIO;
> > > +			GEM_TRACE("%pS timed out.\n",
> > > +				  __builtin_return_address(0));
> > > +			GEM_TRACE_DUMP();
> > > +
> > > +			intel_gt_set_wedged(gt);
> > > +			ret = -EIO;
> > > +		}
> > >   	}
> > >   	return ret;
> > > -- 
> > > 2.39.0
Nirmoy Das Jan. 25, 2023, 3:12 p.m. UTC | #4
On 1/25/2023 4:10 PM, Andi Shyti wrote:
> Hi Nirmoy,
>
>>> On Wed, Jan 25, 2023 at 11:00:03AM +0100, Nirmoy Das wrote:
>>>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>>
>>>> We want to idle all tiles when exiting selftests.
>>>>
>>>> Cc: Matt Roper <matthew.d.roper@intel.com>
>>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
>>>> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
>>> except from the tag list and the title I guess this is the same
>>> patch as the previous one, right? Can you please add some
>>> versioning next time?
>>
>> I wasn't sure if I should add v2 for the title change.
>>
>>> If it's the same this patch then it's good to be pushed. Just a
>>> little failure that is independent from this change.
>>>
>>> BTW, why is there a "mtl" prfix in the title while in the
>>> previous version it was "xehpsdv"? I can understand the latter
>>> because originally xehpsdv was a synonymous with multi-gt. But
>>> it's not the case anymore. If you don't mind I would remove it
>>> before pushing.
>>
>> This confusion is because I didn't do the versioning properly :/ Sorry about
>> that.
>>
>> Matt clarified in the v1 that we haven't enabled multi-tile for xehp, only
>> for MTL we have multi-tile
>>
>> enabled. I actually tested this on MTL.
>>
>>
>> Do you want me to resend with a added  "v2: fix the title as we only support
>> multi-tile for MTL now(Matt)" ?
> no need, I'll remove the mtl part. I think the title identifies
> only the file path.

Fine with me. Thanks Andi!


Nirmoy

>
> As we are at it, I have some patches for adding multitile to
> xehpdv, but I'm not sure we want them. Any opinion? Matt? Tvrtko?
>
> Andi
>
>> Regards,
>>
>> Nirmoy
>>
>>> Andi
>>>
>>>> ---
>>>>    .../gpu/drm/i915/selftests/igt_flush_test.c   | 28 +++++++++++--------
>>>>    1 file changed, 17 insertions(+), 11 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/i915/selftests/igt_flush_test.c b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
>>>> index b484e12df417..29110abb4fe0 100644
>>>> --- a/drivers/gpu/drm/i915/selftests/igt_flush_test.c
>>>> +++ b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
>>>> @@ -14,21 +14,27 @@
>>>>    int igt_flush_test(struct drm_i915_private *i915)
>>>>    {
>>>> -	struct intel_gt *gt = to_gt(i915);
>>>> -	int ret = intel_gt_is_wedged(gt) ? -EIO : 0;
>>>> +	struct intel_gt *gt;
>>>> +	unsigned int i;
>>>> +	int ret = 0;
>>>> -	cond_resched();
>>>> +	for_each_gt(gt, i915, i) {
>>>> +		if (intel_gt_is_wedged(gt))
>>>> +			ret = -EIO;
>>>> -	if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
>>>> -		pr_err("%pS timed out, cancelling all further testing.\n",
>>>> -		       __builtin_return_address(0));
>>>> +		cond_resched();
>>>> -		GEM_TRACE("%pS timed out.\n",
>>>> -			  __builtin_return_address(0));
>>>> -		GEM_TRACE_DUMP();
>>>> +		if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
>>>> +			pr_err("%pS timed out, cancelling all further testing.\n",
>>>> +			       __builtin_return_address(0));
>>>> -		intel_gt_set_wedged(gt);
>>>> -		ret = -EIO;
>>>> +			GEM_TRACE("%pS timed out.\n",
>>>> +				  __builtin_return_address(0));
>>>> +			GEM_TRACE_DUMP();
>>>> +
>>>> +			intel_gt_set_wedged(gt);
>>>> +			ret = -EIO;
>>>> +		}
>>>>    	}
>>>>    	return ret;
>>>> -- 
>>>> 2.39.0
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/selftests/igt_flush_test.c b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
index b484e12df417..29110abb4fe0 100644
--- a/drivers/gpu/drm/i915/selftests/igt_flush_test.c
+++ b/drivers/gpu/drm/i915/selftests/igt_flush_test.c
@@ -14,21 +14,27 @@ 
 
 int igt_flush_test(struct drm_i915_private *i915)
 {
-	struct intel_gt *gt = to_gt(i915);
-	int ret = intel_gt_is_wedged(gt) ? -EIO : 0;
+	struct intel_gt *gt;
+	unsigned int i;
+	int ret = 0;
 
-	cond_resched();
+	for_each_gt(gt, i915, i) {
+		if (intel_gt_is_wedged(gt))
+			ret = -EIO;
 
-	if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
-		pr_err("%pS timed out, cancelling all further testing.\n",
-		       __builtin_return_address(0));
+		cond_resched();
 
-		GEM_TRACE("%pS timed out.\n",
-			  __builtin_return_address(0));
-		GEM_TRACE_DUMP();
+		if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
+			pr_err("%pS timed out, cancelling all further testing.\n",
+			       __builtin_return_address(0));
 
-		intel_gt_set_wedged(gt);
-		ret = -EIO;
+			GEM_TRACE("%pS timed out.\n",
+				  __builtin_return_address(0));
+			GEM_TRACE_DUMP();
+
+			intel_gt_set_wedged(gt);
+			ret = -EIO;
+		}
 	}
 
 	return ret;