From 01573e231f18eb2d99162747186f59511f56b64d Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 08 Dec 2023 10:40:48 +0000
Subject: [PATCH] 移去rt
---
kernel/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c | 54 ++++++++----------------------------------------------
1 files changed, 8 insertions(+), 46 deletions(-)
diff --git a/kernel/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c b/kernel/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
index e824264..bd449be 100644
--- a/kernel/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
+++ b/kernel/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
@@ -1,21 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (C) Fuzhou Rockchip Electronics Co.Ltd
* Author:Mark Yao <mark.yao@rock-chips.com>
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*/
#include <drm/drm.h>
-#include <drm/drmP.h>
#include <drm/drm_fb_helper.h>
-#include <drm/drm_crtc_helper.h>
+#include <drm/drm_fourcc.h>
+#include <drm/drm_probe_helper.h>
#include "rockchip_drm_drv.h"
#include "rockchip_drm_gem.h"
@@ -33,31 +25,13 @@
return rockchip_gem_mmap_buf(private->fbdev_bo, vma);
}
-static struct dma_buf *rockchip_fbdev_get_dma_buf(struct fb_info *info)
-{
- struct dma_buf *buf = NULL;
- struct drm_fb_helper *helper = info->par;
- struct rockchip_drm_private *private = helper->dev->dev_private;
- struct drm_device *dev = helper->dev;
-
- if (dev->driver->gem_prime_export) {
- buf = dev->driver->gem_prime_export(dev, private->fbdev_bo,
- O_RDWR);
- if (buf)
- drm_gem_object_get(private->fbdev_bo);
- }
-
- return buf;
-}
-
-static struct fb_ops rockchip_drm_fbdev_ops = {
+static const struct fb_ops rockchip_drm_fbdev_ops = {
.owner = THIS_MODULE,
DRM_FB_HELPER_DEFAULT_OPS,
+ .fb_mmap = rockchip_fbdev_mmap,
.fb_fillrect = drm_fb_helper_cfb_fillrect,
.fb_copyarea = drm_fb_helper_cfb_copyarea,
.fb_imageblit = drm_fb_helper_cfb_imageblit,
- .fb_mmap = rockchip_fbdev_mmap,
- .fb_dmabuf_export = rockchip_fbdev_get_dma_buf,
};
static int rockchip_drm_fbdev_create(struct drm_fb_helper *helper,
@@ -106,13 +80,10 @@
goto out;
}
- fbi->par = helper;
- fbi->flags = FBINFO_FLAG_DEFAULT;
fbi->fbops = &rockchip_drm_fbdev_ops;
fb = helper->fb;
- drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->format->depth);
- drm_fb_helper_fill_var(fbi, helper, sizes->fb_width, sizes->fb_height);
+ drm_fb_helper_fill_info(fbi, helper, sizes);
offset = fbi->var.xoffset * bytes_per_pixel;
offset += fbi->var.yoffset * fb->pitches[0];
@@ -127,12 +98,10 @@
rk_obj->kvaddr,
offset, size);
- fbi->skip_vt_switch = true;
-
return 0;
out:
- rockchip_gem_free_object(&rk_obj->base);
+ drm_gem_object_put(&rk_obj->base);
return ret;
}
@@ -156,19 +125,12 @@
drm_fb_helper_prepare(dev, helper, &rockchip_drm_fb_helper_funcs);
- ret = drm_fb_helper_init(dev, helper, ROCKCHIP_MAX_CONNECTOR);
+ ret = drm_fb_helper_init(dev, helper);
if (ret < 0) {
DRM_DEV_ERROR(dev->dev,
"Failed to initialize drm fb helper - %d.\n",
ret);
return ret;
- }
-
- ret = drm_fb_helper_single_add_all_connectors(helper);
- if (ret < 0) {
- DRM_DEV_ERROR(dev->dev,
- "Failed to add connectors - %d.\n", ret);
- goto err_drm_fb_helper_fini;
}
ret = drm_fb_helper_initial_config(helper, PREFERRED_BPP);
--
Gitblit v1.6.2