diff --git a/Kbuild-Add-an-option-to-enable-GCC-VTA.patch b/Kbuild-Add-an-option-to-enable-GCC-VTA.patch index c48145e6e..222ad9187 100644 --- a/Kbuild-Add-an-option-to-enable-GCC-VTA.patch +++ b/Kbuild-Add-an-option-to-enable-GCC-VTA.patch @@ -43,7 +43,7 @@ Signed-off-by: Josh Stone 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 diff --git a/drm-i915-hush-check-crtc-state.patch b/drm-i915-hush-check-crtc-state.patch index beea2dc2e..7391de005 100644 --- a/drm-i915-hush-check-crtc-state.patch +++ b/drm-i915-hush-check-crtc-state.patch @@ -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)) { diff --git a/fifo-nv04-remove-the-loop-from-the-interrupt-handler.patch b/fifo-nv04-remove-the-loop-from-the-interrupt-handler.patch deleted file mode 100644 index 480ff9344..000000000 --- a/fifo-nv04-remove-the-loop-from-the-interrupt-handler.patch +++ /dev/null @@ -1,135 +0,0 @@ -From: Ben Skeggs -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 ---- - 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 - diff --git a/kernel.spec b/kernel.spec index 77912c720..e5f9a7820 100644 --- a/kernel.spec +++ b/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 - 4.0.0-0.rc5.git0.1 +- Linux v4.0-rc5 + * Fri Mar 20 2015 Josh Boyer - 4.0.0-0.rc4.git2.1 - Linux v4.0-rc4-199-gb314acaccd7e - Fix brightness on Lenovo Ideapad Z570 (rhbz 1187004) diff --git a/kernfs-handle-poll-correctly-on-direct_read-files.patch b/kernfs-handle-poll-correctly-on-direct_read-files.patch deleted file mode 100644 index 40c3cc86e..000000000 --- a/kernfs-handle-poll-correctly-on-direct_read-files.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: NeilBrown -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 -Reported-by: Torsten Kaiser -Fixes: 750f199ee8b578062341e6ddfe36c59ac8ff2dcb -Signed-off-by: NeilBrown ---- - 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 - diff --git a/sources b/sources index 1a6036b4e..e336c2931 100644 --- a/sources +++ b/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