sony-yuga: fix red screen issue (MR 2615)
[ci:skip-build] Already built on CI in MR
This commit is contained in:
parent
d552491a24
commit
b013e54b07
2 changed files with 82 additions and 1 deletions
|
@ -6,7 +6,7 @@
|
|||
|
||||
pkgname=linux-sony-yuga
|
||||
pkgver=3.4.0
|
||||
pkgrel=13
|
||||
pkgrel=14
|
||||
pkgdesc="Sony Xperia Z kernel fork"
|
||||
arch="armv7"
|
||||
_carch="arm"
|
||||
|
@ -40,6 +40,7 @@ source="
|
|||
kgsl_iommu_sync_lock.patch
|
||||
02_reduce_lzo_compression.patch
|
||||
proc_fdinfo.patch
|
||||
fix-video-argb-setting.patch
|
||||
"
|
||||
builddir="$srcdir/$_repository-$_commit"
|
||||
_outdir="out"
|
||||
|
@ -72,4 +73,5 @@ f7e31cfe422696922aec52002e56c58103183966edee3bb8e1995d33f8d37b07c32280a8ecc21387
|
|||
448bad436377a22c93ac401b9aecb504fe8e84b9511a3dd28f3cc125f3725cc1168ef03dee9f8f1085a9fbb7910b9e75cd25a382ccce626b427c8e27f7c17ffc kgsl_iommu_sync_lock.patch
|
||||
ef5b912c26fea4ab882592bdf7487942c64b123de8d25d08d976f29743f311742ee2f773bf2d110ddb5095f254dbb0bd4487c5cfce77311929082599199e7ebd 02_reduce_lzo_compression.patch
|
||||
93f7870b2063d4ddb1f35dc4de4b213d83e0f54f59511b3050e880763f2374b3816ac0c879de76fe8a0b61d62c1753c5dda7326961164a8fcbfc8a9232309569 proc_fdinfo.patch
|
||||
375434953b582eb2911a976abe03f86822f469f4fa2463d880b83a35f2209e3dfb0b6bb931f2330df831ee2122da4e73e927499e94ed61fa1bd188778a8c17b7 fix-video-argb-setting.patch
|
||||
"
|
||||
|
|
79
device/testing/linux-sony-yuga/fix-video-argb-setting.patch
Normal file
79
device/testing/linux-sony-yuga/fix-video-argb-setting.patch
Normal file
|
@ -0,0 +1,79 @@
|
|||
diff --git a/drivers/video/msm/msm_fb.c b/drivers/video/msm/msm_fb.c
|
||||
index 448cf1d2839..2b9e9675da5 100644
|
||||
--- a/drivers/video/msm/msm_fb.c
|
||||
+++ b/drivers/video/msm/msm_fb.c
|
||||
@@ -1459,16 +1459,16 @@ static int msm_fb_register(struct msm_fb_data_type *mfd)
|
||||
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;
|
||||
@@ -1478,16 +1478,16 @@ static int msm_fb_register(struct msm_fb_data_type *mfd)
|
||||
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;
|
||||
@@ -2357,15 +2357,15 @@ static int msm_fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
||||
/* 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;
|
||||
@@ -2462,7 +2462,7 @@ static int msm_fb_set_par(struct fb_info *info)
|
||||
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;
|
Loading…
Reference in a new issue