diff options
author | Ariadne Conill <ariadne@dereferenced.org> | 2020-03-01 06:13:51 +0000 |
---|---|---|
committer | Ariadne Conill <ariadne@dereferenced.org> | 2020-03-01 06:13:51 +0000 |
commit | 9407605d6f829d0360543dd4daca3a4abb94e93b (patch) | |
tree | 1b95e84f68b90d1dcc08acf2e2d94926556fc15e /main/linux-lts | |
parent | 76d837f7c4700d58c314ad4b2fed6a24b216ec8d (diff) | |
download | aports-9407605d6f829d0360543dd4daca3a4abb94e93b.tar.bz2 aports-9407605d6f829d0360543dd4daca3a4abb94e93b.tar.xz |
main/linux-lts: upgrade to 5.4.23
Diffstat (limited to 'main/linux-lts')
-rw-r--r-- | main/linux-lts/0001-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch | 138 | ||||
-rw-r--r-- | main/linux-lts/APKBUILD | 30 | ||||
-rw-r--r-- | main/linux-lts/config-lts.aarch64 | 2 | ||||
-rw-r--r-- | main/linux-lts/config-lts.armv7 | 2 | ||||
-rw-r--r-- | main/linux-lts/config-lts.mips | 2 | ||||
-rw-r--r-- | main/linux-lts/config-lts.mips64 | 2 | ||||
-rw-r--r-- | main/linux-lts/config-lts.ppc64le | 2 | ||||
-rw-r--r-- | main/linux-lts/config-lts.s390x | 2 | ||||
-rw-r--r-- | main/linux-lts/config-lts.x86 | 2 | ||||
-rw-r--r-- | main/linux-lts/config-lts.x86_64 | 2 | ||||
-rw-r--r-- | main/linux-lts/config-virt.aarch64 | 2 | ||||
-rw-r--r-- | main/linux-lts/config-virt.armv7 | 2 | ||||
-rw-r--r-- | main/linux-lts/config-virt.x86 | 2 | ||||
-rw-r--r-- | main/linux-lts/config-virt.x86_64 | 2 |
14 files changed, 26 insertions, 166 deletions
diff --git a/main/linux-lts/0001-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch b/main/linux-lts/0001-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch deleted file mode 100644 index 3153ba69b5..0000000000 --- a/main/linux-lts/0001-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 20edf591530b4cdb219a753c166afa315c3706b8 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon, 9 Dec 2019 02:32:15 +0000 -Subject: [PATCH 1/2] drm/i915/gt: Detect if we miss WaIdleLiteRestore - -In order to avoid confusing the HW, we must never submit an empty ring -during lite-restore, that is we should always advance the RING_TAIL -before submitting to stay ahead of the RING_HEAD. - -Normally this is prevented by keeping a couple of spare NOPs in the -request->wa_tail so that on resubmission we can advance the tail. This -relies on the request only being resubmitted once, which is the normal -condition as it is seen once for ELSP[1] and then later in ELSP[0]. On -preemption, the requests are unwound and the tail reset back to the -normal end point (as we know the request is incomplete and therefore its -RING_HEAD is even earlier). - -However, if this w/a should fail we would try and resubmit the request -with the RING_TAIL already set to the location of this request's wa_tail -potentially causing a GPU hang. We can spot when we do try and -incorrectly resubmit without advancing the RING_TAIL and spare any -embarrassment by forcing the context restore. - -In the case of preempt-to-busy, we leave the requests running on the HW -while we unwind. As the ring is still live, we cannot rewind our -rq->tail without forcing a reload so leave it set to rq->wa_tail and -only force a reload if we resubmit after a lite-restore. (Normally, the -forced reload will be a part of the preemption event.) - -Fixes: 22b7a426bbe1 ("drm/i915/execlists: Preempt-to-busy") -Closes: https://gitlab.freedesktop.org/drm/intel/issues/673 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> -Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -Cc: stable@kernel.vger.org -Link: https://patchwork.freedesktop.org/patch/msgid/20191209023215.3519970-1-chris@chris-wilson.co.uk -(cherry picked from commit 82c69bf58650e644c61aa2bf5100b63a1070fd2f) -Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> -(cherry picked from commit f26a9e959a7b1588c59f7a919b41b67175b211d8) ---- - drivers/gpu/drm/i915/gt/intel_lrc.c | 44 +++++++++++++---------------- - 1 file changed, 20 insertions(+), 24 deletions(-) - -diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c -index 06a506c29463..d2bb446cf97c 100644 ---- a/drivers/gpu/drm/i915/gt/intel_lrc.c -+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c -@@ -471,12 +471,6 @@ lrc_descriptor(struct intel_context *ce, struct intel_engine_cs *engine) - return desc; - } - --static void unwind_wa_tail(struct i915_request *rq) --{ -- rq->tail = intel_ring_wrap(rq->ring, rq->wa_tail - WA_TAIL_BYTES); -- assert_ring_tail_valid(rq->ring, rq->tail); --} -- - static struct i915_request * - __unwind_incomplete_requests(struct intel_engine_cs *engine) - { -@@ -490,12 +484,10 @@ __unwind_incomplete_requests(struct intel_engine_cs *engine) - &engine->active.requests, - sched.link) { - struct intel_engine_cs *owner; -- - if (i915_request_completed(rq)) - continue; /* XXX */ - - __i915_request_unsubmit(rq); -- unwind_wa_tail(rq); - - /* - * Push the request back into the queue for later resubmission. -@@ -649,13 +641,29 @@ execlists_schedule_out(struct i915_request *rq) - i915_request_put(rq); - } - --static u64 execlists_update_context(const struct i915_request *rq) -+static u64 execlists_update_context(struct i915_request *rq) - { - struct intel_context *ce = rq->hw_context; -- u64 desc; -+ u64 desc = ce->lrc_desc; -+ u32 tail; - -- ce->lrc_reg_state[CTX_RING_TAIL + 1] = -- intel_ring_set_tail(rq->ring, rq->tail); -+ /* -+ * WaIdleLiteRestore:bdw,skl -+ * -+ * We should never submit the context with the same RING_TAIL twice -+ * just in case we submit an empty ring, which confuses the HW. -+ * -+ * We append a couple of NOOPs (gen8_emit_wa_tail) after the end of -+ * the normal request to be able to always advance the RING_TAIL on -+ * subsequent resubmissions (for lite restore). Should that fail us, -+ * and we try and submit the same tail again, force the context -+ * reload. -+ */ -+ tail = intel_ring_set_tail(rq->ring, rq->tail); -+ if (unlikely(ce->lrc_reg_state[CTX_RING_TAIL + 1] == tail)) -+ desc |= CTX_DESC_FORCE_RESTORE; -+ ce->lrc_reg_state[CTX_RING_TAIL + 1] = tail; -+ rq->tail = rq->wa_tail; - - /* - * Make sure the context image is complete before we submit it to HW. -@@ -674,9 +682,7 @@ static u64 execlists_update_context(const struct i915_request *rq) - */ - mb(); - -- desc = ce->lrc_desc; - ce->lrc_desc &= ~CTX_DESC_FORCE_RESTORE; -- - return desc; - } - -@@ -1149,16 +1155,6 @@ static void execlists_dequeue(struct intel_engine_cs *engine) - if (!list_is_last(&last->sched.link, - &engine->active.requests)) - return; -- -- /* -- * WaIdleLiteRestore:bdw,skl -- * Apply the wa NOOPs to prevent -- * ring:HEAD == rq:TAIL as we resubmit the -- * request. See gen8_emit_fini_breadcrumb() for -- * where we prepare the padding after the -- * end of the request. -- */ -- last->tail = last->wa_tail; - } - } - --- -2.24.0 - diff --git a/main/linux-lts/APKBUILD b/main/linux-lts/APKBUILD index 950b2e200e..03b43d074b 100644 --- a/main/linux-lts/APKBUILD +++ b/main/linux-lts/APKBUILD @@ -2,7 +2,7 @@ _flavor=lts pkgname=linux-${_flavor} -pkgver=5.4.22 +pkgver=5.4.23 case $pkgver in *.*.*) _kernver=${pkgver%.*};; *.*) _kernver=$pkgver;; @@ -18,7 +18,6 @@ options="!strip" _config=${config:-config-lts.${CARCH}} install= source="https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.tar.xz - 0001-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch 0002-powerpc-config-defang-gcc-check-for-stack-protector-.patch config-lts.aarch64 @@ -223,18 +222,17 @@ _dev() { } sha512sums="9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f linux-5.4.tar.xz -2d34be0a07a04db3d9c044cd188aa60b5acd15ebf04fe6e8dbfe6dca013a0790cd62ef5b02c960901e41aeb3d8f71c365b6903c496a0be6fc8b508cdc82d2c31 0001-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch d19365fe94431008768c96a2c88955652f70b6df6677457ee55ee95246a64fdd2c6fed9b3bef37c29075178294a7fc91f148ead636382530ebfa822be4ad8c2f 0002-powerpc-config-defang-gcc-check-for-stack-protector-.patch -69d77383ff95d3e8cecc97fb6941a246508aae6d54adcae2be89b1aed546b1d854f8268ea24e08d7d104dc1ae6817ffa5f8872fa96ef961ecaf939cc5d1415b3 config-lts.aarch64 -a2ab9b0d899100cb01b39c6639a9487c49fb6f2fcf0fef9d3ba4795e62202e10b1e35f368f76680b10e3c74bede2cb4df157c5021ee4f88fb05257d431522f58 config-lts.armv7 -d3fb21dfae89ece52c30069abcedf7fad913a96e1e787d701b2c0ce856626acbbccb4d48558ccff2c0abe15e38b5760d46e45723a7fe1e5a6e147c549fcff537 config-lts.x86 -0b1c5dcc13740abcc553e24e0aa5e5716d5d5968652dfda2c4383b867f141f7c60cb7008c070aeb095eea27341b3ce72a23d232346d161fffa0c888f812bfe38 config-lts.x86_64 -d8803691924f68f529b7cf96653d677a989673cb45ceb739a4d6c6d55919f98643ccc50e6ffa709319467f4050242e43a6040990191efddfd5aaf9d8b031d5de config-lts.ppc64le -48a3c2e1349a1b906e81c2ece4e8493b6726e00d19088368627ab2716fd979d74c16288fca50c772864bcbaef3d94113f52482e37309c020ab5f36e1b11e910a config-lts.s390x -34a987d9dda1c57790f41844f198eec7317d3d13f7f50eb0eab1dd9b821aac18cd1a61dcf3711f1eb7ce0e8c439e1cae94da9955e103fff192196d7c9f313d78 config-lts.mips64 -f20702862c1ed38ab3f4a2ab8563f1b07bb6f0ed303f24b99b18021a14d09007a4f1efe7456e24da2de034f07812c4ed8dfd0690d54cf5523d420cf27efe1317 config-lts.mips -08816c46edc2a4c7f2f2df87e360aa65c15abbcdaea5a4240c11ecf5bfd969975938f3e9bdf42fdae324453dc8de1680515453bcad05f66f890615eb6d62c7ce config-virt.aarch64 -57e2a764cd19ec6f8e40efa84cd7cb057621f6c5971dd6ee4c1364b79a2e560ffe23f2e4e5fb245914b45be0bd700ac33fea1269515661c1feb3e4eddec4f788 config-virt.armv7 -2848194d5831220dfb66275f671f5b47b1cb75840199a2b0f3d27a6143ecc17f8d2f7fc02dbe877a955193849716926e0f10dfeddb5f9a1e0ef872886c91fd7e config-virt.x86 -ca16e36f3b240616c76ede98c88929b82e9a215d79f726e247b884531cb01756fe8c6a2f080faee0f582a9cd3e9c934445464eb2b5989fa4e499229e1b656559 config-virt.x86_64 -2c2d6ddd1e785c32cdf32e5557bb8c8ee991d7cbf1dd445131d97a8b4507d780e0bcb2d03c17345f8f9dce448502aa402e35914007e9bf4e0debad006ad5eb1d patch-5.4.22.xz" +88a81b73060eb2d21728c6ba9d16be18ecac4e6fa5e4dc9659f6256847099e4a22785f885c16a085d920f31ed668ce316b5bccc57a4a168d39391046f3418238 config-lts.aarch64 +28899bde64ff5fb1529e4788f19a78e9e17c990718f036ba63d9c1c3b3f93ca47523f5fa55822084b41ff620405782ac36ba293a7d063420f599206ff1424142 config-lts.armv7 +fb7a6873a1e15f14eafed0d9390b48a81548364438f07ac408a73cf57265312c36c09fb870f9bbcd054580355f2f50d480e30f8331d754d8c537e9cd30fb0d6f config-lts.x86 +73edefa5c7ed2c676a80dfc3e5f4dc7ca5db1ee7456c89152781bc31a5f865afad4cd8dd437ea9df7ea9238bb0ae47c0a1e9791bfbd7ab1a997b821191dc0775 config-lts.x86_64 +d47ad32c2585f566e78befdad44609d915c5a3f19962db310d531bd48849727926baf6341f1f43db6acbcda32545e40966b2c7d37300a003cd67ad9e5853b75f config-lts.ppc64le +091856d7928e017ddfac147350983c9d38bdeb512df1ec765de3417bf086ddcd98263251b157b7a7f65fe9a1785c45b89df3e9387ad17571d410564155e7f97d config-lts.s390x +d127413fe1c4730157ac51bdae70823a57d3f0a171de59f747759b24af35d93e762a041790a43b05100eeed26901e3e9e09191dc943ecbbd8e0ae580d9b5ca81 config-lts.mips64 +185973559cc91739d008f114d9e0b4f61453bd9a135602ab6e3d00a8c2c359ea0facca110d1de25183712fab8dc4c6bef90493d65a7d020adeb89db3d6517e35 config-lts.mips +da6e7dea244559dd799a4e3310aaec6ca2de66e586052d9440ddef3d468dda82e1755daf038750ce65f02319aedaba98613a90ac95489ed5334d802367debdef config-virt.aarch64 +455f7dc1da8b103ea0ad35638620d2ec347789c0eca7f4bcc20abdd3bb930908a5cbed1e37e65f8fc7b15e1610c4f08fdb02a0c2787edbe58638b8c72ea4e7b4 config-virt.armv7 +a11a9629aeace01577b44076fe5256d972443ac01d376eb807df4a5faecf9e75da64ca7a2f9a7fe3cb05fbddf5245721a0449b415794f9ca4c70b6099ef22276 config-virt.x86 +7a0938f685ead350edbf2809b02ea8b0a3c95885559e8298028b40d338d24259a648a29e45ac6f85e87d01e933cceb442b9753aa73b67c8caf3dddacbae84a7f config-virt.x86_64 +80ef478ec513eb5c6a6d322651af3d569607c2bbf4edaf2b01296963c32f0a5aae54bce160611bfce9858bcaa5eda9fb483f8aab8f9120d4c9ef8d6cc1cf1395 patch-5.4.23.xz" diff --git a/main/linux-lts/config-lts.aarch64 b/main/linux-lts/config-lts.aarch64 index fa1089aa41..3ffa261d01 100644 --- a/main/linux-lts/config-lts.aarch64 +++ b/main/linux-lts/config-lts.aarch64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.4.22 Kernel Configuration +# Linux/arm64 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-lts.armv7 b/main/linux-lts/config-lts.armv7 index 35deffd832..74d5b17af5 100644 --- a/main/linux-lts/config-lts.armv7 +++ b/main/linux-lts/config-lts.armv7 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.4.22 Kernel Configuration +# Linux/arm 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-lts.mips b/main/linux-lts/config-lts.mips index c6d5ba3a0e..712c1d41dd 100644 --- a/main/linux-lts/config-lts.mips +++ b/main/linux-lts/config-lts.mips @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/mips 5.4.22 Kernel Configuration +# Linux/mips 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-lts.mips64 b/main/linux-lts/config-lts.mips64 index 2f8d804fd5..3d2ae38ec4 100644 --- a/main/linux-lts/config-lts.mips64 +++ b/main/linux-lts/config-lts.mips64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/mips 5.4.22 Kernel Configuration +# Linux/mips 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-lts.ppc64le b/main/linux-lts/config-lts.ppc64le index 8c2e1ea2dc..a1c7d2c5da 100644 --- a/main/linux-lts/config-lts.ppc64le +++ b/main/linux-lts/config-lts.ppc64le @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/powerpc 5.4.22 Kernel Configuration +# Linux/powerpc 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-lts.s390x b/main/linux-lts/config-lts.s390x index d75c3ea027..b8f2fd6638 100644 --- a/main/linux-lts/config-lts.s390x +++ b/main/linux-lts/config-lts.s390x @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/s390 5.4.22 Kernel Configuration +# Linux/s390 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-lts.x86 b/main/linux-lts/config-lts.x86 index aaac91a424..c7fd66344c 100644 --- a/main/linux-lts/config-lts.x86 +++ b/main/linux-lts/config-lts.x86 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.4.22 Kernel Configuration +# Linux/x86 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-lts.x86_64 b/main/linux-lts/config-lts.x86_64 index ba7cb5c0b0..e04b6c5aac 100644 --- a/main/linux-lts/config-lts.x86_64 +++ b/main/linux-lts/config-lts.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 5.4.22 Kernel Configuration +# Linux/x86_64 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-virt.aarch64 b/main/linux-lts/config-virt.aarch64 index 419959ab94..c3cd2059e8 100644 --- a/main/linux-lts/config-virt.aarch64 +++ b/main/linux-lts/config-virt.aarch64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.4.22 Kernel Configuration +# Linux/arm64 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-virt.armv7 b/main/linux-lts/config-virt.armv7 index 1a24b0a008..9bf15f6d9a 100644 --- a/main/linux-lts/config-virt.armv7 +++ b/main/linux-lts/config-virt.armv7 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.4.22 Kernel Configuration +# Linux/arm 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-virt.x86 b/main/linux-lts/config-virt.x86 index 6193e6fc01..2acf0d91e1 100644 --- a/main/linux-lts/config-virt.x86 +++ b/main/linux-lts/config-virt.x86 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.4.22 Kernel Configuration +# Linux/x86 5.4.23 Kernel Configuration # # diff --git a/main/linux-lts/config-virt.x86_64 b/main/linux-lts/config-virt.x86_64 index 6be1cf10a4..d0186b3073 100644 --- a/main/linux-lts/config-virt.x86_64 +++ b/main/linux-lts/config-virt.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 5.4.22 Kernel Configuration +# Linux/x86_64 5.4.23 Kernel Configuration # # |