[igt-dev] [PATCH i-g-t v3 1/2] tests/kms_dp_dsc: Force a full modeset when we force dsc enable

Manasi Navare manasi.d.navare at intel.com
Wed Apr 10 18:10:49 UTC 2019


Pushed, thanks for the review

Regards
Manasi

On Wed, Apr 10, 2019 at 01:51:12PM +0300, Imre Deak wrote:
> On Mon, Apr 08, 2019 at 06:46:18PM -0700, Manasi Navare wrote:
> > DSC enable gets configured during compute_config and needs
> > a full modeset to force DSC.
> > Sometimes in between the tests, if the initial output is same as the
> > mode being set for DSC then it will not do a full modeset.
> > So we disable the output before forcing a mode with DSC enable.
> > 
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110270
> 
> > Fixes: db19bccc1c22 ("test/kms_dp_dsc: Basic KMS test to validate VESA DSC on DP/eDP")
> > Cc: Petri Latvala <petri.latvala at intel.com>
> > Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
> > Cc: Imre Deak <imre.deak at intel.com>
> > Signed-off-by: Manasi Navare <manasi.d.navare at intel.com>
> 
> Reviewed-by: Imre Deak <imre.deak at intel.com>
> 
> > ---
> >  tests/kms_dp_dsc.c | 10 ++++++++--
> >  1 file changed, 8 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c
> > index da93cd74..7ba7c4ef 100644
> > --- a/tests/kms_dp_dsc.c
> > +++ b/tests/kms_dp_dsc.c
> > @@ -161,12 +161,17 @@ static void update_display(data_t *data, enum dsc_test_type test_type)
> >  		return;
> >  	}
> >  
> > +	/* Disable the output first */
> > +	igt_output_set_pipe(data->output, PIPE_NONE);
> > +	igt_display_commit(&data->display);
> > +
> >  	if (test_type == test_basic_dsc_enable) {
> >  		bool enabled;
> >  
> >  		igt_debug("DSC is supported on %s\n", data->conn_name);
> >  		force_dp_dsc_enable(data);
> >  
> > +		igt_output_set_pipe(data->output, data->pipe);
> >  		igt_create_pattern_fb(data->drm_fd, data->mode->hdisplay,
> >  				      data->mode->vdisplay,
> >  				      DRM_FORMAT_XRGB8888,
> > @@ -174,6 +179,8 @@ static void update_display(data_t *data, enum dsc_test_type test_type)
> >  				      &data->fb_test_pattern);
> >  		primary = igt_output_get_plane_type(data->output,
> >  						    DRM_PLANE_TYPE_PRIMARY);
> > +
> > +		/* Now set the output to the desired mode */
> >  		igt_plane_set_fb(primary, &data->fb_test_pattern);
> >  		igt_display_commit(&data->display);
> >  
> > @@ -187,7 +194,7 @@ static void update_display(data_t *data, enum dsc_test_type test_type)
> >  		clear_dp_dsc_enable(data);
> >  
> >  		igt_assert_f(enabled,
> > -			     "Default DSC enable failed on Connector: %s Pipe: %s",
> > +			     "Default DSC enable failed on Connector: %s Pipe: %s\n",
> >  			     data->conn_name,
> >  			     kmstest_pipe_name(data->pipe));
> >  	} else {
> > @@ -203,7 +210,6 @@ static void run_test(data_t *data, igt_output_t *output,
> >  	for_each_pipe(&data->display, pipe) {
> >  
> >  		if (igt_pipe_connector_valid(pipe, output)) {
> > -			igt_output_set_pipe(output, pipe);
> >  			data->pipe = pipe;
> >  			data->output = output;
> >  			update_display(data, test_type);
> > -- 
> > 2.19.1
> > 


More information about the igt-dev mailing list