mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
drm/rockchip: framebuffer: Add support /dev/graphics/fb0 read
For support some application only can support framebuffer display framework and need to read display buffer from /dev/graphics/fb0. besides, you need to add the following patch to get kvddr: rockchip_gem_create_with_handle()@file: drivers/gpu/drm/rockchip/rockchip_drm_gem.c -rk_obj = rockchip_gem_create_object(drm, size, false, flags); +rk_obj = rockchip_gem_create_object(drm, size, true, flags); Change-Id: Iec83dba8295268ba418e802a1cf5eeccd3880ab5 Signed-off-by: Sandy Huang <hjc@rock-chips.com>
This commit is contained in:
parent
5ad14fc5e5
commit
726122dc14
|
|
@ -100,6 +100,8 @@ rockchip_fb_alloc(struct drm_device *dev, struct drm_mode_fb_cmd2 *mode_cmd,
|
|||
{
|
||||
struct rockchip_drm_fb *rockchip_fb;
|
||||
struct rockchip_gem_object *rk_obj;
|
||||
struct rockchip_drm_private *private = dev->dev_private;
|
||||
struct drm_fb_helper *fb_helper = private->fbdev_helper;
|
||||
int ret = 0;
|
||||
int i;
|
||||
|
||||
|
|
@ -125,6 +127,9 @@ rockchip_fb_alloc(struct drm_device *dev, struct drm_mode_fb_cmd2 *mode_cmd,
|
|||
rk_obj = to_rockchip_obj(obj[i]);
|
||||
rockchip_fb->dma_addr[i] = rk_obj->dma_addr;
|
||||
rockchip_fb->kvaddr[i] = rk_obj->kvaddr;
|
||||
private->fbdev_bo = &rk_obj->base;
|
||||
if (fb_helper && fb_helper->fbdev && rk_obj->kvaddr)
|
||||
fb_helper->fbdev->screen_base = rk_obj->kvaddr;
|
||||
}
|
||||
#ifndef MODULE
|
||||
} else if (logo) {
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ static struct fb_ops rockchip_drm_fbdev_ops = {
|
|||
.fb_set_par = drm_fb_helper_set_par,
|
||||
.fb_blank = drm_fb_helper_blank,
|
||||
.fb_pan_display = drm_fb_helper_pan_display,
|
||||
.fb_read = drm_fb_helper_sys_read,
|
||||
.fb_write = drm_fb_helper_sys_write,
|
||||
.fb_setcmap = drm_fb_helper_setcmap,
|
||||
.fb_dmabuf_export = rockchip_fbdev_get_dma_buf,
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user