--- a/drivers/video/msm/msm_fb.c +++ b/drivers/video/msm/msm_fb.c @@ -1371,16 +1371,16 @@ fix->xpanstep = 1; fix->ypanstep = 1; var->vmode = FB_VMODE_NONINTERLACED; - var->blue.offset = 0; - var->green.offset = 8; - var->red.offset = 16; + var->blue.offset = 24; + var->green.offset = 16; + var->red.offset = 8; var->blue.length = 8; var->green.length = 8; var->red.length = 8; var->blue.msb_right = 0; var->green.msb_right = 0; var->red.msb_right = 0; - var->transp.offset = 24; + var->transp.offset = 0; var->transp.length = 8; bpp = 4; break; @@ -1390,16 +1390,16 @@ fix->xpanstep = 1; fix->ypanstep = 1; var->vmode = FB_VMODE_NONINTERLACED; - var->blue.offset = 8; - var->green.offset = 16; - var->red.offset = 24; + var->blue.offset = 16; + var->green.offset = 8; + var->red.offset = 0; var->blue.length = 8; var->green.length = 8; var->red.length = 8; var->blue.msb_right = 0; var->green.msb_right = 0; var->red.msb_right = 0; - var->transp.offset = 0; + var->transp.offset = 24; var->transp.length = 8; bpp = 4; break; @@ -2290,15 +2290,15 @@ /* Figure out if the user meant RGBA or ARGB and verify the position of the RGB components */ - if (var->transp.offset == 24) { - if ((var->blue.offset != 0) || - (var->green.offset != 8) || - (var->red.offset != 16)) - return -EINVAL; - } else if (var->transp.offset == 0) { - if ((var->blue.offset != 8) || + if (var->transp.offset == 0) { + if ((var->blue.offset != 24) || (var->green.offset != 16) || - (var->red.offset != 24)) + (var->red.offset != 8)) + return -EINVAL; + } else if (var->transp.offset == 24) { + if ((var->blue.offset != 16) || + (var->green.offset != 8) || + (var->red.offset != 0)) return -EINVAL; } else return -EINVAL; @@ -2395,7 +2395,7 @@ break; case 32: - if (var->transp.offset == 24) + if (var->transp.offset == 0) mfd->fb_imgType = MDP_ARGB_8888; else mfd->fb_imgType = MDP_RGBA_8888;