Backlight fixes for Samsung and Dell machines (rhbz 1094948 1115713)
This commit is contained in:
parent
e11b645fcd
commit
b556dbd0ad
37
acpi-video-Add-disable_native_backlight-quirk-for-Sa.patch
Normal file
37
acpi-video-Add-disable_native_backlight-quirk-for-Sa.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 9 Jan 2015 15:28:29 +0100
|
||||
Subject: [PATCH] acpi-video: Add disable_native_backlight quirk for Samsung
|
||||
730U3E/740U3E
|
||||
|
||||
The Samsung 730U3E/740U3E has integrated ATI Radeon graphics, and backlight
|
||||
control does not work properly when using the native interfaces.
|
||||
|
||||
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1094948
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/acpi/video.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index 5b9c0bae4503..998c47f6d42b 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -522,6 +522,15 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "370R4E/370R4V/370R5E/3570RE/370R5V"),
|
||||
},
|
||||
},
|
||||
+ {
|
||||
+ /* https://bugzilla.redhat.com/show_bug.cgi?id=1094948 */
|
||||
+ .callback = video_disable_native_backlight,
|
||||
+ .ident = "SAMSUNG 730U3E/740U3E",
|
||||
+ .matches = {
|
||||
+ DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
|
||||
+ DMI_MATCH(DMI_PRODUCT_NAME, "730U3E/740U3E"),
|
||||
+ },
|
||||
+ },
|
||||
|
||||
{
|
||||
/* https://bugzilla.redhat.com/show_bug.cgi?id=1163574 */
|
||||
--
|
||||
2.1.0
|
||||
|
11
kernel.spec
11
kernel.spec
@ -622,6 +622,11 @@ Patch26126: uas-Do-not-blacklist-ASM1153-disk-enclosures.patch
|
||||
Patch26127: uas-Add-US_FL_NO_ATA_1X-for-2-more-Seagate-disk-encl.patch
|
||||
Patch26128: uas-Add-no-report-opcodes-quirk-for-Simpletech-devic.patch
|
||||
|
||||
#rhbz 1115713
|
||||
Patch26129: samsung-laptop-Add-use_native_backlight-quirk-and-en.patch
|
||||
#rhbz 1094948
|
||||
Patch26131: acpi-video-Add-disable_native_backlight-quirk-for-Sa.patch
|
||||
|
||||
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
|
||||
Patch30000: kernel-arm64.patch
|
||||
|
||||
@ -1352,6 +1357,11 @@ ApplyPatch uas-Do-not-blacklist-ASM1153-disk-enclosures.patch
|
||||
ApplyPatch uas-Add-US_FL_NO_ATA_1X-for-2-more-Seagate-disk-encl.patch
|
||||
ApplyPatch uas-Add-no-report-opcodes-quirk-for-Simpletech-devic.patch
|
||||
|
||||
#rhbz 1115713
|
||||
ApplyPatch samsung-laptop-Add-use_native_backlight-quirk-and-en.patch
|
||||
#rhbz 1094948
|
||||
ApplyPatch acpi-video-Add-disable_native_backlight-quirk-for-Sa.patch
|
||||
|
||||
%if 0%{?aarch64patches}
|
||||
ApplyPatch kernel-arm64.patch
|
||||
%ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does.
|
||||
@ -2219,6 +2229,7 @@ fi
|
||||
# || ||
|
||||
%changelog
|
||||
* Mon Jan 12 2015 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- Backlight fixes for Samsung and Dell machines (rhbz 1094948 1115713)
|
||||
- Add various UAS quirks (rhbz 1124119)
|
||||
- Add patch to fix loop in VDSO (rhbz 1178975)
|
||||
|
||||
|
107
samsung-laptop-Add-use_native_backlight-quirk-and-en.patch
Normal file
107
samsung-laptop-Add-use_native_backlight-quirk-and-en.patch
Normal file
@ -0,0 +1,107 @@
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 9 Jan 2015 14:51:21 +0100
|
||||
Subject: [PATCH] samsung-laptop: Add use_native_backlight quirk, and enable it
|
||||
on some models
|
||||
|
||||
Since kernel 3.14 the backlight control has been broken on various Samsung
|
||||
Atom based netbooks. This has been bisected and this problem happens since
|
||||
commit b35684b8fa94 ("drm/i915: do full backlight setup at enable time")
|
||||
|
||||
This has been reported and discussed in detail here:
|
||||
http://lists.freedesktop.org/archives/intel-gfx/2014-July/049395.html
|
||||
|
||||
Unfortunately no-one has been able to fix this. This only affects Samsung
|
||||
Atom netbooks, and the Linux kernel and the BIOS of those laptops have never
|
||||
worked well together. All affected laptops already have a quirk to avoid using
|
||||
the standard acpi-video interface and instead use the samsung specific SABI
|
||||
interface which samsung-laptop uses. It seems that recent fixes to the i915
|
||||
driver have also broken backlight control through the SABI interface.
|
||||
|
||||
The intel_backlight driver OTOH works fine, and also allows for finer grained
|
||||
backlight control. So add a new use_native_backlight quirk, and replace the
|
||||
broken_acpi_video quirk with this quirk for affected models. This new quirk
|
||||
disables acpi-video as before and also stops samsung-laptop from registering
|
||||
the SABI based samsung_laptop backlight interface, leaving only the working
|
||||
intel_backlight interface.
|
||||
|
||||
This commit enables this new quirk for 3 models which are known to be affected,
|
||||
chances are that it needs to be used on other models too.
|
||||
|
||||
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1094948 # N145P
|
||||
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1115713 # N250P
|
||||
Reported-by: Bertrik Sikken <bertrik@sikken.nl> # N150P
|
||||
Cc: stable@vger.kernel.org # 3.16
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/platform/x86/samsung-laptop.c | 20 +++++++++++++++++---
|
||||
1 file changed, 17 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c
|
||||
index 864290243e46..477de0a9e1ee 100644
|
||||
--- a/drivers/platform/x86/samsung-laptop.c
|
||||
+++ b/drivers/platform/x86/samsung-laptop.c
|
||||
@@ -353,6 +353,7 @@ struct samsung_quirks {
|
||||
bool broken_acpi_video;
|
||||
bool four_kbd_backlight_levels;
|
||||
bool enable_kbd_backlight;
|
||||
+ bool use_native_backlight;
|
||||
};
|
||||
|
||||
static struct samsung_quirks samsung_unknown = {};
|
||||
@@ -361,6 +362,10 @@ static struct samsung_quirks samsung_broken_acpi_video = {
|
||||
.broken_acpi_video = true,
|
||||
};
|
||||
|
||||
+static struct samsung_quirks samsung_use_native_backlight = {
|
||||
+ .use_native_backlight = true,
|
||||
+};
|
||||
+
|
||||
static struct samsung_quirks samsung_np740u3e = {
|
||||
.four_kbd_backlight_levels = true,
|
||||
.enable_kbd_backlight = true,
|
||||
@@ -1507,7 +1512,7 @@ static struct dmi_system_id __initdata samsung_dmi_table[] = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "N150P"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "N150P"),
|
||||
},
|
||||
- .driver_data = &samsung_broken_acpi_video,
|
||||
+ .driver_data = &samsung_use_native_backlight,
|
||||
},
|
||||
{
|
||||
.callback = samsung_dmi_matched,
|
||||
@@ -1517,7 +1522,7 @@ static struct dmi_system_id __initdata samsung_dmi_table[] = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "N145P/N250P/N260P"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "N145P/N250P/N260P"),
|
||||
},
|
||||
- .driver_data = &samsung_broken_acpi_video,
|
||||
+ .driver_data = &samsung_use_native_backlight,
|
||||
},
|
||||
{
|
||||
.callback = samsung_dmi_matched,
|
||||
@@ -1557,7 +1562,7 @@ static struct dmi_system_id __initdata samsung_dmi_table[] = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "N250P"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "N250P"),
|
||||
},
|
||||
- .driver_data = &samsung_broken_acpi_video,
|
||||
+ .driver_data = &samsung_use_native_backlight,
|
||||
},
|
||||
{
|
||||
.callback = samsung_dmi_matched,
|
||||
@@ -1626,6 +1631,15 @@ static int __init samsung_init(void)
|
||||
pr_info("Disabling ACPI video driver\n");
|
||||
acpi_video_unregister();
|
||||
}
|
||||
+
|
||||
+ if (samsung->quirks->use_native_backlight) {
|
||||
+ pr_info("Using native backlight driver\n");
|
||||
+ /* Tell acpi-video to not handle the backlight */
|
||||
+ acpi_video_dmi_promote_vendor();
|
||||
+ acpi_video_unregister();
|
||||
+ /* And also do not handle it ourselves */
|
||||
+ samsung->handle_backlight = false;
|
||||
+ }
|
||||
#endif
|
||||
|
||||
ret = samsung_platform_init(samsung);
|
||||
--
|
||||
2.1.0
|
||||
|
Loading…
Reference in New Issue
Block a user