diff options
author | Alexandre Oliva <lxoliva@fsfla.org> | 2018-03-23 13:47:35 +0000 |
---|---|---|
committer | Alexandre Oliva <lxoliva@fsfla.org> | 2018-03-23 13:47:35 +0000 |
commit | f40af6ff9f6fd55531e328c7669bb1fe02ef8ebf (patch) | |
tree | bc64d7f20200b6d213c3cca26df82085933e6f9f | |
parent | d4daab05b47939a513f5261589ec501010afd7a8 (diff) | |
download | linux-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.patch | 68 | ||||
-rw-r--r-- | freed-ora/current/f27/kernel.spec | 65 |
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. |