diff options
author | Gustavo Padovan <gustavo.padovan@collabora.co.uk> | 2016-06-06 10:41:44 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-06-06 12:05:08 -0400 |
commit | a782bca5e52ef112246387cee071364dc0e5a344 (patch) | |
tree | 2fb74844a0f543418925ad28ad7864e23b5feac4 | |
parent | 078ace6f4afc4e98a9c029366f04a68fcf1f8168 (diff) |
drm/radeon: use drm_crtc_vblank_{get,put}()
Replace the legacy drm_vblank_{get,put}() with the new helper functions.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1465224105-21485-13-git-send-email-gustavo@padovan.org
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_display.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_pm.c | 13 |
2 files changed, 12 insertions, 7 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index 6a41b4982647..2fb18f13395c 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c | |||
@@ -381,7 +381,7 @@ void radeon_crtc_handle_flip(struct radeon_device *rdev, int crtc_id) | |||
381 | 381 | ||
382 | spin_unlock_irqrestore(&rdev->ddev->event_lock, flags); | 382 | spin_unlock_irqrestore(&rdev->ddev->event_lock, flags); |
383 | 383 | ||
384 | drm_vblank_put(rdev->ddev, radeon_crtc->crtc_id); | 384 | drm_crtc_vblank_put(&radeon_crtc->base); |
385 | radeon_irq_kms_pflip_irq_put(rdev, work->crtc_id); | 385 | radeon_irq_kms_pflip_irq_put(rdev, work->crtc_id); |
386 | queue_work(radeon_crtc->flip_queue, &work->unpin_work); | 386 | queue_work(radeon_crtc->flip_queue, &work->unpin_work); |
387 | } | 387 | } |
@@ -598,7 +598,7 @@ static int radeon_crtc_page_flip(struct drm_crtc *crtc, | |||
598 | } | 598 | } |
599 | work->base = base; | 599 | work->base = base; |
600 | 600 | ||
601 | r = drm_vblank_get(crtc->dev, radeon_crtc->crtc_id); | 601 | r = drm_crtc_vblank_get(crtc); |
602 | if (r) { | 602 | if (r) { |
603 | DRM_ERROR("failed to get vblank before flip\n"); | 603 | DRM_ERROR("failed to get vblank before flip\n"); |
604 | goto pflip_cleanup; | 604 | goto pflip_cleanup; |
@@ -625,7 +625,7 @@ static int radeon_crtc_page_flip(struct drm_crtc *crtc, | |||
625 | return 0; | 625 | return 0; |
626 | 626 | ||
627 | vblank_cleanup: | 627 | vblank_cleanup: |
628 | drm_vblank_put(crtc->dev, radeon_crtc->crtc_id); | 628 | drm_crtc_vblank_put(&radeon_crtc->base); |
629 | 629 | ||
630 | pflip_cleanup: | 630 | pflip_cleanup: |
631 | if (unlikely(radeon_bo_reserve(new_rbo, false) != 0)) { | 631 | if (unlikely(radeon_bo_reserve(new_rbo, false) != 0)) { |
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c index 38226d925a5b..4b6542538ff9 100644 --- a/drivers/gpu/drm/radeon/radeon_pm.c +++ b/drivers/gpu/drm/radeon/radeon_pm.c | |||
@@ -246,6 +246,7 @@ static void radeon_set_power_state(struct radeon_device *rdev) | |||
246 | 246 | ||
247 | static void radeon_pm_set_clocks(struct radeon_device *rdev) | 247 | static void radeon_pm_set_clocks(struct radeon_device *rdev) |
248 | { | 248 | { |
249 | struct drm_crtc *crtc; | ||
249 | int i, r; | 250 | int i, r; |
250 | 251 | ||
251 | /* no need to take locks, etc. if nothing's going to change */ | 252 | /* no need to take locks, etc. if nothing's going to change */ |
@@ -274,26 +275,30 @@ static void radeon_pm_set_clocks(struct radeon_device *rdev) | |||
274 | radeon_unmap_vram_bos(rdev); | 275 | radeon_unmap_vram_bos(rdev); |
275 | 276 | ||
276 | if (rdev->irq.installed) { | 277 | if (rdev->irq.installed) { |
277 | for (i = 0; i < rdev->num_crtc; i++) { | 278 | i = 0; |
279 | drm_for_each_crtc(crtc, rdev->ddev) { | ||
278 | if (rdev->pm.active_crtcs & (1 << i)) { | 280 | if (rdev->pm.active_crtcs & (1 << i)) { |
279 | /* This can fail if a modeset is in progress */ | 281 | /* This can fail if a modeset is in progress */ |
280 | if (drm_vblank_get(rdev->ddev, i) == 0) | 282 | if (drm_crtc_vblank_get(crtc) == 0) |
281 | rdev->pm.req_vblank |= (1 << i); | 283 | rdev->pm.req_vblank |= (1 << i); |
282 | else | 284 | else |
283 | DRM_DEBUG_DRIVER("crtc %d no vblank, can glitch\n", | 285 | DRM_DEBUG_DRIVER("crtc %d no vblank, can glitch\n", |
284 | i); | 286 | i); |
285 | } | 287 | } |
288 | i++; | ||
286 | } | 289 | } |
287 | } | 290 | } |
288 | 291 | ||
289 | radeon_set_power_state(rdev); | 292 | radeon_set_power_state(rdev); |
290 | 293 | ||
291 | if (rdev->irq.installed) { | 294 | if (rdev->irq.installed) { |
292 | for (i = 0; i < rdev->num_crtc; i++) { | 295 | i = 0; |
296 | drm_for_each_crtc(crtc, rdev->ddev) { | ||
293 | if (rdev->pm.req_vblank & (1 << i)) { | 297 | if (rdev->pm.req_vblank & (1 << i)) { |
294 | rdev->pm.req_vblank &= ~(1 << i); | 298 | rdev->pm.req_vblank &= ~(1 << i); |
295 | drm_vblank_put(rdev->ddev, i); | 299 | drm_crtc_vblank_put(crtc); |
296 | } | 300 | } |
301 | i++; | ||
297 | } | 302 | } |
298 | } | 303 | } |
299 | 304 | ||