]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/blobdiff - drivers/gpu/drm/cirrus/cirrus_mode.c
Merge tag 'drm-misc-next-2018-06-21' of git://anongit.freedesktop.org/drm/drm-misc...
[mirror_ubuntu-disco-kernel.git] / drivers / gpu / drm / cirrus / cirrus_mode.c
index c91b9b054e3f77805bd3ae00b0db3bf74144f6d1..b529f8c8e2a6346d0c4073a95e9644497ed2bce8 100644 (file)
@@ -101,17 +101,13 @@ static int cirrus_crtc_do_set_base(struct drm_crtc *crtc,
                                int x, int y, int atomic)
 {
        struct cirrus_device *cdev = crtc->dev->dev_private;
-       struct drm_gem_object *obj;
-       struct cirrus_framebuffer *cirrus_fb;
        struct cirrus_bo *bo;
        int ret;
        u64 gpu_addr;
 
        /* push the previous fb to system ram */
        if (!atomic && fb) {
-               cirrus_fb = to_cirrus_framebuffer(fb);
-               obj = cirrus_fb->obj;
-               bo = gem_to_cirrus_bo(obj);
+               bo = gem_to_cirrus_bo(fb->obj[0]);
                ret = cirrus_bo_reserve(bo, false);
                if (ret)
                        return ret;
@@ -119,9 +115,7 @@ static int cirrus_crtc_do_set_base(struct drm_crtc *crtc,
                cirrus_bo_unreserve(bo);
        }
 
-       cirrus_fb = to_cirrus_framebuffer(crtc->primary->fb);
-       obj = cirrus_fb->obj;
-       bo = gem_to_cirrus_bo(obj);
+       bo = gem_to_cirrus_bo(crtc->primary->fb->obj[0]);
 
        ret = cirrus_bo_reserve(bo, false);
        if (ret)
@@ -133,7 +127,7 @@ static int cirrus_crtc_do_set_base(struct drm_crtc *crtc,
                return ret;
        }
 
-       if (&cdev->mode_info.gfbdev->gfb == cirrus_fb) {
+       if (&cdev->mode_info.gfbdev->gfb == crtc->primary->fb) {
                /* if pushing console in kmap it */
                ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &bo->kmap);
                if (ret)