summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2018-03-23 13:47:35 +0000
committerAlexandre Oliva <lxoliva@fsfla.org>2018-03-23 13:47:35 +0000
commitf40af6ff9f6fd55531e328c7669bb1fe02ef8ebf (patch)
treebc64d7f20200b6d213c3cca26df82085933e6f9f
parentd4daab05b47939a513f5261589ec501010afd7a8 (diff)
downloadlinux-libre-raptor-f40af6ff9f6fd55531e328c7669bb1fe02ef8ebf.tar.gz
linux-libre-raptor-f40af6ff9f6fd55531e328c7669bb1fe02ef8ebf.zip
4.15.12-301.fc27.gnu
-rw-r--r--freed-ora/current/f27/drm-nouveau-bl-fix-backlight-regression.patch68
-rw-r--r--freed-ora/current/f27/kernel.spec65
2 files changed, 79 insertions, 54 deletions
diff --git a/freed-ora/current/f27/drm-nouveau-bl-fix-backlight-regression.patch b/freed-ora/current/f27/drm-nouveau-bl-fix-backlight-regression.patch
new file mode 100644
index 000000000..632810860
--- /dev/null
+++ b/freed-ora/current/f27/drm-nouveau-bl-fix-backlight-regression.patch
@@ -0,0 +1,68 @@
+From 9e75dc61eaa9acd1bff83c3b814ac2af6dc1f64c Mon Sep 17 00:00:00 2001
+Message-Id: <9e75dc61eaa9acd1bff83c3b814ac2af6dc1f64c.1521737559.git.jeremy@jcline.org>
+From: Karol Herbst <kherbst@redhat.com>
+Date: Mon, 19 Feb 2018 17:09:45 +0100
+Subject: [PATCH] drm/nouveau/bl: fix backlight regression
+
+Fixes: 3c66c87dc9 ("drm/nouveau/disp: remove hw-specific customisation
+of output paths")
+Suggested-by: Ben Skeggs <skeggsb@redhat.com>
+Signed-off-by: Karol Herbst <kherbst@redhat.com>
+Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+Signed-off-by: Jeremy Cline <jeremy@jcline.org>
+---
+ drivers/gpu/drm/nouveau/nouveau_backlight.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c
+index f56f60f695e1..debbbf0fd4bd 100644
+--- a/drivers/gpu/drm/nouveau/nouveau_backlight.c
++++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c
+@@ -134,7 +134,7 @@ nv50_get_intensity(struct backlight_device *bd)
+ struct nouveau_encoder *nv_encoder = bl_get_data(bd);
+ struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev);
+ struct nvif_object *device = &drm->client.device.object;
+- int or = nv_encoder->or;
++ int or = ffs(nv_encoder->dcb->or) - 1;
+ u32 div = 1025;
+ u32 val;
+
+@@ -149,7 +149,7 @@ nv50_set_intensity(struct backlight_device *bd)
+ struct nouveau_encoder *nv_encoder = bl_get_data(bd);
+ struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev);
+ struct nvif_object *device = &drm->client.device.object;
+- int or = nv_encoder->or;
++ int or = ffs(nv_encoder->dcb->or) - 1;
+ u32 div = 1025;
+ u32 val = (bd->props.brightness * div) / 100;
+
+@@ -170,7 +170,7 @@ nva3_get_intensity(struct backlight_device *bd)
+ struct nouveau_encoder *nv_encoder = bl_get_data(bd);
+ struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev);
+ struct nvif_object *device = &drm->client.device.object;
+- int or = nv_encoder->or;
++ int or = ffs(nv_encoder->dcb->or) - 1;
+ u32 div, val;
+
+ div = nvif_rd32(device, NV50_PDISP_SOR_PWM_DIV(or));
+@@ -188,7 +188,7 @@ nva3_set_intensity(struct backlight_device *bd)
+ struct nouveau_encoder *nv_encoder = bl_get_data(bd);
+ struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev);
+ struct nvif_object *device = &drm->client.device.object;
+- int or = nv_encoder->or;
++ int or = ffs(nv_encoder->dcb->or) - 1;
+ u32 div, val;
+
+ div = nvif_rd32(device, NV50_PDISP_SOR_PWM_DIV(or));
+@@ -228,7 +228,7 @@ nv50_backlight_init(struct drm_connector *connector)
+ return -ENODEV;
+ }
+
+- if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(nv_encoder->or)))
++ if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(ffs(nv_encoder->dcb->or) - 1)))
+ return 0;
+
+ if (drm->client.device.info.chipset <= 0xa0 ||
+--
+2.16.2
+
diff --git a/freed-ora/current/f27/kernel.spec b/freed-ora/current/f27/kernel.spec
index 080baf3d4..b905399cb 100644
--- a/freed-ora/current/f27/kernel.spec
+++ b/freed-ora/current/f27/kernel.spec
@@ -42,7 +42,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 300
+%global baserelease 301
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -715,6 +715,9 @@ Patch662: mm-khugepaged-Convert-VM_BUG_ON-to-collapse-fail.patch
# CVE-2017-18232 rhbz 1558066 1558067
Patch663: 0001-scsi-libsas-direct-call-probe-and-destruct.patch
+# rhbz 1511786
+Patch 664: drm-nouveau-bl-fix-backlight-regression.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1498,57 +1501,8 @@ BuildKernel() {
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
- # the full copy of scripts also copies a bunch of binaries which ends
- # up screwing the debuginfo. It's just easier to remove them.
- if [ -f scripts/asn1_compiler ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/asn1_compiler
- fi
- if [ -f scripts/sign-file ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/sign-file
- fi
- if [ -f scripts/extract-cert ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/extract-cert
- fi
- if [ -f scripts/pnmtologo ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/pnmtologo
- fi
- if [ -f scripts/unifdef ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/unifdef
- fi
- if [ -f scripts/sortextable ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/sortextable
- fi
- if [ -f scripts/basic/fixdep ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/basic/fixdep
- fi
- if [ -f scripts/recordmcount ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/recordmcount
- fi
- if [ -f scripts/conmakehash ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/conmakehash
- fi
- if [ -f scripts/kallsyms ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/kallsyms
- fi
- if [ -f scripts/basic/bin2c ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/basic/bin2c
- fi
- if [ -f scripts/mod/mk_elfconfig ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/mod/mk_elfconfig
- fi
- if [ -f scripts/mod/modpost ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/mod/modpost
- fi
- if [ -f scripts/kconfig/conf ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/kconfig/conf
- fi
- if [ -f scripts/selinux/mdp/mdp ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/selinux/mdp/mdp
- fi
- if [ -f scripts/selinux/genheaders/genheaders ]; then
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/selinux/genheaders/genheaders
- fi
if [ -f tools/objtool/objtool ]; then
+ cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || :
# these are a few files associated with objtool
cp -a --parents tools/build/Build.include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents tools/build/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
@@ -1556,9 +1510,6 @@ BuildKernel() {
cp -a --parents tools/scripts/utilities.mak $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
# also more than necessary but it's not that many more files
cp -a --parents tools/objtool/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
- # these can be rebuilt
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/fixdep
- rm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/objtool
cp -a --parents tools/lib/str_error_r.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents tools/lib/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents tools/lib/subcmd/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
@@ -2106,6 +2057,12 @@ fi
#
#
%changelog
+* Thu Mar 22 2018 Laura Abbott <labbott@redhat.com> - 4.15.12-301
+- Rebuild for kernel-devel fix
+
+* Thu Mar 22 2018 Jeremy Cline <jeremy@jcline.org>
+- Fix for nouveau backlight regression (rhbz 1511786)
+
* Wed Mar 21 2018 Alexandre Oliva <lxoliva@fsfla.org> -libre
- GNU Linux-libre 4.15.12-gnu.
OpenPOWER on IntegriCloud