summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Cline <jeremy@jcline.org>2018-05-09 09:40:17 -0400
committerJeremy Cline <jeremy@jcline.org>2018-05-09 09:40:17 -0400
commit37fd2efdfad4201a8bfae8650e8d980d22075b3b (patch)
treee13abc521828552f3b60b43d321f1078976a0177
parentd6c10be787ba0c4e230a5c23602b7f0f0338e8c2 (diff)
downloadkernel-37fd2efdfad4201a8bfae8650e8d980d22075b3b.tar.gz
kernel-37fd2efdfad4201a8bfae8650e8d980d22075b3b.tar.xz
kernel-37fd2efdfad4201a8bfae8650e8d980d22075b3b.zip
Linux v4.16.8
-rw-r--r--configs/fedora/generic/arm/CONFIG_ARM64_ERRATUM_10247181
-rw-r--r--kernel-aarch64-debug.config1
-rw-r--r--kernel-aarch64.config1
-rw-r--r--kernel-armv7hl-debug.config1
-rw-r--r--kernel-armv7hl-lpae-debug.config1
-rw-r--r--kernel-armv7hl-lpae.config1
-rw-r--r--kernel-armv7hl.config1
-rw-r--r--kernel.spec8
-rw-r--r--sources2
-rw-r--r--vc4-Make-sure-vc4_bo_-inc-dec-_usecnt-calls-are-balanced.patch125
10 files changed, 12 insertions, 130 deletions
diff --git a/configs/fedora/generic/arm/CONFIG_ARM64_ERRATUM_1024718 b/configs/fedora/generic/arm/CONFIG_ARM64_ERRATUM_1024718
new file mode 100644
index 000000000..1c8f6ffc8
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_ARM64_ERRATUM_1024718
@@ -0,0 +1 @@
+CONFIG_ARM64_ERRATUM_1024718=y
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index d4e9c27c8..b377a2554 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -248,6 +248,7 @@ CONFIG_ARCH_ZYNQMP=y
CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
CONFIG_ARM64_CRYPTO=y
+CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_826319=y
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index 6674067f6..6880db51a 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -248,6 +248,7 @@ CONFIG_ARCH_ZYNQMP=y
CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
CONFIG_ARM64_CRYPTO=y
+CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_826319=y
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 56dd83980..51a2d779a 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -251,6 +251,7 @@ CONFIG_ARCH_VIRT=y
# CONFIG_ARCH_ZX is not set
CONFIG_ARCH_ZYNQ=y
# CONFIG_ARCNET is not set
+CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARM64_PTDUMP=y
CONFIG_ARMADA_THERMAL=m
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 09abfd7a8..bd0d690c3 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -242,6 +242,7 @@ CONFIG_ARCH_VIRT=y
# CONFIG_ARCH_ZX is not set
# CONFIG_ARCH_ZYNQ is not set
# CONFIG_ARCNET is not set
+CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARM64_PTDUMP=y
CONFIG_ARMADA_THERMAL=m
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index 405b9fb9e..ce2d82f21 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -242,6 +242,7 @@ CONFIG_ARCH_VIRT=y
# CONFIG_ARCH_ZX is not set
# CONFIG_ARCH_ZYNQ is not set
# CONFIG_ARCNET is not set
+CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARMADA_THERMAL=m
CONFIG_ARM_AMBA=y
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index 390a14cdc..0dc90d487 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -251,6 +251,7 @@ CONFIG_ARCH_VIRT=y
# CONFIG_ARCH_ZX is not set
CONFIG_ARCH_ZYNQ=y
# CONFIG_ARCNET is not set
+CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARMADA_THERMAL=m
CONFIG_ARM_AMBA=y
diff --git a/kernel.spec b/kernel.spec
index caedf29b3..9a0060fbf 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -54,7 +54,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
-%define stable_update 7
+%define stable_update 8
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -640,9 +640,6 @@ Patch331: bcm2837-rpi-initial-3plus-support.patch
Patch332: bcm2837-enable-pmu.patch
Patch333: bcm2837-lan78xx-fixes.patch
-# https://patchwork.freedesktop.org/patch/219644/
-Patch334: vc4-Make-sure-vc4_bo_-inc-dec-_usecnt-calls-are-balanced.patch
-
# 400 - IBM (ppc/s390x) patches
# 500 - Temp fixes/CVEs etc
@@ -1925,6 +1922,9 @@ fi
#
#
%changelog
+* Wed May 09 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.8-300
+- Linux v4.16.8
+
* Mon May 07 2018 Jeremy Cline <jeremy@jcline.org>
- Fix issue with KVM on older Core 2 processors (rhbz 1566258)
diff --git a/sources b/sources
index d5fa949a2..5988cda2c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
SHA512 (linux-4.16.tar.xz) = ab47849314b177d0eec9dbf261f33972b0d89fb92fb0650130ffa7abc2f36c0fab2d06317dc1683c51a472a9a631573a9b1e7258d6281a2ee189897827f14662
-SHA512 (patch-4.16.7.xz) = 576c2b520d444e11a9ca45ed3ed03822007ab6ff778a1759aa0f65c96946fe3e169e71d48d11e6d3b8627a99cdc20abfb0c84d7b6c9b0d2afa4d5fee9ed3aa41
+SHA512 (patch-4.16.8.xz) = 8bd521f5a14280c6893f6d85f46d12f97ba71abf3e149f1900aa5e1efa3a03a97df674c4b2b46553b8e9df55164894b6fcb510dbba8cab8ce47ee4b0186e27d0
diff --git a/vc4-Make-sure-vc4_bo_-inc-dec-_usecnt-calls-are-balanced.patch b/vc4-Make-sure-vc4_bo_-inc-dec-_usecnt-calls-are-balanced.patch
deleted file mode 100644
index 4c1077184..000000000
--- a/vc4-Make-sure-vc4_bo_-inc-dec-_usecnt-calls-are-balanced.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From patchwork Mon Apr 30 13:32:32 2018
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: drm/vc4: Make sure vc4_bo_{inc, dec}_usecnt() calls are balanced
-From: Boris Brezillon <boris.brezillon@bootlin.com>
-X-Patchwork-Id: 219644
-Message-Id: <20180430133232.32457-1-boris.brezillon@bootlin.com>
-To: Eric Anholt <eric@anholt.net>
-Cc: David Airlie <airlied@linux.ie>, stable@vger.kernel.org,
- Boris Brezillon <boris.brezillon@bootlin.com>,
- dri-devel@lists.freedesktop.org, Peter Robinson <pbrobinson@gmail.com>
-Date: Mon, 30 Apr 2018 15:32:32 +0200
-
-Commit b9f19259b84d ("drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl")
-introduced a mechanism to mark some BOs as purgeable to allow the driver
-to drop them under memory pressure. In order to implement this feature
-we had to add a mechanism to mark BOs as currently used by a piece of
-hardware which materialized through the ->usecnt counter.
-
-Plane code is supposed to increment usecnt when it attaches a BO to a
-plane and decrement it when it's done with this BO, which was done in
-the ->prepare_fb() and ->cleanup_fb() hooks. The problem is, async page
-flip logic does not go through the regular atomic update path, and
-->prepare_fb() and ->cleanup_fb() are not called in this case.
-
-Fix that by manually calling vc4_bo_{inc,dec}_usecnt() in the
-async-page-flip path.
-
-Note that all this should go away as soon as we get generic async page
-flip support in the core, in the meantime, this fix should do the
-trick.
-
-Fixes: b9f19259b84d ("drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl")
-Reported-by: Peter Robinson <pbrobinson@gmail.com>
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
----
- drivers/gpu/drm/vc4/vc4_crtc.c | 46 +++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 45 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c
-index 83d3b7912fc2..c8650bbcbcb3 100644
---- a/drivers/gpu/drm/vc4/vc4_crtc.c
-+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -741,6 +741,7 @@ static irqreturn_t vc4_crtc_irq_handler(int irq, void *data)
- struct vc4_async_flip_state {
- struct drm_crtc *crtc;
- struct drm_framebuffer *fb;
-+ struct drm_framebuffer *old_fb;
- struct drm_pending_vblank_event *event;
-
- struct vc4_seqno_cb cb;
-@@ -770,6 +771,23 @@ vc4_async_page_flip_complete(struct vc4_seqno_cb *cb)
-
- drm_crtc_vblank_put(crtc);
- drm_framebuffer_put(flip_state->fb);
-+
-+ /* Decrement the BO usecnt in order to keep the inc/dec calls balanced
-+ * when the planes are updated through the async update path.
-+ * FIXME: we should move to generic async-page-flip when it's
-+ * available, so that we can get rid of this hand-made cleanup_fb()
-+ * logic.
-+ */
-+ if (flip_state->old_fb) {
-+ struct drm_gem_cma_object *cma_bo;
-+ struct vc4_bo *bo;
-+
-+ cma_bo = drm_fb_cma_get_gem_obj(flip_state->old_fb, 0);
-+ bo = to_vc4_bo(&cma_bo->base);
-+ vc4_bo_dec_usecnt(bo);
-+ drm_framebuffer_put(flip_state->old_fb);
-+ }
-+
- kfree(flip_state);
-
- up(&vc4->async_modeset);
-@@ -794,9 +812,22 @@ static int vc4_async_page_flip(struct drm_crtc *crtc,
- struct drm_gem_cma_object *cma_bo = drm_fb_cma_get_gem_obj(fb, 0);
- struct vc4_bo *bo = to_vc4_bo(&cma_bo->base);
-
-+ /* Increment the BO usecnt here, so that we never end up with an
-+ * unbalanced number of vc4_bo_{dec,inc}_usecnt() calls when the
-+ * plane is later updated through the non-async path.
-+ * FIXME: we should move to generic async-page-flip when it's
-+ * available, so that we can get rid of this hand-made prepare_fb()
-+ * logic.
-+ */
-+ ret = vc4_bo_inc_usecnt(bo);
-+ if (ret)
-+ return ret;
-+
- flip_state = kzalloc(sizeof(*flip_state), GFP_KERNEL);
-- if (!flip_state)
-+ if (!flip_state) {
-+ vc4_bo_dec_usecnt(bo);
- return -ENOMEM;
-+ }
-
- drm_framebuffer_get(fb);
- flip_state->fb = fb;
-@@ -807,10 +838,23 @@ static int vc4_async_page_flip(struct drm_crtc *crtc,
- ret = down_interruptible(&vc4->async_modeset);
- if (ret) {
- drm_framebuffer_put(fb);
-+ vc4_bo_dec_usecnt(bo);
- kfree(flip_state);
- return ret;
- }
-
-+ /* Save the current FB before it's replaced by the new one in
-+ * drm_atomic_set_fb_for_plane(). We'll need the old FB in
-+ * vc4_async_page_flip_complete() to decrement the BO usecnt and keep
-+ * it consistent.
-+ * FIXME: we should move to generic async-page-flip when it's
-+ * available, so that we can get rid of this hand-made cleanup_fb()
-+ * logic.
-+ */
-+ flip_state->old_fb = plane->state->fb;
-+ if (flip_state->old_fb)
-+ drm_framebuffer_get(flip_state->old_fb);
-+
- WARN_ON(drm_crtc_vblank_get(crtc) != 0);
-
- /* Immediately update the plane's legacy fb pointer, so that later