Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b90090ee authored by Jeevan Shriram's avatar Jeevan Shriram Committed by Gerrit - the friendly Code Review server
Browse files

mdss: fb: update smem_len when user updates parameters



There is an ioctl for userspace to update the variable
parameters. Frame buffer driver has to update the shared
memory length according to the new variable information.

Change-Id: Ic24ee3e4b1101b4e1ef4e9db2182602aa5175812
Signed-off-by: default avatarJeevan Shriram <jshriram@codeaurora.org>
parent 3536f4b9
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -1278,7 +1278,7 @@ static int mdss_fb_fbmem_ion_mmap(struct fb_info *info,
	}

	req_size = vma->vm_end - vma->vm_start;
	fb_size = mfd->fbi->fix.line_length * mfd->fbi->var.yres * MDSS_FB_NUM;
	fb_size = mfd->fbi->fix.smem_len;
	if (req_size > fb_size) {
		pr_warn("requested map is greater than framebuffer");
		return -EOVERFLOW;
@@ -1296,12 +1296,10 @@ static int mdss_fb_fbmem_ion_mmap(struct fb_info *info,
	if (IS_ERR(table)) {
		pr_err("Unable to get sg_table from ion:%ld\n", PTR_ERR(table));
		mfd->fbi->screen_base = NULL;
		mfd->fbi->fix.smem_len = 0;
		return PTR_ERR(table);
	} else if (!table) {
		pr_err("sg_list is NULL\n");
		mfd->fbi->screen_base = NULL;
		mfd->fbi->fix.smem_len = 0;
		return -EINVAL;
	}

@@ -1452,7 +1450,6 @@ static int mdss_fb_alloc_fbmem_iommu(struct msm_fb_data_type *mfd, int dom)
		pr_debug("fbmem is not reserved for %s\n", pdev->name);
		mfd->fbi->screen_base = NULL;
		mfd->fbi->fix.smem_start = 0;
		mfd->fbi->fix.smem_len = 0;
		return 0;
	} else {
		const u32 *addr;
@@ -2623,6 +2620,8 @@ static int mdss_fb_set_par(struct fb_info *info)
	else
		mfd->fbi->fix.line_length = var->xres * var->bits_per_pixel / 8;

	mfd->fbi->fix.smem_len = mfd->fbi->fix.line_length *
					mfd->fbi->var.yres_virtual;

	if (mfd->panel_reconfig || (mfd->fb_imgType != old_imgType)) {
		mdss_fb_blank_sub(FB_BLANK_POWERDOWN, info, mfd->op_enable);