Skip to content
Snippets Groups Projects
Commit b48e0246 authored by Dolphin von Chips's avatar Dolphin von Chips
Browse files

samsung-j1mini3g: fix some screen issues

parent bfd3d1eb
No related branches found
No related tags found
No related merge requests found
......@@ -20,5 +20,4 @@ package() {
}
sha512sums="b4f8b3f7381d98a3974551ee3b73734bbdbdba13663a279b42a5056bccb182f6f616e9d49c14b6a4526effea18fbf11596e2695781feca4f0be6af6859bc1253 deviceinfo
46c58ff11a1f6cecc3f450f462c9a2b01d2a651f933a796c8a9c2e72f5fba0a0fe876429b5e7dad2fbc64fb056150d56929cd932b39053bed64b389c825bac0d initfs-hook.sh"
sha512sums="c7a776a9d266faede1c79f5c2f8159aa60d1ab2acb3920050dc4355034ebf26ce06856b7d96a0205c773dcdf09c513fc78c50f7fa8050939d1ad8be6a11967e2 deviceinfo"
......@@ -3,7 +3,7 @@
pkgname="linux-samsung-j1mini3g"
pkgver=3.10.106
pkgrel=0
pkgrel=1
pkgdesc="Samsung Galaxy J1 mini kernel fork"
arch="armv7"
_carch="arm"
......@@ -27,6 +27,8 @@ source="
gcc7-give-up-on-ilog2-const-optimizations.patch
gcc8-fix-put-user.patch
fix-dts.patch
sprdfb-fix-swapped-colors.patch
sprdfb-check-for-buffering.patch
"
builddir="$srcdir/${_repository}-${_commit}"
......@@ -69,7 +71,9 @@ package() {
}
sha512sums="f1686df6ee6e1f24c6460295c830b67b2146ab5b34ead2291fa92c3f83ba12884db875b0c6e31ff305ff64a82636648ee237c13f09c99e158449457285352388 linux-samsung-j1mini3g-6a377f7c43a84b578df39300dcce9fb9cb387a21.tar.gz
6828c7c82b11f98bfc185b50c186922ca555026a2c648cfd460a5262f879e278f32aa467b8bdfdca2827d7f0c8fc9342a859b105fa76ea9345ff640b2064cd26 config-samsung-j1mini3g.armhf
6828c7c82b11f98bfc185b50c186922ca555026a2c648cfd460a5262f879e278f32aa467b8bdfdca2827d7f0c8fc9342a859b105fa76ea9345ff640b2064cd26 config-samsung-j1mini3g.armv7
77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
a4c04f8f0bd70ab8090faf08fe17592fe275a6be6d5a052f3dc3405062b8d11f08aba637d2ca5cecefcfecf64738a1e1704042ef747ecbef845579dba9b43b5d fix-dts.patch"
a4c04f8f0bd70ab8090faf08fe17592fe275a6be6d5a052f3dc3405062b8d11f08aba637d2ca5cecefcfecf64738a1e1704042ef747ecbef845579dba9b43b5d fix-dts.patch
6836001b24508d413a059f19b0c6f6f547037f68886c22159ad51be91d1a089e3d1d9ed79c3c62724648df7f810cd81d96a83f4a34368b373524b649e5539656 sprdfb-fix-swapped-colors.patch
e33ed12de874c1c8bc9231aea3b0389b18ee0ff804e39c0f47d9cbf657ea19015370d6114846c2d142fbdb88f472f0e65811c53b9b335feb8ae2f30dffdf4846 sprdfb-check-for-buffering.patch"
sprdfb_check_var() has two problems:
I) it is not buffering-aware, which all Spreadtrum devices use;
II) it checks values that are already in yres_virtual, not those that we
are trying to overwrite.
Those problems stop X11 and charging-sdl from working properly.
X11 error:
(EE) FBDEV(0): FBIOPUT_VSCREENINFO: Invalid argument
This patch fixes first problem, however, the correct way is fixing
the second one, as this might have less side effects.
diff --git a/drivers/video/sprdfb/sprdfb_main.c b/drivers/video/sprdfb/sprdfb_main.c
index 43876285..751616a1 100644
--- a/drivers/video/sprdfb/sprdfb_main.c
+++ b/drivers/video/sprdfb/sprdfb_main.c
@@ -531,7 +531,8 @@ static int sprdfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fb)
if ((var->xres != fb->var.xres) ||
(var->yres != fb->var.yres) ||
(var->xres_virtual != fb->var.xres_virtual) ||
- (var->yres_virtual != fb->var.yres_virtual) ||
+ // (var->yres_virtual != fb->var.yres_virtual) ||
+ (fb->var.yres_virtual % var->yres_virtual != 0) ||
(var->xoffset != fb->var.xoffset) ||
#ifndef BIT_PER_PIXEL_SURPPORT
(var->bits_per_pixel != fb->var.bits_per_pixel) ||
By default, color channels on Spreadtrum devices are swapped. This patch makes kernel use BGR565, which has normal color channels.
diff --git a/drivers/video/sprdfb/sprdfb_main.c b/drivers/video/sprdfb/sprdfb_main.c
index 3e6c70d..80fceb9 100644
--- a/drivers/video/sprdfb/sprdfb_main.c
+++ b/drivers/video/sprdfb/sprdfb_main.c
@@ -51,7 +51,7 @@ enum{
SPRD_IN_DATA_TYPE_LIMIT
};
-#define SPRDFB_IN_DATA_TYPE SPRD_IN_DATA_TYPE_ABGR888
+#define SPRDFB_IN_DATA_TYPE SPRD_IN_DATA_TYPE_BGR565
#ifdef CONFIG_FB_TRIPLE_FRAMEBUFFER
#define FRAMEBUFFER_NR (3)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment