[Intel-gfx] [i-g-t PATCH 2/2] igt/kms_flip: Fix set_dpms called with an idle bo

Ander Conselvan De Oliveira conselvan2 at gmail.com
Fri Mar 24 11:55:00 UTC 2017


On Thu, 2016-12-01 at 11:23 +0000, Chris Wilson wrote:
> On Thu, Dec 01, 2016 at 12:58:46PM +0200, Abdiel Janulgue wrote:
> > Signed-off-by: Abdiel Janulgue <abdiel.janulgue at linux.intel.com>

How is the bug that this commit fixes triggered? Reverting this change seems to
fix [1] which, if I understand correctly, is caused by the atomic commit of
set_dpms() to be waiting for the dummy write to the frontbuffer complete, while 
the spin batch never ends since the test is blocked and so doesn't handle the
timer signal. 


[1] https://bugs.freedesktop.org/show_bug.cgi?id=100261

Thanks,
Ander

> > ---
> >  tests/kms_flip.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tests/kms_flip.c b/tests/kms_flip.c
> > index 289335a..f744b3d 100644
> > --- a/tests/kms_flip.c
> > +++ b/tests/kms_flip.c
> > @@ -757,9 +757,9 @@ static unsigned int run_test_step(struct test_output *o)
> >  
> >  	if (o->flags & TEST_DPMS) {
> >  		if (spin_rcs)
> > -			igt_spin_batch_end(spin_rcs);
> > +			igt_spin_batch_set_timeout(spin_rcs, NSEC_PER_SEC);
> >  		if (spin_bcs)
> > -			igt_spin_batch_end(spin_bcs);
> > +		        igt_spin_batch_set_timeout(spin_bcs, NSEC_PER_SEC);
> >  		set_dpms(o, DRM_MODE_DPMS_ON);
> >  	}
> 
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
> -Chris
> 


More information about the Intel-gfx mailing list