[igt-dev] [PATCH] tests/intel/i915_pipe_stress: Use only first pipe if Bigjoiner is used

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Wed Oct 11 10:07:19 UTC 2023


On Wed-27-09-2023 02:31 pm, Lisovskiy, Stanislav wrote:
> On Thu, Sep 14, 2023 at 07:13:39PM +0530, Modem, Bhanuprakash wrote:
>> Hi Stan,
>>
>> On Thu-14-09-2023 01:33 pm, Stanislav Lisovskiy wrote:
>>> We currently are having test failures for Bigjoiner, because that
>>> test tries to use all pipes simultaneously, not realizing that
>>> if we use a Bigjoiner mode on pipe A, the adjacent pipe won't be
>>> available.
>>> For now just fix it by using only one pipe, if resolution > 3840
>>> is detected.
>>>
>>> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
>>> ---
>>>    tests/intel/i915_pipe_stress.c | 6 ++++++
>>>    1 file changed, 6 insertions(+)
>>>
>>> diff --git a/tests/intel/i915_pipe_stress.c b/tests/intel/i915_pipe_stress.c
>>> index 3cd84d027f..a050fa0117 100644
>>> --- a/tests/intel/i915_pipe_stress.c
>>> +++ b/tests/intel/i915_pipe_stress.c
>>> @@ -590,6 +590,12 @@ static void stress_pipes(struct data *data, struct timespec *start,
>>>    		igt_pipe_crc_stop(data->pipe_crc[pipe]);
>>>    		igt_assert_crc_equal(&crc, &crc2);
>>> +		/*
>>> +		 * Do not try to use other pipes, if Bigjoiner is used
>>> +		 */
>>> +		if (data->highest_mode[pipe]->hdisplay > 3840)
>>> +			break;
>>
>> I think, you can use "igt_check_bigjoiner_support()" to know the selected
>> pipe can drive the Bigjoiner or not.
>>
>> - Bhanu
> 
> Yep, would be nicer of course to use some helper function here, but I guess
> the one above just checks if bigjoiner is supported at all, while here we really
> need to check if we are actually using it.
> As I understand being able to support Bigjoiner doesn't always mean it is used at
> the moment.

Correct, we can't use igt_check_bigjoiner_support() here.

But instead of checking for hdisplay > 3840, probably we can try with 
igt_bigjoiner_possible()

-     if (data->highest_mode[pipe]->hdisplay > 3840)
+     if (igt_bigjoiner_possible(data->highest_mode[pipe],
+              igt_get_max_dotclock(data->display.drm_fd)))
            break;

Thanks,
Bhanu

> 
> Stan
> 
>>
>>> +
>>>    		++pipe;
>>>    	}
>>>    }


More information about the igt-dev mailing list