On Mon, 24 Jan 2011 15:55:27 +0000, Chris Wilson chris@chris-wilson.co.uk wrote:
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
Dave, what's your take on adding a new (crtc|encoder|connector)->reset() vfunc to drm core? Do I need to code up an Intel specific alternative?
(Poking since this fixes a regression in .38.)
Thanks, -Chris