From 46eff17884a489237951994e5f1b274627913a38 Mon Sep 17 00:00:00 2001 From: Tobias Powalowski Date: Sun, 24 Jun 2012 17:48:49 +0000 Subject: [PATCH] fix backlight and nouveau --- 3.4.4-fix-backlight-regression.patch | 38 +++++++++++++++++++++ 3.4.4-fix-gtx560ti-nouveau-regression.patch | 20 +++++++++++ PKGBUILD | 18 ++++++++-- linux.install | 2 +- 4 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 3.4.4-fix-backlight-regression.patch create mode 100644 3.4.4-fix-gtx560ti-nouveau-regression.patch diff --git a/3.4.4-fix-backlight-regression.patch b/3.4.4-fix-backlight-regression.patch new file mode 100644 index 0000000..a0cf0b1 --- /dev/null +++ b/3.4.4-fix-backlight-regression.patch @@ -0,0 +1,38 @@ +Subject: Still use ACPI backlight control if _DOS doesn't exist + +This is a regression introduced by commit +ea9f8856bd6d4ed45885b06a338f7362cd6c60e5 + +https://bugzilla.kernel.org/show_bug.cgi?id=43168 + +Some platforms don't have _DOS control method, but the ACPI +backlight still works. +We do not want to lose the backlight control ability on these platforms. + +CC : Igor Murzov +Signed-off-by: Zhang Rui +--- + drivers/acpi/video.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +Index: rtd3/drivers/acpi/video.c +=================================================================== +--- rtd3.orig/drivers/acpi/video.c ++++ rtd3/drivers/acpi/video.c +@@ -565,8 +565,14 @@ acpi_video_bus_DOS(struct acpi_video_bus + video->dos_setting = arg0.integer.value; + status = acpi_evaluate_object(video->device->handle, "_DOS", + &args, NULL); +- if (ACPI_FAILURE(status)) +- return -EIO; ++ if (ACPI_FAILURE(status)) { ++ /* ++ * some platforms don't have _DOS, but the ACPI ++ * backlight control still works ++ */ ++ ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No _DOS\n")); ++ return 0; ++ } + + return 0; + } diff --git a/3.4.4-fix-gtx560ti-nouveau-regression.patch b/3.4.4-fix-gtx560ti-nouveau-regression.patch new file mode 100644 index 0000000..1b70e91 --- /dev/null +++ b/3.4.4-fix-gtx560ti-nouveau-regression.patch @@ -0,0 +1,20 @@ +Revert change to include/drm/drm_fb_helper.h made in commit 4f988d132d2668b4f3b42bfc70daa531115ccca1 + + include/drm/drm_fb_helper.h | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h +index 55e10d6..5120b01 100644 +--- a/include/drm/drm_fb_helper.h ++++ b/include/drm/drm_fb_helper.h +@@ -35,6 +35,7 @@ struct drm_fb_helper; + #include + + struct drm_fb_helper_crtc { ++ uint32_t crtc_id; + struct drm_mode_set mode_set; + struct drm_display_mode *desired_mode; + }; +-- +1.7.6.5 + diff --git a/PKGBUILD b/PKGBUILD index b5b1c85..d4ae73e 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -8,7 +8,7 @@ pkgname=('linux' 'linux-headers' 'linux-docs') # Build stock -ARCH kernel _kernelname=${pkgname#linux} _basekernel=3.4 pkgver=${_basekernel}.4 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://www.kernel.org/" license=('GPL2') @@ -22,7 +22,9 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.tar.xz" "${pkgname}.preset" 'fix-acerhdf-1810T-bios.patch' 'change-default-console-loglevel.patch' - 'i915-fix-ghost-tv-output.patch') + 'i915-fix-ghost-tv-output.patch' + '3.4.4-fix-backlight-regression.patch' + '3.4.4-fix-gtx560ti-nouveau-regression.patch') md5sums=('967f72983655e2479f951195953e8480' '58e6672d932d74d5e2b6811b9d37d67c' '3f2c307c8ffae67f60c13ef69af8364a' @@ -30,7 +32,9 @@ md5sums=('967f72983655e2479f951195953e8480' 'eb14dcfd80c00852ef81ded6e826826a' '38c1fd4a1f303f1f6c38e7f082727e2f' '9d3c56a4b999c8bfbd4018089a62f662' - '263725f20c0b9eb9c353040792d644e5') + '263725f20c0b9eb9c353040792d644e5' + '80a46681386bb87813989faeb92bdd9a' + '827ffd855dc8b0c91577545c5804c19f') build() { cd "${srcdir}/linux-${_basekernel}" @@ -50,6 +54,14 @@ build() { # needed. patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch" + # Fix backlight control on some laptops: + # https://bugzilla.kernel.org/show_bug.cgi?id=43168 + patch -Np1 -i "${srcdir}/3.4.4-fix-backlight-regression.patch" + + # fix nouveau regression + # Arch Linux bug report: FS#30417 + patch -Np1 -i "${srcdir}/3.4.4-fix-gtx560ti-nouveau-regression.patch" + # Patch submitted upstream, waiting for inclusion: # https://lkml.org/lkml/2012/2/19/51 # add support for latest bios of Acer 1810T acerhdf module diff --git a/linux.install b/linux.install index 0aa038f..1fe6e5e 100644 --- a/linux.install +++ b/linux.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.4.4-1-ARCH +KERNEL_VERSION=3.4.4-2-ARCH # set a sane PATH to ensure that critical utils like depmod will be found export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'