16e73360dc
This commit adds support for the Alcatel OneTouch Pop 7S (pop7lte), a 2014 MSM8226-based tablet, using manufacturer's downstream kernel. Currently working: display, USB networking, Weston Firmware is packaged for WiFi and audio but the downstream kernel tree doesn't seem to include drivers for the qcom wlan chip, only wcnss. Additionally, audio mixer config is missing as I haven't been able to find it in the stock Android 4.2.x ROM's filesystem yet. Please note that this commit adds support *only* for model P330X, which is not to be confused with similarly-named incompatible devices, the Pop 7 (also 2014 w/ MT8312) and the Pop 7 LTE (2016 w/ MSM8909). Signed-off-by: Lauren Kelly <lauren.kelly@msn.com>
91 lines
2.7 KiB
Diff
91 lines
2.7 KiB
Diff
From a23d549c51e38ad9fc481859326a786bc00baad8 Mon Sep 17 00:00:00 2001
|
|
From: Federico Amedeo Izzo <federico.izzo42@gmail.com>
|
|
Date: Fri, 22 Mar 2019 19:37:07 +0100
|
|
Subject: [PATCH] fix video argb setting
|
|
|
|
---
|
|
drivers/video/msm/mdss/mdss_fb.c | 34 ++++++++++++++++----------------
|
|
1 file changed, 17 insertions(+), 17 deletions(-)
|
|
|
|
diff --git a/drivers/video/msm/mdss/mdss_fb.c b/drivers/video/msm/mdss/mdss_fb.c
|
|
index 835f6fc9687..a598cbd72dc 100644
|
|
--- a/drivers/video/msm/mdss/mdss_fb.c
|
|
+++ b/drivers/video/msm/mdss/mdss_fb.c
|
|
@@ -1767,16 +1767,16 @@ static int mdss_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;
|
|
@@ -1786,16 +1786,16 @@ static int mdss_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;
|
|
@@ -2723,15 +2723,15 @@ static int mdss_fb_check_var(struct fb_var_screeninfo *var,
|
|
/* 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;
|
|
@@ -2821,7 +2821,7 @@ static int mdss_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;
|
|
--
|
|
2.21.0
|
|
|