]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
video: mmp: calculate pitch value when fb set win
authorJing Xiang <jxiang@marvell.com>
Fri, 13 Sep 2013 06:59:48 +0000 (14:59 +0800)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 20 Sep 2013 09:52:33 +0000 (12:52 +0300)
Add new func mmpfb_set_win to make code clean, it will do resolution
and fmt setting of win in mmpfb_set_win.

Signed-off-by: Jing Xiang <jxiang@marvell.com>
Signed-off-by: Jett.Zhou <jtzhou@marvell.com>
Signed-off-by: Zhou Zhu <zzhu3@marvell.com>
Reviewed-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/mmp/fb/mmpfb.c

index 4ab95b8daed31fbf191523d862f668697806d502..19fd913f462dec2849ce1a66232f96f74a0ce659 100644 (file)
@@ -392,12 +392,23 @@ static int var_update(struct fb_info *info)
        return 0;
 }
 
+static void mmpfb_set_win(struct fb_info *info)
+{
+       struct mmpfb_info *fbi = info->par;
+       struct mmp_win win;
+
+       memset(&win, 0, sizeof(win));
+       win.xsrc = win.xdst = fbi->mode.xres;
+       win.ysrc = win.ydst = fbi->mode.yres;
+       win.pix_fmt = fbi->pix_fmt;
+       mmp_overlay_set_win(fbi->overlay, &win);
+}
+
 static int mmpfb_set_par(struct fb_info *info)
 {
        struct mmpfb_info *fbi = info->par;
        struct fb_var_screeninfo *var = &info->var;
        struct mmp_addr addr;
-       struct mmp_win win;
        struct mmp_mode mode;
        int ret;
 
@@ -409,11 +420,8 @@ static int mmpfb_set_par(struct fb_info *info)
        fbmode_to_mmpmode(&mode, &fbi->mode, fbi->output_fmt);
        mmp_path_set_mode(fbi->path, &mode);
 
-       memset(&win, 0, sizeof(win));
-       win.xsrc = win.xdst = fbi->mode.xres;
-       win.ysrc = win.ydst = fbi->mode.yres;
-       win.pix_fmt = fbi->pix_fmt;
-       mmp_overlay_set_win(fbi->overlay, &win);
+       /* set window related info */
+       mmpfb_set_win(info);
 
        /* set address always */
        memset(&addr, 0, sizeof(addr));
@@ -427,16 +435,12 @@ static int mmpfb_set_par(struct fb_info *info)
 static void mmpfb_power(struct mmpfb_info *fbi, int power)
 {
        struct mmp_addr addr;
-       struct mmp_win win;
        struct fb_var_screeninfo *var = &fbi->fb_info->var;
 
        /* for power on, always set address/window again */
        if (power) {
-               memset(&win, 0, sizeof(win));
-               win.xsrc = win.xdst = fbi->mode.xres;
-               win.ysrc = win.ydst = fbi->mode.yres;
-               win.pix_fmt = fbi->pix_fmt;
-               mmp_overlay_set_win(fbi->overlay, &win);
+               /* set window related info */
+               mmpfb_set_win(fbi->fb_info);
 
                /* set address always */
                memset(&addr, 0, sizeof(addr));