[igt-dev] [i-g-t] tests/kms_cursor_crc: skip pipe on invalid connector in cursor size test

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Mon Jan 16 10:14:54 UTC 2023



On Mon-16-01-2023 12:12 pm, Bhadane, Dnyaneshwar wrote:
> Hi Ville,
> 
>> -----Original Message-----
>> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>> Sent: Thursday, January 12, 2023 6:07 PM
>> To: Bhadane, Dnyaneshwar <dnyaneshwar.bhadane at intel.com>
>> Cc: igt-dev at lists.freedesktop.org; Kurmi, Suresh Kumar
>> <suresh.kumar.kurmi at intel.com>; Heikkila, Juha-pekka <juha-
>> pekka.heikkila at intel.com>
>> Subject: Re: [igt-dev] [i-g-t] tests/kms_cursor_crc: skip pipe on invalid
>> connector in cursor size test
>>
>> On Thu, Jan 12, 2023 at 04:27:02PM +0530, Dnyaneshwar Bhadane wrote:
>>> Only the valid pipe connector combination reach to the igt commit.
>>> Cursor max-size test will not affect existing flow as only skip for
>>> invalid connector.
>>> For cursor-dpms and cursor-suspend not require to check
>>> require_cursor_size becuase the cursor height and width used from drm
>> capablities.
>>>
>>> Signed-off-by: Dnyaneshwar Bhadane
>> <dnyaneshwar.bhadane at intel.com>
>>>
>>> ---
>>>   tests/kms_cursor_crc.c | 21 +++++++++++++++------
>>>   1 file changed, 15 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c index
>>> d5a4b30b..4ab4c005 100644
>>> --- a/tests/kms_cursor_crc.c
>>> +++ b/tests/kms_cursor_crc.c
>>> @@ -752,6 +752,13 @@ static void run_size_tests(data_t *data, int w, int
>> h)
>>>   			for_each_pipe(&data->display, pipe) {
>>>   				data->pipe = pipe;
>>>
>>> +				if(!igt_pipe_connector_valid(pipe, data-
>>> output)) {
>>
>> Isn't there a for_each_something() that does all of that?
> 
> Yes, I found for_each_pipe_with_valid_output()  and this macro loop checks for the invalid connectors on
> each pipe. I will update the code using for_each_pipe_with_valid_output().
> Thanks for the suggestion.

As for_each_pipe_with_valid_output() will iterate over all possible 
pipe/output combinations which is not required (one output is enough).

I think you can use for_each_pipe_with_single_output();

- Bhanu

> 
> Dnyaneshwar Bhadane,
> Intel
> 
>>
>>> +					igt_debug("Invalid connector on
>> pipe-%s-%s\n",
>>> +						kmstest_pipe_name(pipe),
>>> +						data->output->name);
>>> +					continue;
>>> +				}
>>> +
>>>   				if (require_cursor_size(data, w, h)) {
>>>   					igt_info("Cursor size %dx%d not
>> supported by driver\n", w, h);
>>>   					continue;
>>> @@ -854,9 +861,10 @@ static void run_tests_on_pipe(data_t *data)
>>>   			data->pipe = pipe;
>>>   			data->flags = TEST_DPMS;
>>>
>>> -			if (require_cursor_size(data, data->cursor_max_w,
>> data->cursor_max_h)) {
>>> -				igt_debug("Cursor size %dx%d not supported
>> by driver\n",
>>> -					  data->cursor_max_w, data-
>>> cursor_max_h);
>>> +			if(!igt_pipe_connector_valid(pipe, data->output)) {
>>> +				igt_debug("Invalid connector on pipe-%s-
>> %s\n",
>>> +					kmstest_pipe_name(pipe),
>>> +					data->output->name);
>>>   				continue;
>>>   			}
>>>
>>> @@ -875,9 +883,10 @@ static void run_tests_on_pipe(data_t *data)
>>>   			data->pipe = pipe;
>>>   			data->flags = TEST_SUSPEND;
>>>
>>> -			if (require_cursor_size(data, data->cursor_max_w,
>> data->cursor_max_h)) {
>>> -				igt_debug("Cursor size %dx%d not supported
>> by driver\n",
>>> -					  data->cursor_max_w, data-
>>> cursor_max_h);
>>> +			if(!igt_pipe_connector_valid(pipe, data->output)) {
>>> +				igt_debug("Invalid connector on pipe-%s-
>> %s\n",
>>> +					kmstest_pipe_name(pipe),
>>> +					data->output->name);
>>>   				continue;
>>>   			}
>>>
>>> --
>>> 2.35.1
>>
>> --
>> Ville Syrjälä
>> Intel


More information about the igt-dev mailing list