diff options
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_plane.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c index df1725247cca..3cf31ee59aac 100644 --- a/drivers/gpu/drm/omapdrm/omap_plane.c +++ b/drivers/gpu/drm/omapdrm/omap_plane.c | |||
@@ -225,6 +225,11 @@ int omap_plane_mode_set(struct drm_plane *plane, | |||
225 | omap_plane->apply_done_cb.arg = arg; | 225 | omap_plane->apply_done_cb.arg = arg; |
226 | } | 226 | } |
227 | 227 | ||
228 | if (plane->fb) | ||
229 | drm_framebuffer_unreference(plane->fb); | ||
230 | |||
231 | drm_framebuffer_reference(fb); | ||
232 | |||
228 | plane->fb = fb; | 233 | plane->fb = fb; |
229 | plane->crtc = crtc; | 234 | plane->crtc = crtc; |
230 | 235 | ||
@@ -241,11 +246,6 @@ static int omap_plane_update(struct drm_plane *plane, | |||
241 | struct omap_plane *omap_plane = to_omap_plane(plane); | 246 | struct omap_plane *omap_plane = to_omap_plane(plane); |
242 | omap_plane->enabled = true; | 247 | omap_plane->enabled = true; |
243 | 248 | ||
244 | if (plane->fb) | ||
245 | drm_framebuffer_unreference(plane->fb); | ||
246 | |||
247 | drm_framebuffer_reference(fb); | ||
248 | |||
249 | /* omap_plane_mode_set() takes adjusted src */ | 249 | /* omap_plane_mode_set() takes adjusted src */ |
250 | switch (omap_plane->win.rotation & 0xf) { | 250 | switch (omap_plane->win.rotation & 0xf) { |
251 | case BIT(DRM_ROTATE_90): | 251 | case BIT(DRM_ROTATE_90): |