diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2014-10-02 07:22:27 +0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-10-02 07:32:24 +0400 |
commit | 6fbb702e27d78ad2458df048b58cca3454bc0965 (patch) | |
tree | 0b231d0faa47f6ffd47302f83292f29b4150ed86 /drivers/gpu/drm/nouveau/nouveau_display.h | |
parent | 634ffcccfbe59d77652804e1beb415d3329b1bc6 (diff) | |
download | linux-6fbb702e27d78ad2458df048b58cca3454bc0965.tar.xz |
drm/nouveau: make sure display hardware is reinitialised on runtime resume
Linus commit 05c63c2ff23a80b654d6c088ac3ba21628db0173 modified the
runtime suspend/resume paths to skip over display-related tasks to
avoid locking issues on resume.
Unfortunately, this resulted in the display hardware being left in
a partially initialised state, preventing subsequent modesets from
completing.
This commit unifies the (many) suspend/resume paths, bringing back
display (and fbcon) handling in the runtime paths.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_display.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_display.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.h b/drivers/gpu/drm/nouveau/nouveau_display.h index 88ca177cb1c7..be3d5947c6be 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.h +++ b/drivers/gpu/drm/nouveau/nouveau_display.h @@ -63,9 +63,8 @@ int nouveau_display_create(struct drm_device *dev); void nouveau_display_destroy(struct drm_device *dev); int nouveau_display_init(struct drm_device *dev); void nouveau_display_fini(struct drm_device *dev); -int nouveau_display_suspend(struct drm_device *dev); -void nouveau_display_repin(struct drm_device *dev); -void nouveau_display_resume(struct drm_device *dev); +int nouveau_display_suspend(struct drm_device *dev, bool runtime); +void nouveau_display_resume(struct drm_device *dev, bool runtime); int nouveau_display_vblank_enable(struct drm_device *, int); void nouveau_display_vblank_disable(struct drm_device *, int); int nouveau_display_scanoutpos(struct drm_device *, int, unsigned int, |