summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2018-03-23 15:44:39 +0000
committerAlexandre Oliva <lxoliva@fsfla.org>2018-03-23 15:44:39 +0000
commitc4fbb3085213888cd1c0de85e16a9e91e5cf5f3a (patch)
tree13555c21774e9d329f8a004f9a6866e4dae99f00
parentf40af6ff9f6fd55531e328c7669bb1fe02ef8ebf (diff)
downloadlinux-libre-raptor-c4fbb3085213888cd1c0de85e16a9e91e5cf5f3a.tar.gz
linux-libre-raptor-c4fbb3085213888cd1c0de85e16a9e91e5cf5f3a.zip
4.15.12-201.fc26.gnu
-rw-r--r--freed-ora/current/f26/drm-nouveau-bl-fix-backlight-regression.patch68
-rw-r--r--freed-ora/current/f26/kernel.spec65
2 files changed, 79 insertions, 54 deletions
diff --git a/freed-ora/current/f26/drm-nouveau-bl-fix-backlight-regression.patch b/freed-ora/current/f26/drm-nouveau-bl-fix-backlight-regression.patch
new file mode 100644
index 000000000..632810860
--- /dev/null
+++ b/freed-ora/current/f26/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/f26/kernel.spec b/freed-ora/current/f26/kernel.spec
index ab8496050..e2c03d7ae 100644
--- a/freed-ora/current/f26/kernel.spec
+++ b/freed-ora/current/f26/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 200
+%global baserelease 201
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -692,6 +692,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
@@ -1487,57 +1490,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/
@@ -1545,9 +1499,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/
@@ -2103,6 +2054,12 @@ fi
#
#
%changelog
+* Thu Mar 22 2018 Laura Abbott <labbott@redhat.com> - 4.15.12-201
+- 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