On Tue, Apr 01, 2014 at 07:39:49PM -0300, Paulo Zanoni wrote: > From: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > > If I boot my Broadwell machine to X on a system with Mesa Gallium > llvmpipe instead of i965, then kill X and try to run pm_pc8.c, when we > disable PC8 and call gen6_update_ring_freq(), we will get stuck on an > infinite loop because the frequencies are zero and the variables are > unsigned. This happens because we never ran any batch, so we did not > enable RC6, so the variables are zero. If I run gem_exec_nop before > running pm_pc8, everything works as expected because gem_exec_nop > makes RC6 be enabled. > > This commit should prevent the infinite loop, which IMHO is already a > good reason to be merged, but it is not the proper fix to the "RC6 is > not being enabled" problem. > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> This will be fixed (I hope at least) once we have the in-kernel 3d state emission stuff. But there's still a race when we go into runtime suspend right after coming out of system resume. I think we need to grab a runtime pm reference when we launch the delayed rps work and drop it once that has run. Or at least we need to have a flush_delayed_work in the runtime pm suspend function. There's probably piles more stuff like this. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx