帧缓冲设备显示缓冲区的分配与释放

来源:互联网 发布:fifaonline308年数据库 编辑:程序博客网 时间:2024/06/07 16:21
static int __init xxxfb_map_video_memory(struct xxxfb_info *fbi){fbi->map_size = PAGE_ALIGN(fbi->fb->fix.smem_len + PAGE_SIZE); // 计算fb的大小, 并使其页对齐fbi->map_cpu = dma_alloc_writecombine(fbi->dev,fbi->map_size,&fbi->map_dma,GFP_KERNEL); /* 分配内存 */fbi->map_size = fbi->fb->fix.smem_len; /* 显示缓冲区大小 */if (fbi->map_cpu) {memset(fbi->map_cpu, 0xf0, fbi->map_size);fbi->screen_dma = fbi->map_dma;fbi->fb->screen_base = fbi->map_cpu;fbi->fb->fix.smem_start = fbi->screen_dma;}return fbi->map_cpu ? 0 : - ENOMEM;}static inline void xxxfb_unmap_video_memory(struct s3c2410fb_info *fbi){/* 释放显示缓冲区 */dma_free_writecombine(fbi->dev,fbi->map_size,fbi->map_cpu, fbi->map_dma);}


原创粉丝点击