For i915 there is a need to invalidate some cached state after resuming or reseting the GPU. This is not quite the same as simply restoring saved state (i.e. the standard suspend resume method), so do not seem to merit reusing the save|restore vfuncs. Instead I propose a drm_mode_config_reset(struct drm_device *); routine to iterate over all the attached CRTCs, encoders and connectors and call any supplied reset vfunc. This is required to fix some modesetting regressions across resume in 2.6.38: https://bugzilla.kernel.org/show_bug.cgi?id=26952 https://bugzilla.kernel.org/show_bug.cgi?id=27272 Please review, -Chris drivers/gpu/drm/drm_crtc.c | 19 +++++++++++++++++++ drivers/gpu/drm/i915/i915_drv.c | 2 ++ drivers/gpu/drm/i915/intel_crt.c | 10 ++++++++++ drivers/gpu/drm/i915/intel_display.c | 17 ++++++++++++++--- include/drm/drm_crtc.h | 7 +++++++ 5 files changed, 52 insertions(+), 3 deletions(-) _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel