diff options
author | Jason Chen <b02280@freescale.com> | 2010-06-29 11:28:55 +0800 |
---|---|---|
committer | Jason Chen <b02280@freescale.com> | 2010-06-29 11:28:55 +0800 |
commit | cb6f81cd3547dc70aba11137002c486d737f1469 (patch) | |
tree | c3d285fba80fbc634acedc58dc558cbdc319d093 /drivers | |
parent | 9eb6b19b69d6c88c8e07d2deeeff4c1561b7919f (diff) |
ENGR00124719 ipuv3 fb: pan display for special format
If set fb's fmt to I420, pan display will get wrong result.
Signed-off-by: Jason Chen <b02280@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/mxc/mxc_ipuv3_fb.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c index cc119b1a507c..4f76cb819d36 100644 --- a/drivers/video/mxc/mxc_ipuv3_fb.c +++ b/drivers/video/mxc/mxc_ipuv3_fb.c @@ -202,10 +202,12 @@ static int _setup_disp_channel2(struct fb_info *fbi) int fb_stride; switch (bpp_to_pixfmt(fbi)) { - case V4L2_PIX_FMT_YUV420: - case V4L2_PIX_FMT_YVU420: - case V4L2_PIX_FMT_NV12: - case V4L2_PIX_FMT_YUV422P: + case IPU_PIX_FMT_YUV420P2: + case IPU_PIX_FMT_YVU420P: + case IPU_PIX_FMT_NV12: + case IPU_PIX_FMT_YUV422P: + case IPU_PIX_FMT_YVU422P: + case IPU_PIX_FMT_YUV420P: fb_stride = fbi->var.xres_virtual; break; default: @@ -1142,7 +1144,7 @@ mxcfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) return -EINVAL; base = (var->yoffset * var->xres_virtual + var->xoffset); - base *= (var->bits_per_pixel) / 8; + base = (var->bits_per_pixel) * base / 8; base += info->fix.smem_start; dev_dbg(info->device, "Updating SDC %s buf %d address=0x%08lX\n", |