Patch "nouveau: fix nv40_perfctr_next() cleanup regression" has been added to the 4.4-stable tree
From: <gregkh@linuxfoundation.org>
Date: 2016-09-26 09:48:18
This is a note to let you know that I've just added the patch titled
nouveau: fix nv40_perfctr_next() cleanup regression
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
nouveau-fix-nv40_perfctr_next-cleanup-regression.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let [off-list ref] know about it.
From 86d65b7e7a0c927d07d18605c276d0f142438ead Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Mon, 14 Mar 2016 15:24:10 +0100
Subject: nouveau: fix nv40_perfctr_next() cleanup regression
From: Arnd Bergmann <arnd@arndb.de>
commit 86d65b7e7a0c927d07d18605c276d0f142438ead upstream.
gcc-6 warns about code in the nouveau driver that is obviously silly:
drivers/gpu/drm/nouveau/nvkm/engine/pm/nv40.c: In function 'nv40_perfctr_next':
drivers/gpu/drm/nouveau/nvkm/engine/pm/nv40.c:62:19: warning: self-comparison always evaluats to false [-Wtautological-compare]
if (pm->sequence != pm->sequence) {
The behavior was accidentally introduced in a patch described as "This is
purely preparation for upcoming commits, there should be no code changes here.".
As far as I can tell, that was true for the rest of that patch except for
this one function, which has been changed to a NOP.
This patch restores the original behavior.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 8c1aeaa13954 ("drm/nouveau/pm: cosmetic changes")
Reviewed-by: Ben Skeggs <redacted>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/gpu/drm/nouveau/nvkm/engine/pm/nv40.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/drivers/gpu/drm/nouveau/nvkm/engine/pm/nv40.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/pm/nv40.c@@ -59,9 +59,11 @@ static void nv40_perfctr_next(struct nvkm_pm *pm, struct nvkm_perfdom *dom) { struct nvkm_device *device = pm->engine.subdev.device; - if (pm->sequence != pm->sequence) { + struct nv40_pm *nv40pm = container_of(pm, struct nv40_pm, base); + + if (nv40pm->sequence != pm->sequence) { nvkm_wr32(device, 0x400084, 0x00000020); - pm->sequence = pm->sequence; + nv40pm->sequence = pm->sequence; } }
Patches currently in stable-queue which might be from arnd@arndb.de are queue-4.4/include-linux-kernel.h-change-abs-macro-so-it-uses-consistent-return-type.patch queue-4.4/ath9k-fix-misleading-indentation.patch queue-4.4/iwlegacy-avoid-warning-about-missing-braces.patch queue-4.4/kbuild-disable-maybe-uninitialized-warning-for-config_profile_all_branches.patch queue-4.4/net-caif-fix-misleading-indentation.patch queue-4.4/nouveau-fix-nv40_perfctr_next-cleanup-regression.patch queue-4.4/gcov-disable-wmaybe-uninitialized-warning.patch queue-4.4/am437x-vfpe-fix-typo-in-vpfe_get_app_input_index.patch queue-4.4/fix-build-warning-in-kernel-cpuset.c.patch queue-4.4/reiserfs-fix-new_insert_key-may-be-used-uninitialized.patch