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

Commit 239a6a59 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mdss: fb: update smem_len when user updates parameters"

parents a7ad36d5 b90090ee
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line 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;
	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) {
	if (req_size > fb_size) {
		pr_warn("requested map is greater than framebuffer");
		pr_warn("requested map is greater than framebuffer");
		return -EOVERFLOW;
		return -EOVERFLOW;
@@ -1296,12 +1296,10 @@ static int mdss_fb_fbmem_ion_mmap(struct fb_info *info,
	if (IS_ERR(table)) {
	if (IS_ERR(table)) {
		pr_err("Unable to get sg_table from ion:%ld\n", PTR_ERR(table));
		pr_err("Unable to get sg_table from ion:%ld\n", PTR_ERR(table));
		mfd->fbi->screen_base = NULL;
		mfd->fbi->screen_base = NULL;
		mfd->fbi->fix.smem_len = 0;
		return PTR_ERR(table);
		return PTR_ERR(table);
	} else if (!table) {
	} else if (!table) {
		pr_err("sg_list is NULL\n");
		pr_err("sg_list is NULL\n");
		mfd->fbi->screen_base = NULL;
		mfd->fbi->screen_base = NULL;
		mfd->fbi->fix.smem_len = 0;
		return -EINVAL;
		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);
		pr_debug("fbmem is not reserved for %s\n", pdev->name);
		mfd->fbi->screen_base = NULL;
		mfd->fbi->screen_base = NULL;
		mfd->fbi->fix.smem_start = 0;
		mfd->fbi->fix.smem_start = 0;
		mfd->fbi->fix.smem_len = 0;
		return 0;
		return 0;
	} else {
	} else {
		const u32 *addr;
		const u32 *addr;
@@ -2623,6 +2620,8 @@ static int mdss_fb_set_par(struct fb_info *info)
	else
	else
		mfd->fbi->fix.line_length = var->xres * var->bits_per_pixel / 8;
		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)) {
	if (mfd->panel_reconfig || (mfd->fb_imgType != old_imgType)) {
		mdss_fb_blank_sub(FB_BLANK_POWERDOWN, info, mfd->op_enable);
		mdss_fb_blank_sub(FB_BLANK_POWERDOWN, info, mfd->op_enable);