xiaomi-olive: FDE support (MR 4323)

Fixed framebuffer red and blue colors swap and
added FDE support with unl0kr.

[ci:skip-build]: Already built successfully in CI
This commit is contained in:
kravandir 2023-08-11 17:50:22 +04:00 committed by Dylan Van Assche
parent 66af27a144
commit 6e5122f018
No known key found for this signature in database
GPG key ID: 8642571587897EA1
4 changed files with 52 additions and 2 deletions

View file

@ -0,0 +1,2 @@
[quirks]
fbdev_force_refresh=true

View file

@ -2,7 +2,7 @@
pkgname=device-xiaomi-olive
pkgdesc="Xiaomi Redmi 8"
pkgver=0.1
pkgrel=0
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@ -16,6 +16,7 @@ makedepends="devicepkg-dev"
source="
deviceinfo
etc-lightdm-lightdm.conf
10-unl0kr.conf
"
subpackages="
@ -29,6 +30,10 @@ build() {
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/10-unl0kr.conf \
"$pkgdir"/etc/unl0kr.conf.d/10-unl0kr.conf
}
nonfree_firmware() {
@ -51,4 +56,5 @@ fix_lightdm() {
sha512sums="
9eb972182d4cdc5af52250dc89b96a3a3611c8cf3de5ca9979647ac282f3f55b8663b2270badccb164ed2b941f747b8221730d9882ec2991fb8196bae3e32b61 deviceinfo
861270c6bc0b2a3e6cd389c21c8c895e62de8cf8bec6fcf23c178f8cbaae855d62b0ee98692671ab4f518d84cb43dd0b2fe46f5a609f65af6a6c06e0fdbb6d0c etc-lightdm-lightdm.conf
f700af3145b79d1ef9edfb22982899b25cabfb212f9620dcbd3a2e6f44b5ad591e0a66056c6fcd66c3fde89a2b5f551e8a8fe2e65cf0e2a48adec57c027d7825 10-unl0kr.conf
"

View file

@ -0,0 +1,40 @@
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
index 2c7e09a6e291..b69ba2956b02 100644
--- a/drivers/video/fbdev/msm/mdss_fb.c
+++ b/drivers/video/fbdev/msm/mdss_fb.c
@@ -1556,7 +1556,8 @@ static int mdss_fb_probe(struct platform_device *pdev)
mfd->bl_scale = 1024;
mfd->bl_min_lvl = 30;
mfd->ad_bl_level = 0;
- mfd->fb_imgType = MDP_RGBA_8888;
+ // Default framebuffer format.
+ mfd->fb_imgType = MDP_BGRA_8888;
mfd->calib_mode_bl = 0;
mfd->unset_bl_level = U32_MAX;
mfd->bl_extn_level = -1;
@@ -2992,6 +2993,25 @@ static int mdss_fb_register(struct msm_fb_data_type *mfd)
bpp = 4;
break;
+ case MDP_BGRA_8888:
+ fix->type = FB_TYPE_PACKED_PIXELS;
+ 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.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.length = 8;
+ bpp = 4;
+ break;
+
case MDP_YCRYCB_H2V1:
fix->type = FB_TYPE_INTERLEAVED_PLANES;
fix->xpanstep = 2;

View file

@ -3,7 +3,7 @@
pkgname=linux-xiaomi-olive
pkgver=4.9.337
pkgrel=0
pkgrel=1
pkgdesc="Xiaomi Redmi 8 kernel"
arch="aarch64"
_carch="arm64"
@ -32,6 +32,7 @@ source="
00_fix_mdp3_ctrl_off.patch
01_fix_fbioput.patch
02-fix-xorg-mdss-update-fb-info.patch
03_framebuffer.patch
"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"
@ -62,4 +63,5 @@ fb1c6eea21b075eaa20b95c63b18988315686b42e455c396c16ab782f6fc4edf80def5256a087b75
e0eb25aec61dd342c0ccdc0d5afc3626416089ffbe797b57d134dd62036cc6285dda24e16e6b82f1c8dedce8bd5fd034e38f67b811362c67f13290114f58de18 00_fix_mdp3_ctrl_off.patch
62c49b71f7570e23ac7cbf9be25dcddeb7957484b342e9010b8e7a0ae1a785c7db1803ca87970f7fcdd62c6eb3a0117a7ebc6bb773a793973a9218dcc389cd8b 01_fix_fbioput.patch
be8852fe5ae159ed6e22845d3c4d7b9b4fb2a27dd0a60cecf9daa615ac461af8975186f4445842a3cff888011d91d8b913b3c8f922e36fbec50ec3dfeb95eda7 02-fix-xorg-mdss-update-fb-info.patch
29ef1f5c52ad6982b24bb141178078338e638673c48e155edffb46b1472a6cc004ec2cc8fe86e47566c718352505c817efe1066c6bf703ea6e7b8a69a0eb1ddc 03_framebuffer.patch
"