OSDN Git Service

drm/cirrus: cirrus_framebuffer -> drm_framebuffer
authorDaniel Stone <daniels@collabora.com>
Fri, 30 Mar 2018 14:11:16 +0000 (15:11 +0100)
committerDaniel Stone <daniels@collabora.com>
Fri, 18 May 2018 13:52:30 +0000 (14:52 +0100)
Now cirrus_framebuffer is just an empty wrapper around drm_framebuffer,
we can drop it.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: virtualization@lists.linux-foundation.org
Link: https://patchwork.freedesktop.org/patch/msgid/20180330141138.28987-2-daniels@collabora.com
drivers/gpu/drm/cirrus/cirrus_drv.h
drivers/gpu/drm/cirrus/cirrus_fbdev.c
drivers/gpu/drm/cirrus/cirrus_main.c
drivers/gpu/drm/cirrus/cirrus_mode.c

index 70b2362..ce9db7a 100644 (file)
@@ -92,7 +92,6 @@
 
 #define to_cirrus_crtc(x) container_of(x, struct cirrus_crtc, base)
 #define to_cirrus_encoder(x) container_of(x, struct cirrus_encoder, base)
-#define to_cirrus_framebuffer(x) container_of(x, struct cirrus_framebuffer, base)
 
 struct cirrus_crtc {
        struct drm_crtc                 base;
@@ -117,10 +116,6 @@ struct cirrus_connector {
        struct drm_connector            base;
 };
 
-struct cirrus_framebuffer {
-       struct drm_framebuffer          base;
-};
-
 struct cirrus_mc {
        resource_size_t                 vram_size;
        resource_size_t                 vram_base;
@@ -151,7 +146,7 @@ struct cirrus_device {
 
 struct cirrus_fbdev {
        struct drm_fb_helper helper;
-       struct cirrus_framebuffer gfb;
+       struct drm_framebuffer gfb;
        void *sysram;
        int size;
        int x1, y1, x2, y2; /* dirty rect */
@@ -197,7 +192,7 @@ int cirrus_dumb_create(struct drm_file *file,
                       struct drm_mode_create_dumb *args);
 
 int cirrus_framebuffer_init(struct drm_device *dev,
-                          struct cirrus_framebuffer *gfb,
+                           struct drm_framebuffer *gfb,
                            const struct drm_mode_fb_cmd2 *mode_cmd,
                            struct drm_gem_object *obj);
 
index a74d328..b643ac9 100644 (file)
@@ -22,14 +22,14 @@ static void cirrus_dirty_update(struct cirrus_fbdev *afbdev,
        struct drm_gem_object *obj;
        struct cirrus_bo *bo;
        int src_offset, dst_offset;
-       int bpp = afbdev->gfb.base.format->cpp[0];
+       int bpp = afbdev->gfb.format->cpp[0];
        int ret = -EBUSY;
        bool unmap = false;
        bool store_for_later = false;
        int x2, y2;
        unsigned long flags;
 
-       obj = afbdev->gfb.base.obj[0];
+       obj = afbdev->gfb.obj[0];
        bo = gem_to_cirrus_bo(obj);
 
        /*
@@ -82,7 +82,7 @@ static void cirrus_dirty_update(struct cirrus_fbdev *afbdev,
        }
        for (i = y; i < y + height; i++) {
                /* assume equal stride for now */
-               src_offset = dst_offset = i * afbdev->gfb.base.pitches[0] + (x * bpp);
+               src_offset = dst_offset = i * afbdev->gfb.pitches[0] + (x * bpp);
                memcpy_toio(bo->kmap.virtual + src_offset, afbdev->sysram + src_offset, width * bpp);
 
        }
@@ -204,7 +204,7 @@ static int cirrusfb_create(struct drm_fb_helper *helper,
        gfbdev->sysram = sysram;
        gfbdev->size = size;
 
-       fb = &gfbdev->gfb.base;
+       fb = &gfbdev->gfb;
        if (!fb) {
                DRM_INFO("fb is NULL\n");
                return -EINVAL;
@@ -246,19 +246,19 @@ static int cirrusfb_create(struct drm_fb_helper *helper,
 static int cirrus_fbdev_destroy(struct drm_device *dev,
                                struct cirrus_fbdev *gfbdev)
 {
-       struct cirrus_framebuffer *gfb = &gfbdev->gfb;
+       struct drm_framebuffer *gfb = &gfbdev->gfb;
 
        drm_fb_helper_unregister_fbi(&gfbdev->helper);
 
-       if (gfb->base.obj[0]) {
-               drm_gem_object_put_unlocked(gfb->base.obj[0]);
-               gfb->base.obj[0] = NULL;
+       if (gfb->obj[0]) {
+               drm_gem_object_put_unlocked(gfb->obj[0]);
+               gfb->obj[0] = NULL;
        }
 
        vfree(gfbdev->sysram);
        drm_fb_helper_fini(&gfbdev->helper);
-       drm_framebuffer_unregister_private(&gfb->base);
-       drm_framebuffer_cleanup(&gfb->base);
+       drm_framebuffer_unregister_private(gfb);
+       drm_framebuffer_cleanup(gfb);
 
        return 0;
 }
index f1ee413..60d54e1 100644 (file)
@@ -20,15 +20,15 @@ static const struct drm_framebuffer_funcs cirrus_fb_funcs = {
 };
 
 int cirrus_framebuffer_init(struct drm_device *dev,
-                           struct cirrus_framebuffer *gfb,
+                           struct drm_framebuffer *gfb,
                            const struct drm_mode_fb_cmd2 *mode_cmd,
                            struct drm_gem_object *obj)
 {
        int ret;
 
-       drm_helper_mode_fill_fb_struct(dev, &gfb->base, mode_cmd);
-       gfb->base.obj[0] = obj;
-       ret = drm_framebuffer_init(dev, &gfb->base, &cirrus_fb_funcs);
+       drm_helper_mode_fill_fb_struct(dev, gfb, mode_cmd);
+       gfb->obj[0] = obj;
+       ret = drm_framebuffer_init(dev, gfb, &cirrus_fb_funcs);
        if (ret) {
                DRM_ERROR("drm_framebuffer_init failed: %d\n", ret);
                return ret;
@@ -43,7 +43,7 @@ cirrus_user_framebuffer_create(struct drm_device *dev,
 {
        struct cirrus_device *cdev = dev->dev_private;
        struct drm_gem_object *obj;
-       struct cirrus_framebuffer *cirrus_fb;
+       struct drm_framebuffer *fb;
        u32 bpp;
        int ret;
 
@@ -57,19 +57,19 @@ cirrus_user_framebuffer_create(struct drm_device *dev,
        if (obj == NULL)
                return ERR_PTR(-ENOENT);
 
-       cirrus_fb = kzalloc(sizeof(*cirrus_fb), GFP_KERNEL);
-       if (!cirrus_fb) {
+       fb = kzalloc(sizeof(*fb), GFP_KERNEL);
+       if (!fb) {
                drm_gem_object_put_unlocked(obj);
                return ERR_PTR(-ENOMEM);
        }
 
-       ret = cirrus_framebuffer_init(dev, cirrus_fb, mode_cmd, obj);
+       ret = cirrus_framebuffer_init(dev, fb, mode_cmd, obj);
        if (ret) {
                drm_gem_object_put_unlocked(obj);
-               kfree(cirrus_fb);
+               kfree(fb);
                return ERR_PTR(ret);
        }
-       return &cirrus_fb->base;
+       return fb;
 }
 
 static const struct drm_mode_config_funcs cirrus_mode_funcs = {
index 91b9c42..b529f8c 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->base.obj[0];
-               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->base.obj[0];
-       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)