Linux v4.0-rc5
This commit is contained in:
parent
fd83f61c73
commit
332f9893c3
@ -43,7 +43,7 @@ Signed-off-by: Josh Stone <jistone@redhat.com>
|
||||
2 files changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e734965b1604..c724e72b238d 100644
|
||||
index 14c722f96877..1858317a9074 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -706,7 +706,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer
|
||||
|
@ -14,10 +14,10 @@ Upstream-status: http://lists.freedesktop.org/archives/intel-gfx/2013-November/0
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
|
||||
index 9943c20a741d..bfac247e6d2c 100644
|
||||
index 6d22128d97b1..e116dee10cf9 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_display.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_display.c
|
||||
@@ -10886,7 +10886,7 @@ check_crtc_state(struct drm_device *dev)
|
||||
@@ -10909,7 +10909,7 @@ check_crtc_state(struct drm_device *dev)
|
||||
|
||||
if (active &&
|
||||
!intel_pipe_config_compare(dev, crtc->config, &pipe_config)) {
|
||||
|
@ -1,135 +0,0 @@
|
||||
From: Ben Skeggs <bskeggs@redhat.com>
|
||||
Date: Tue, 27 Jan 2015 15:09:39 +1000
|
||||
Subject: [PATCH] fifo/nv04: remove the loop from the interrupt handler
|
||||
|
||||
Complete bong hit (and not the last...), the hardware will reassert the
|
||||
interrupt to PMC if it's necessary.
|
||||
|
||||
Also potentially harmful in the face of interrupts such as the non-stall
|
||||
interrupt, which remain active in NV_PFIFO_INTR even when we don't care
|
||||
about servicing it.
|
||||
|
||||
It appears (hopefully, fdo#87244), that under certain loads, the methods
|
||||
may pass quickly enough to hit the "100 spins and kill PFIFO" thing that
|
||||
we had going on. Not ideal ;)
|
||||
|
||||
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
||||
---
|
||||
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c | 85 ++++++++++---------------
|
||||
1 file changed, 35 insertions(+), 50 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
|
||||
index b038b6eb51db..043e4296084c 100644
|
||||
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
|
||||
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
|
||||
@@ -502,72 +502,57 @@ nv04_fifo_intr(struct nvkm_subdev *subdev)
|
||||
{
|
||||
struct nvkm_device *device = nv_device(subdev);
|
||||
struct nv04_fifo_priv *priv = (void *)subdev;
|
||||
- uint32_t status, reassign;
|
||||
- int cnt = 0;
|
||||
+ u32 mask = nv_rd32(priv, NV03_PFIFO_INTR_EN_0);
|
||||
+ u32 stat = nv_rd32(priv, NV03_PFIFO_INTR_0) & mask;
|
||||
+ u32 reassign, chid, get, sem;
|
||||
|
||||
reassign = nv_rd32(priv, NV03_PFIFO_CACHES) & 1;
|
||||
- while ((status = nv_rd32(priv, NV03_PFIFO_INTR_0)) && (cnt++ < 100)) {
|
||||
- uint32_t chid, get;
|
||||
-
|
||||
- nv_wr32(priv, NV03_PFIFO_CACHES, 0);
|
||||
-
|
||||
- chid = nv_rd32(priv, NV03_PFIFO_CACHE1_PUSH1) & priv->base.max;
|
||||
- get = nv_rd32(priv, NV03_PFIFO_CACHE1_GET);
|
||||
+ nv_wr32(priv, NV03_PFIFO_CACHES, 0);
|
||||
|
||||
- if (status & NV_PFIFO_INTR_CACHE_ERROR) {
|
||||
- nv04_fifo_cache_error(device, priv, chid, get);
|
||||
- status &= ~NV_PFIFO_INTR_CACHE_ERROR;
|
||||
- }
|
||||
+ chid = nv_rd32(priv, NV03_PFIFO_CACHE1_PUSH1) & priv->base.max;
|
||||
+ get = nv_rd32(priv, NV03_PFIFO_CACHE1_GET);
|
||||
|
||||
- if (status & NV_PFIFO_INTR_DMA_PUSHER) {
|
||||
- nv04_fifo_dma_pusher(device, priv, chid);
|
||||
- status &= ~NV_PFIFO_INTR_DMA_PUSHER;
|
||||
- }
|
||||
+ if (stat & NV_PFIFO_INTR_CACHE_ERROR) {
|
||||
+ nv04_fifo_cache_error(device, priv, chid, get);
|
||||
+ stat &= ~NV_PFIFO_INTR_CACHE_ERROR;
|
||||
+ }
|
||||
|
||||
- if (status & NV_PFIFO_INTR_SEMAPHORE) {
|
||||
- uint32_t sem;
|
||||
+ if (stat & NV_PFIFO_INTR_DMA_PUSHER) {
|
||||
+ nv04_fifo_dma_pusher(device, priv, chid);
|
||||
+ stat &= ~NV_PFIFO_INTR_DMA_PUSHER;
|
||||
+ }
|
||||
|
||||
- status &= ~NV_PFIFO_INTR_SEMAPHORE;
|
||||
- nv_wr32(priv, NV03_PFIFO_INTR_0,
|
||||
- NV_PFIFO_INTR_SEMAPHORE);
|
||||
+ if (stat & NV_PFIFO_INTR_SEMAPHORE) {
|
||||
+ stat &= ~NV_PFIFO_INTR_SEMAPHORE;
|
||||
+ nv_wr32(priv, NV03_PFIFO_INTR_0, NV_PFIFO_INTR_SEMAPHORE);
|
||||
|
||||
- sem = nv_rd32(priv, NV10_PFIFO_CACHE1_SEMAPHORE);
|
||||
- nv_wr32(priv, NV10_PFIFO_CACHE1_SEMAPHORE, sem | 0x1);
|
||||
+ sem = nv_rd32(priv, NV10_PFIFO_CACHE1_SEMAPHORE);
|
||||
+ nv_wr32(priv, NV10_PFIFO_CACHE1_SEMAPHORE, sem | 0x1);
|
||||
|
||||
- nv_wr32(priv, NV03_PFIFO_CACHE1_GET, get + 4);
|
||||
- nv_wr32(priv, NV04_PFIFO_CACHE1_PULL0, 1);
|
||||
- }
|
||||
+ nv_wr32(priv, NV03_PFIFO_CACHE1_GET, get + 4);
|
||||
+ nv_wr32(priv, NV04_PFIFO_CACHE1_PULL0, 1);
|
||||
+ }
|
||||
|
||||
- if (device->card_type == NV_50) {
|
||||
- if (status & 0x00000010) {
|
||||
- status &= ~0x00000010;
|
||||
- nv_wr32(priv, 0x002100, 0x00000010);
|
||||
- }
|
||||
-
|
||||
- if (status & 0x40000000) {
|
||||
- nv_wr32(priv, 0x002100, 0x40000000);
|
||||
- nvkm_fifo_uevent(&priv->base);
|
||||
- status &= ~0x40000000;
|
||||
- }
|
||||
+ if (device->card_type == NV_50) {
|
||||
+ if (stat & 0x00000010) {
|
||||
+ stat &= ~0x00000010;
|
||||
+ nv_wr32(priv, 0x002100, 0x00000010);
|
||||
}
|
||||
|
||||
- if (status) {
|
||||
- nv_warn(priv, "unknown intr 0x%08x, ch %d\n",
|
||||
- status, chid);
|
||||
- nv_wr32(priv, NV03_PFIFO_INTR_0, status);
|
||||
- status = 0;
|
||||
+ if (stat & 0x40000000) {
|
||||
+ nv_wr32(priv, 0x002100, 0x40000000);
|
||||
+ nvkm_fifo_uevent(&priv->base);
|
||||
+ stat &= ~0x40000000;
|
||||
}
|
||||
-
|
||||
- nv_wr32(priv, NV03_PFIFO_CACHES, reassign);
|
||||
}
|
||||
|
||||
- if (status) {
|
||||
- nv_error(priv, "still angry after %d spins, halt\n", cnt);
|
||||
- nv_wr32(priv, 0x002140, 0);
|
||||
- nv_wr32(priv, 0x000140, 0);
|
||||
+ if (stat) {
|
||||
+ nv_warn(priv, "unknown intr 0x%08x\n", stat);
|
||||
+ nv_mask(priv, NV03_PFIFO_INTR_EN_0, stat, 0x00000000);
|
||||
+ nv_wr32(priv, NV03_PFIFO_INTR_0, stat);
|
||||
}
|
||||
|
||||
- nv_wr32(priv, 0x000100, 0x00000100);
|
||||
+ nv_wr32(priv, NV03_PFIFO_CACHES, reassign);
|
||||
}
|
||||
|
||||
static int
|
||||
--
|
||||
2.1.0
|
||||
|
19
kernel.spec
19
kernel.spec
@ -68,9 +68,9 @@ Summary: The Linux kernel
|
||||
# define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
|
||||
%define upstream_sublevel 0
|
||||
# The rc snapshot level
|
||||
%define rcrev 4
|
||||
%define rcrev 5
|
||||
# The git snapshot level
|
||||
%define gitrev 2
|
||||
%define gitrev 0
|
||||
# Set rpm version accordingly
|
||||
%define rpmversion 4.%{upstream_sublevel}.0
|
||||
%endif
|
||||
@ -412,7 +412,7 @@ BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu
|
||||
%endif
|
||||
|
||||
#Source0: ftp://ftp.kernel.org/pub/linux/kernel/v4.x/linux-%{kversion}.tar.xz
|
||||
Source0: ftp://ftp.kernel.org/pub/linux/kernel/v4.x/linux-4.0-rc4.tar.xz
|
||||
Source0: ftp://ftp.kernel.org/pub/linux/kernel/v4.x/linux-4.0-rc5.tar.xz
|
||||
|
||||
Source10: perf-man-%{kversion}.tar.gz
|
||||
Source11: x509.genkey
|
||||
@ -612,8 +612,6 @@ Patch22000: weird-root-dentry-name-debug.patch
|
||||
#rhbz 1094948
|
||||
Patch26131: acpi-video-Add-disable_native_backlight-quirk-for-Sa.patch
|
||||
|
||||
Patch26137: fifo-nv04-remove-the-loop-from-the-interrupt-handler.patch
|
||||
|
||||
#CVE-2015-0275 rhbz 1193907 1195178
|
||||
Patch26138: ext4-Allocate-entire-range-in-zero-range.patch
|
||||
|
||||
@ -631,9 +629,6 @@ Patch26167: IB-core-Prevent-integer-overflow-in-ib_umem_get-addr.patch
|
||||
#rhbz 1201532
|
||||
Patch26168: HID-multitouch-add-support-of-clickpads.patch
|
||||
|
||||
#rhbz 1202362
|
||||
Patch26169: kernfs-handle-poll-correctly-on-direct_read-files.patch
|
||||
|
||||
#rhbz 1187004
|
||||
Patch26170: acpi-video-Allow-forcing-native-backlight-on-non-win.patch
|
||||
Patch26171: acpi-video-Add-force-native-backlight-quirk-for-Leno.patch
|
||||
@ -1355,8 +1350,6 @@ ApplyPatch ath9k-rx-dma-stop-check.patch
|
||||
#rhbz 1094948
|
||||
ApplyPatch acpi-video-Add-disable_native_backlight-quirk-for-Sa.patch
|
||||
|
||||
ApplyPatch fifo-nv04-remove-the-loop-from-the-interrupt-handler.patch
|
||||
|
||||
#CVE-2015-0275 rhbz 1193907 1195178
|
||||
ApplyPatch ext4-Allocate-entire-range-in-zero-range.patch
|
||||
|
||||
@ -1374,9 +1367,6 @@ ApplyPatch IB-core-Prevent-integer-overflow-in-ib_umem_get-addr.patch
|
||||
#rhbz 1201532
|
||||
ApplyPatch HID-multitouch-add-support-of-clickpads.patch
|
||||
|
||||
#rhbz 1202362
|
||||
ApplyPatch kernfs-handle-poll-correctly-on-direct_read-files.patch
|
||||
|
||||
#rhbz 1187004
|
||||
ApplyPatch acpi-video-Allow-forcing-native-backlight-on-non-win.patch
|
||||
ApplyPatch acpi-video-Add-force-native-backlight-quirk-for-Leno.patch
|
||||
@ -2231,6 +2221,9 @@ fi
|
||||
#
|
||||
#
|
||||
%changelog
|
||||
* Mon Mar 23 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.0.0-0.rc5.git0.1
|
||||
- Linux v4.0-rc5
|
||||
|
||||
* Fri Mar 20 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.0.0-0.rc4.git2.1
|
||||
- Linux v4.0-rc4-199-gb314acaccd7e
|
||||
- Fix brightness on Lenovo Ideapad Z570 (rhbz 1187004)
|
||||
|
@ -1,38 +0,0 @@
|
||||
From: NeilBrown <neilb@suse.de>
|
||||
Date: Mon, 16 Mar 2015 10:44:52 +1100
|
||||
Subject: [PATCH] kernfs: handle poll correctly on 'direct_read' files.
|
||||
|
||||
Kernfs supports two styles of read: direct_read and seqfile_read.
|
||||
|
||||
The latter supports 'poll' correctly thanks to the update of
|
||||
'->event' in kernfs_seq_show.
|
||||
The former does not as '->event' is never updated on a read.
|
||||
|
||||
So add an appropriate update in kernfs_file_direct_read().
|
||||
|
||||
This was noticed because some 'md' sysfs attributes were
|
||||
recently changed to use direct reads.
|
||||
|
||||
Reported-by: Prakash Punnoor <prakash@punnoor.de>
|
||||
Reported-by: Torsten Kaiser <just.for.lkml@googlemail.com>
|
||||
Fixes: 750f199ee8b578062341e6ddfe36c59ac8ff2dcb
|
||||
Signed-off-by: NeilBrown <neilb@suse.de>
|
||||
---
|
||||
fs/kernfs/file.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c
|
||||
index b684e8a132e6..2bacb9988566 100644
|
||||
--- a/fs/kernfs/file.c
|
||||
+++ b/fs/kernfs/file.c
|
||||
@@ -207,6 +207,7 @@ static ssize_t kernfs_file_direct_read(struct kernfs_open_file *of,
|
||||
goto out_free;
|
||||
}
|
||||
|
||||
+ of->event = atomic_read(&of->kn->attr.open->event);
|
||||
ops = kernfs_ops(of->kn);
|
||||
if (ops->read)
|
||||
len = ops->read(of, buf, len, *ppos);
|
||||
--
|
||||
2.1.0
|
||||
|
5
sources
5
sources
@ -1,3 +1,2 @@
|
||||
0e37c076159538ff882f190d87fe9798 linux-4.0-rc4.tar.xz
|
||||
53996d49f76b39851ab26efd8c70fe53 perf-man-4.0-rc4.tar.gz
|
||||
03568a63a66afd7c3df46bf84cbc39fc patch-4.0-rc4-git2.xz
|
||||
b26150c980099ef554b26d07f470e647 linux-4.0-rc5.tar.xz
|
||||
7614f559a09f0242827fc7783c7adf3f perf-man-4.0-rc5.tar.gz
|
||||
|
Loading…
Reference in New Issue
Block a user