[igt-dev] [i-g-t] tests/kms_cursor_crc: Add Gaurd for MSO eDP for Pipe C and D

Bhadane, Dnyaneshwar dnyaneshwar.bhadane at intel.com
Fri Jan 6 12:28:32 UTC 2023


Hi Juha-Pekka,

> -----Original Message-----
> From: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> Sent: Wednesday, January 4, 2023 12:01 AM
> To: Bhadane, Dnyaneshwar <dnyaneshwar.bhadane at intel.com>; igt-
> dev at lists.freedesktop.org
> Cc: Kurmi, Suresh Kumar <suresh.kumar.kurmi at intel.com>; Borah, Chaitanya
> Kumar <chaitanya.kumar.borah at intel.com>
> Subject: Re: [igt-dev] [i-g-t] tests/kms_cursor_crc: Add Gaurd for MSO eDP for
> Pipe C and D
> 
> Hi Dnyaneshwar,
> 
> On 30.12.2022 8.46, bhadanednyaneshwar wrote:
> > MSO eDP is not supported on pipe C and D. Added a test condition to
> > prevent tests from execution on pipe C and D.This condition was missed
> > for cursor-size-change,cursor-alpha-opaque and
> > cursor-alpha-transparent testcases.
> >
> > Inside require_cursor_size() checks first for eligiblity to igt commit
> > using test buffer.For MSO eDP, It is fail to commit for pipe C/pipe D
> > and require_cursor_size() return non zero value. So it will skip the
> > dynamic testcase for pipe C and D.
> >
> > Signed-off-by: bhadanednyaneshwar <dnyaneshwar.bhadane at intel.com>
> > ---
> >   tests/kms_cursor_crc.c | 21 ++++++++++++++++++---
> >   1 file changed, 18 insertions(+), 3 deletions(-)
> >
> > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c index
> > 17f294d6..d8fb9c0d 100644
> > --- a/tests/kms_cursor_crc.c
> > +++ b/tests/kms_cursor_crc.c
> > @@ -786,7 +786,12 @@ static void run_tests_on_pipe(data_t *data)
> >   	igt_subtest_with_dynamic("cursor-size-change") {
> >   		for_each_pipe(&data->display, pipe) {
> >   			data->pipe = pipe;
> > -
> > +			create_cursor_fb(data, data->cursor_max_w, data-
> >cursor_max_h);
> > +			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);
> > +				continue;
> > +			}
> 
> Would it work if instead of above checking you would use
> igt_pipe_connector_valid(..)? igt_pipe_connector_valid is using bits coming
> from encoder so I think it might work for this case and it would be much faster
> to check.

Using this igt_pipe_connector_valid, It skip pipe of C and D on these three testcases
(for cursor-size-change,cursor-alpha-opaque and cursor-alpha-transparent) which were
failing for MSO.
For the other testcase cursor-suspend, cursor-dpms and max-size in
kms_cursor_crc.c ,there is already check of require_cursor_size() it avoids their failure 
for the MSO(on Pipe C/D). Do you suggest we should add the igt_pipe_connector_valid()
to these testcases also, Just before the require_cursor_size() ?

Regards,
Dnyaneshwar

> 
> /Juha-Pekka
> 
> >   			igt_dynamic_f("pipe-%s-%s",
> >   				      kmstest_pipe_name(pipe),
> >   				      data->output->name)
> > @@ -800,7 +805,12 @@ static void run_tests_on_pipe(data_t *data)
> >   	igt_subtest_with_dynamic("cursor-alpha-opaque") {
> >   		for_each_pipe(&data->display, pipe) {
> >   			data->pipe = pipe;
> > -
> > +			create_cursor_fb(data, data->cursor_max_w, data-
> >cursor_max_h);
> > +			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);
> > +				continue;
> > +			}
> >   			igt_dynamic_f("pipe-%s-%s",
> >   				      kmstest_pipe_name(pipe),
> >   				      data->output->name)
> > @@ -814,7 +824,12 @@ static void run_tests_on_pipe(data_t *data)
> >   	igt_subtest_with_dynamic("cursor-alpha-transparent") {
> >   		for_each_pipe(&data->display, pipe) {
> >   			data->pipe = pipe;
> > -
> > +			create_cursor_fb(data, data->cursor_max_w, data-
> >cursor_max_h);
> > +			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);
> > +				continue;
> > +			}
> >   			igt_dynamic_f("pipe-%s-%s",
> >   				      kmstest_pipe_name(pipe),
> >   				      data->output->name)



More information about the igt-dev mailing list