On Wed, Apr 30, 2014 at 7:35 PM, Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > I know Daniel hates this stuff, but I don't really want to bikeshed it > now. As we've discussed we should get the thing to enter some s0ix state > where we actually lost the context and then dump a ton of registers and > figure out what really gets lost, and if the reset values are > sufficient or not. So I think merging this as is is good enough and then > we can figure out the rest later once s0ix works. Yeah, from a quick read there's a few things we should look into: - Stuff which seems fully redundant like the irq registers - we already run the relevant functions on runtime pm exit, and if there's something missing we need to do it here. - Stuff which duplicates logic we already have, like all the ring registers. Imo we should just stop/restart rings on all platforms. Some of those registers writes might need to be moved around, e.g. out of the clock_gating_init functions into other places. - Registers we only ever read or completely ignore (like gtfifo_ctl or the various tlb registers). We need to check whether we really must store something there and if that's the case, we need to store something fixed instead of whatever's been there at suspend. E.g. if gtfifo_ctl indeed needs to be reset to prevent the hw from throwing fits we should just write the right value in there. But I guess we can do this as a follow-up. But expect me to be annoying about 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