diff mbox

drm/radeon: Move fb update from radeon_flip_work_func to radeon_crtc_page_flip

Message ID 1402363317-3350-1-git-send-email-michel@daenzer.net (mailing list archive)
State New, archived
Headers show

Commit Message

Michel Dänzer June 10, 2014, 1:21 a.m. UTC
From: Michel Dänzer <michel.daenzer@amd.com>

Fixes WARN()s from the DRM core since the page flip rework.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=77521
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---
 drivers/gpu/drm/radeon/radeon_display.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Alex Deucher June 10, 2014, 2:09 a.m. UTC | #1
On Mon, Jun 9, 2014 at 9:21 PM, Michel Dänzer <michel@daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer@amd.com>
>
> Fixes WARN()s from the DRM core since the page flip rework.
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=77521
> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>

Applied.  thanks!

Alex

> ---
>  drivers/gpu/drm/radeon/radeon_display.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
> index a4e725c..5ed6170 100644
> --- a/drivers/gpu/drm/radeon/radeon_display.c
> +++ b/drivers/gpu/drm/radeon/radeon_display.c
> @@ -462,9 +462,6 @@ static void radeon_flip_work_func(struct work_struct *__work)
>         /* We borrow the event spin lock for protecting flip_work */
>         spin_lock_irqsave(&crtc->dev->event_lock, flags);
>
> -       /* update crtc fb */
> -       crtc->primary->fb = fb;
> -
>         /* set the proper interrupt */
>         radeon_irq_kms_pflip_irq_get(rdev, radeon_crtc->crtc_id);
>
> @@ -539,6 +536,9 @@ static int radeon_crtc_page_flip(struct drm_crtc *crtc,
>         }
>         radeon_crtc->flip_work = work;
>
> +       /* update crtc fb */
> +       crtc->primary->fb = fb;
> +
>         spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
>
>         queue_work(radeon_crtc->flip_queue, &work->flip_work);
> --
> 2.0.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index a4e725c..5ed6170 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -462,9 +462,6 @@  static void radeon_flip_work_func(struct work_struct *__work)
 	/* We borrow the event spin lock for protecting flip_work */
 	spin_lock_irqsave(&crtc->dev->event_lock, flags);
 
-	/* update crtc fb */
-	crtc->primary->fb = fb;
-
 	/* set the proper interrupt */
 	radeon_irq_kms_pflip_irq_get(rdev, radeon_crtc->crtc_id);
 
@@ -539,6 +536,9 @@  static int radeon_crtc_page_flip(struct drm_crtc *crtc,
 	}
 	radeon_crtc->flip_work = work;
 
+	/* update crtc fb */
+	crtc->primary->fb = fb;
+
 	spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
 
 	queue_work(radeon_crtc->flip_queue, &work->flip_work);