diff options
author | Patrik Jakobsson <patrik.r.jakobsson@gmail.com> | 2013-07-12 09:38:52 -0400 |
---|---|---|
committer | Patrik Jakobsson <patrik.r.jakobsson@gmail.com> | 2013-07-23 19:47:31 -0400 |
commit | 924cb5ffd81d66cc6461de955f7cb144cb3b7b6d (patch) | |
tree | 7e8caa5e3d60d238ebf79d98b40622eb5aa05f67 /drivers/gpu/drm/gma500 | |
parent | f0ff07b73b9b5be1f725f333d1516d569c697104 (diff) |
drm/gma500: Add generic set_config() function
Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/gma500')
-rw-r--r-- | drivers/gpu/drm/gma500/gma_display.c | 16 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/gma_display.h | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/drm/gma500/gma_display.c b/drivers/gpu/drm/gma500/gma_display.c index cca40c0b64e4..2a3e9254e651 100644 --- a/drivers/gpu/drm/gma500/gma_display.c +++ b/drivers/gpu/drm/gma500/gma_display.c | |||
@@ -519,6 +519,22 @@ void gma_crtc_destroy(struct drm_crtc *crtc) | |||
519 | kfree(psb_intel_crtc); | 519 | kfree(psb_intel_crtc); |
520 | } | 520 | } |
521 | 521 | ||
522 | int gma_crtc_set_config(struct drm_mode_set *set) | ||
523 | { | ||
524 | struct drm_device *dev = set->crtc->dev; | ||
525 | struct drm_psb_private *dev_priv = dev->dev_private; | ||
526 | int ret; | ||
527 | |||
528 | if (!dev_priv->rpm_enabled) | ||
529 | return drm_crtc_helper_set_config(set); | ||
530 | |||
531 | pm_runtime_forbid(&dev->pdev->dev); | ||
532 | ret = drm_crtc_helper_set_config(set); | ||
533 | pm_runtime_allow(&dev->pdev->dev); | ||
534 | |||
535 | return ret; | ||
536 | } | ||
537 | |||
522 | /** | 538 | /** |
523 | * Save HW states of given crtc | 539 | * Save HW states of given crtc |
524 | */ | 540 | */ |
diff --git a/drivers/gpu/drm/gma500/gma_display.h b/drivers/gpu/drm/gma500/gma_display.h index 8847de069516..1044c165c714 100644 --- a/drivers/gpu/drm/gma500/gma_display.h +++ b/drivers/gpu/drm/gma500/gma_display.h | |||
@@ -22,6 +22,8 @@ | |||
22 | #ifndef _GMA_DISPLAY_H_ | 22 | #ifndef _GMA_DISPLAY_H_ |
23 | #define _GMA_DISPLAY_H_ | 23 | #define _GMA_DISPLAY_H_ |
24 | 24 | ||
25 | #include <linux/pm_runtime.h> | ||
26 | |||
25 | struct gma_clock_t { | 27 | struct gma_clock_t { |
26 | /* given values */ | 28 | /* given values */ |
27 | int n; | 29 | int n; |
@@ -80,6 +82,7 @@ extern void gma_crtc_prepare(struct drm_crtc *crtc); | |||
80 | extern void gma_crtc_commit(struct drm_crtc *crtc); | 82 | extern void gma_crtc_commit(struct drm_crtc *crtc); |
81 | extern void gma_crtc_disable(struct drm_crtc *crtc); | 83 | extern void gma_crtc_disable(struct drm_crtc *crtc); |
82 | extern void gma_crtc_destroy(struct drm_crtc *crtc); | 84 | extern void gma_crtc_destroy(struct drm_crtc *crtc); |
85 | extern int gma_crtc_set_config(struct drm_mode_set *set); | ||
83 | 86 | ||
84 | extern void gma_crtc_save(struct drm_crtc *crtc); | 87 | extern void gma_crtc_save(struct drm_crtc *crtc); |
85 | extern void gma_crtc_restore(struct drm_crtc *crtc); | 88 | extern void gma_crtc_restore(struct drm_crtc *crtc); |