Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

DRM / i915: Fix resume regression on MSI Wind U100 w/o KMS

Commit cbda12d77ea590082edb6d30bd342a67ebc459e0 (drm/i915: implement
new pm ops for i915), among other things, removed the .suspend and
.resume pointers from the struct drm_driver object in i915_drv.c,
which broke resume without KMS on my MSI Wind U100.

Fix this by reverting that part of commit cbda12d77ea59.

[ The DRM layer will not use the class-specific suspend/resume functions
if the driver is marked MODESET-aware, and conversely it will not
register the PCI device if the drievr isn't so marked, so you always
end up with _either_ the drm-class suspend/resume _or_ the PCI layer
PM functionality, never both. - Linus ]

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Rafael J. Wysocki and committed by
Linus Torvalds
50f411e3 3c8ad49b

+2
+2
drivers/gpu/drm/i915/i915_drv.c
··· 464 464 .lastclose = i915_driver_lastclose, 465 465 .preclose = i915_driver_preclose, 466 466 .postclose = i915_driver_postclose, 467 + .suspend = i915_suspend, 468 + .resume = i915_resume, 467 469 .device_is_agp = i915_driver_device_is_agp, 468 470 .enable_vblank = i915_enable_vblank, 469 471 .disable_vblank = i915_disable_vblank,