samsung-j6primelte: "Fix" EINVAL on FBIOPUT_VSCREENINFO (MR 3466)

This isn't really a fix, but the device's framebuffer has only one mode and it's enough to get Xorg up and running.

[ci:skip-build]: already built successfully in CI
This commit is contained in:
omame 2022-09-26 15:29:41 +02:00 committed by Oliver Smith
parent 2f63bc3ca7
commit 6156f79976
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
2 changed files with 44 additions and 2 deletions

View file

@ -2,7 +2,7 @@
# Maintainer: omame <me@omame.xyz>
pkgname=linux-samsung-j6primelte
pkgver=3.18.124
pkgrel=3
pkgrel=4
pkgdesc="Samsung Galaxy J6+ kernel (LineageOS 18.1)"
arch="armv7"
_carch="arm"
@ -28,7 +28,8 @@ source="
$pkgname-$_commit.tar.gz::https://github.com/samsung-msm8937-devs/$_repository/archive/$_commit.tar.gz
$_config
gcc10-extern_YYLOC_global_declaration.patch
samsung_defex_lsm_use_relative_path.patch"
samsung_defex_lsm_use_relative_path.patch
fix_framebuffer_invalid_argument.patch"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"
@ -56,4 +57,5 @@ c321711852dfdbc1b36cb507c57e11fb72d3bef2f62d99b1ee84939eaf6b34bb8821a85afaaf0a24
8dcda81717d0464041dcb6c8d3786b1577ddd848e36bb0eccc17545b2a5d60e5dc42e3ece77d66aa9c51790417f1b7148273f919d490cfa4ed6b270df8aed5f6 config-samsung-j6primelte.armv7
2b48f1bf0e3f70703d2cdafc47d5e615cc7c56c70bec56b2e3297d3fa4a7a1321d649a8679614553dde8fe52ff1051dae38d5990e3744c9ca986d92187dcdbeb gcc10-extern_YYLOC_global_declaration.patch
1be8126e7a3e38827536eb5dc22fce6a713322a1e564abaac571a240844f13d8fde7f9e5d0b4c803c2a2f9fef9d2d35b3a57448a944270cc8f105112ee65acb9 samsung_defex_lsm_use_relative_path.patch
28de7c1a4c386b1db4c5660ee686992aae6fea5fb4740c3bf327157e1093e0521c255ebd07ea226c1b4248004a35ab5ed022317d8fdac4e053d0b361827e768b fix_framebuffer_invalid_argument.patch
"

View file

@ -0,0 +1,40 @@
From: omame <me@omame.xyz>
Subject: [PATCH] samsung-j6primelte: "Fix" EINVAL on FBIOPUT_VSCREENINFO
This isn't really a fix, but the device's framebuffer has only one mode and it's enough to get Xorg up and running.
---
drivers/video/msm/mdss/mdss_fb.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/video/msm/mdss/mdss_fb.c b/drivers/video/msm/mdss/mdss_fb.c
index 9755534da948..5b7d900e36b9 100644
--- a/drivers/video/msm/mdss/mdss_fb.c
+++ b/drivers/video/msm/mdss/mdss_fb.c
@@ -3995,13 +3995,13 @@ static int mdss_fb_check_var(struct fb_var_screeninfo *var,
if (var->yoffset > (var->yres_virtual - var->yres))
return -EINVAL;
- if (info->mode) {
+ /* if (info->mode) {
const struct fb_videomode *mode;
mode = fb_match_mode(var, &info->modelist);
if (mode == NULL)
return -EINVAL;
- } else if (mfd->panel_info && !(var->activate & FB_ACTIVATE_TEST)) {
+ } else */ if (mfd->panel_info && !(var->activate & FB_ACTIVATE_TEST)) {
struct mdss_panel_info *panel_info;
int rc;
panel_info = kzalloc(sizeof(struct mdss_panel_info),
@@ -4148,7 +4148,7 @@ static int mdss_fb_set_par(struct fb_info *info)
mode = fb_match_mode(var, &info->modelist);
if (!mode)
- return -EINVAL;
+ mode = info->mode;
pr_debug("found mode: %s\n", mode->name);
--
2.37.3