Message ID | 1402363317-3350-1-git-send-email-michel@daenzer.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 --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);