diff options
author | David P <megver83@parabola.nu> | 2020-01-18 12:24:17 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2020-01-18 12:24:17 -0300 |
commit | f798bb419dbef10358ef9d8365e7d592e9a055ea (patch) | |
tree | b473ea4df7af4c1bc5cdc104af396bfb56040e65 | |
parent | 6723e044157885de4b420ba95f5e4e171ae5ebf6 (diff) | |
download | abslibre-f798bb419dbef10358ef9d8365e7d592e9a055ea.tar.gz abslibre-f798bb419dbef10358ef9d8365e7d592e9a055ea.tar.bz2 abslibre-f798bb419dbef10358ef9d8365e7d592e9a055ea.zip |
updpkg: libre-testing/linux-libre-cros 5.4.11-1
Signed-off-by: David P <megver83@parabola.nu>
14 files changed, 510 insertions, 64 deletions
diff --git a/libre-testing/linux-libre-cros/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/libre-testing/linux-libre-cros/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index 792ee6feb..ac423cada 100644 --- a/libre-testing/linux-libre-cros/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/libre-testing/linux-libre-cros/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,7 +1,7 @@ -From ad4dbce36dd2083de69815f613342257535f6274 Mon Sep 17 00:00:00 2001 +From aa6f1974af2dfd6aa8acaefd72036a8b451d15d6 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Mon, 16 Sep 2019 04:53:20 +0200 -Subject: [PATCH 1/6] ZEN: Add sysctl and CONFIG to disallow unprivileged +Subject: [PATCH 01/14] ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER Our default behavior continues to match the vanilla kernel. @@ -80,7 +80,7 @@ index 6cabc124378c..fda4986da9eb 100644 if (err) goto bad_unshare_out; diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index b6f2f35d0bcf..2e9c273990e8 100644 +index 70665934d53e..9797869ed829 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -110,6 +110,9 @@ extern int core_uses_pid; @@ -128,5 +128,5 @@ index 8eadadc478f9..c36ecd19562c 100644 static DEFINE_MUTEX(userns_state_mutex); -- -2.24.1 +2.25.0 diff --git a/libre-testing/linux-libre-cros/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch b/libre-testing/linux-libre-cros/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch index c5b45a1c8..d3363291e 100644 --- a/libre-testing/linux-libre-cros/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch +++ b/libre-testing/linux-libre-cros/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch @@ -1,7 +1,7 @@ -From 5925138606a245d43d8a6db47b754cea6f6049ae Mon Sep 17 00:00:00 2001 +From 7fbd1ff7b5d08260098c55ab116c23727844d522 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao <ztuowen@gmail.com> Date: Wed, 16 Oct 2019 15:06:28 -0600 -Subject: [PATCH 2/6] lib: devres: add a helper function for ioremap_uc +Subject: [PATCH 02/14] lib: devres: add a helper function for ioremap_uc Implement a resource managed strongly uncachable ioremap function. @@ -75,5 +75,5 @@ index 6a0e9bd6524a..17624d35e82d 100644 * devm_ioremap_nocache - Managed ioremap_nocache() * @dev: Generic device to remap IO address for -- -2.24.1 +2.25.0 diff --git a/libre-testing/linux-libre-cros/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch b/libre-testing/linux-libre-cros/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch index 8dcd2ad1a..8041c279d 100644 --- a/libre-testing/linux-libre-cros/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch +++ b/libre-testing/linux-libre-cros/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch @@ -1,7 +1,7 @@ -From 3cec19068653e77d311382d7467728f5d424d4a3 Mon Sep 17 00:00:00 2001 +From 80f53f7d91081d11ecfcc19015f93cafec59adc2 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao <ztuowen@gmail.com> Date: Wed, 16 Oct 2019 15:06:29 -0600 -Subject: [PATCH 3/6] mfd: intel-lpss: Use devm_ioremap_uc for MMIO +Subject: [PATCH 03/14] mfd: intel-lpss: Use devm_ioremap_uc for MMIO Some BIOS erroneously specifies write-combining BAR for intel-lpss-pci in MTRR. This will cause the system to hang during boot. If possible, @@ -44,5 +44,5 @@ index bfe4ff337581..b0f0781a6b9c 100644 if (!lpss->priv) return -ENOMEM; -- -2.24.1 +2.25.0 diff --git a/libre-testing/linux-libre-cros/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch b/libre-testing/linux-libre-cros/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch index 570983bb3..25bd79077 100644 --- a/libre-testing/linux-libre-cros/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch +++ b/libre-testing/linux-libre-cros/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch @@ -1,7 +1,7 @@ -From 271c8fe698d3ba5b3b135ffacfd1dc0c87243e32 Mon Sep 17 00:00:00 2001 +From 874a41206f38028c52fb7d28d0cfcdee5febb495 Mon Sep 17 00:00:00 2001 From: Mika Westerberg <mika.westerberg@linux.intel.com> Date: Tue, 29 Oct 2019 20:00:21 +0300 -Subject: [PATCH 4/6] PCI: pciehp: Do not disable interrupt twice on suspend +Subject: [PATCH 04/14] PCI: pciehp: Do not disable interrupt twice on suspend We try to keep PCIe hotplug ports runtime suspended when entering system suspend. Because the PCIe portdrv sets the DPM_FLAG_NEVER_SKIP flag, the PM @@ -95,5 +95,5 @@ index b3122c151b80..56daad828c9e 100644 #endif /* PM */ }; -- -2.24.1 +2.25.0 diff --git a/libre-testing/linux-libre-cros/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch b/libre-testing/linux-libre-cros/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch index 3ac640caf..d0a364590 100644 --- a/libre-testing/linux-libre-cros/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch +++ b/libre-testing/linux-libre-cros/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch @@ -1,7 +1,7 @@ -From 8d032e7fc1d1d37974785ccdb994524d60201ca3 Mon Sep 17 00:00:00 2001 +From a062a328c43d18ce2f183ab3ad69e6da032feeb2 Mon Sep 17 00:00:00 2001 From: Mika Westerberg <mika.westerberg@linux.intel.com> Date: Tue, 29 Oct 2019 20:00:22 +0300 -Subject: [PATCH 5/6] PCI: pciehp: Prevent deadlock on disconnect +Subject: [PATCH 05/14] PCI: pciehp: Prevent deadlock on disconnect This addresses deadlocks in these common cases in hierarchies containing two switches: @@ -268,5 +268,5 @@ index 86d97f3112f0..a2a263764ef8 100644 int pciehp_query_power_fault(struct controller *ctrl) -- -2.24.1 +2.25.0 diff --git a/libre-testing/linux-libre-cros/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch b/libre-testing/linux-libre-cros/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch index c5b27c966..9fc0360c1 100644 --- a/libre-testing/linux-libre-cros/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch +++ b/libre-testing/linux-libre-cros/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch @@ -1,7 +1,7 @@ -From 9888be9033e8e79a055df2ae8d388baf5970f83b Mon Sep 17 00:00:00 2001 +From 1706504ce96ddff9f2155467707f4e39e4f9acb1 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> Date: Thu, 28 Nov 2019 23:50:40 +0100 -Subject: [PATCH 6/6] ACPI: PM: s2idle: Rework ACPI events synchronization +Subject: [PATCH 06/14] ACPI: PM: s2idle: Rework ACPI events synchronization Note that the EC GPE processing need not be synchronized in acpi_s2idle_wake() after invoking acpi_ec_dispatch_gpe(), because @@ -74,5 +74,5 @@ index 2af937a8b1c5..6747a279621b 100644 acpi_enable_all_runtime_gpes(); -- -2.24.1 +2.25.0 diff --git a/libre-testing/linux-libre-cros/0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch b/libre-testing/linux-libre-cros/0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch new file mode 100644 index 000000000..8ca15f181 --- /dev/null +++ b/libre-testing/linux-libre-cros/0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch @@ -0,0 +1,36 @@ +From a8225afcc3df821f990d024090fbd4e9c84900a7 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> +Date: Tue, 24 Dec 2019 05:18:47 +0100 +Subject: [PATCH 07/14] iwlwifi: pcie: restore support for Killer Qu C0 NICs + +Commit 809805a820c6 refactored the cfg mangling. Unfortunately, in this +process the lines which picked the right cfg for Killer Qu C0 NICs after +C0 detection were lost. These lines were added by commit b9500577d361. + +I suspect this is more of the "merge damage" which commit 7cded5658329 +talks about. + +Fixes: 809805a820c6 ("iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe") +Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +--- + drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +index b0b7eca1754e..de62a6dc4e73 100644 +--- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c ++++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +@@ -1107,6 +1107,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) + cfg = &iwl9560_2ac_cfg_qu_c0_jf_b0; + else if (cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0) + cfg = &iwl9560_2ac_160_cfg_qu_c0_jf_b0; ++ else if (cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0) ++ cfg = &killer1650s_2ax_cfg_qu_c0_hr_b0; ++ else if (cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0) ++ cfg = &killer1650i_2ax_cfg_qu_c0_hr_b0; + } + + /* same thing for QuZ... */ +-- +2.25.0 + diff --git a/libre-testing/linux-libre-cros/0011-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch b/libre-testing/linux-libre-cros/0011-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch new file mode 100644 index 000000000..d96470a37 --- /dev/null +++ b/libre-testing/linux-libre-cros/0011-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch @@ -0,0 +1,129 @@ +From 2b2a5485e24df06dcac771fbe169e26236d2a75f Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon, 30 Dec 2019 11:15:30 +0000 +Subject: [PATCH 11/14] 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@vger.kernel.org +Link: https://patchwork.freedesktop.org/patch/msgid/20191209023215.3519970-1-chris@chris-wilson.co.uk +(cherry picked from commit 82c69bf58650e644c61aa2bf5100b63a1070fd2f) +--- + drivers/gpu/drm/i915/gt/intel_lrc.c | 42 ++++++++++++++--------------- + 1 file changed, 20 insertions(+), 22 deletions(-) + +diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c +index d564bfcab6a3..49ce15553e7b 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) + { +@@ -495,7 +489,6 @@ __unwind_incomplete_requests(struct intel_engine_cs *engine) + continue; /* XXX */ + + __i915_request_unsubmit(rq); +- unwind_wa_tail(rq); + + /* + * Push the request back into the queue for later resubmission. +@@ -650,13 +643,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. +@@ -675,7 +684,6 @@ static u64 execlists_update_context(const struct i915_request *rq) + */ + mb(); + +- desc = ce->lrc_desc; + ce->lrc_desc &= ~CTX_DESC_FORCE_RESTORE; + + return desc; +@@ -1150,16 +1158,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.25.0 + diff --git a/libre-testing/linux-libre-cros/0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch b/libre-testing/linux-libre-cros/0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch new file mode 100644 index 000000000..42e5e03c0 --- /dev/null +++ b/libre-testing/linux-libre-cros/0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch @@ -0,0 +1,35 @@ +From a5f880ae74a3317bc47838db8715c5b0e6fd156c Mon Sep 17 00:00:00 2001 +From: Boyan Ding <boyan.j.ding@gmail.com> +Date: Wed, 1 Jan 2020 11:44:49 -0800 +Subject: [PATCH 12/14] pinctrl: sunrisepoint: Add missing Interrupt Status + register offset + +Commit 179e5a6114cc ("pinctrl: intel: Remove default Interrupt Status +offset") removes default interrupt status offset of GPIO controllers, +with previous commits explicitly providing the previously default +offsets. However, the is_offset value in SPTH_COMMUNITY is missing, +preventing related irq from being properly detected and handled. + +Fixes: f702e0b93cdb ("pinctrl: sunrisepoint: Provide Interrupt Status register offset") +Link: https://bugzilla.kernel.org/show_bug.cgi?id=205745 +Cc: stable@vger.kernel.org +Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com> +--- + drivers/pinctrl/intel/pinctrl-sunrisepoint.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/pinctrl/intel/pinctrl-sunrisepoint.c b/drivers/pinctrl/intel/pinctrl-sunrisepoint.c +index 44d7f50bbc82..d936e7aa74c4 100644 +--- a/drivers/pinctrl/intel/pinctrl-sunrisepoint.c ++++ b/drivers/pinctrl/intel/pinctrl-sunrisepoint.c +@@ -49,6 +49,7 @@ + .padown_offset = SPT_PAD_OWN, \ + .padcfglock_offset = SPT_PADCFGLOCK, \ + .hostown_offset = SPT_HOSTSW_OWN, \ ++ .is_offset = SPT_GPI_IS, \ + .ie_offset = SPT_GPI_IE, \ + .pin_base = (s), \ + .npins = ((e) - (s) + 1), \ +-- +2.25.0 + diff --git a/libre-testing/linux-libre-cros/0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch b/libre-testing/linux-libre-cros/0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch new file mode 100644 index 000000000..7e7306c5b --- /dev/null +++ b/libre-testing/linux-libre-cros/0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch @@ -0,0 +1,48 @@ +From bb8bf48f4e9ab555fe824358d8d01da52f7d8255 Mon Sep 17 00:00:00 2001 +From: Mehmet Akif Tasova <makiftasova@gmail.com> +Date: Mon, 30 Dec 2019 15:48:16 +0200 +Subject: [PATCH 13/14] Revert "iwlwifi: mvm: fix scan config command size" + +Since v5.4-rc1 was released, iwlwifi started throwing errors when scan +commands were sent to the firmware with certain devices (depending on +the OTP burned in the device, which contains the list of available +channels). For instance: + +iwlwifi 0000:00:14.3: FW error in SYNC CMD SCAN_CFG_CMD + +This bug was reported in the ArchLinux bug tracker: +https://bugs.archlinux.org/task/64703 + +And also in a specific case in bugzilla, when the lar_disabled option +was set: https://bugzilla.kernel.org/show_bug.cgi?id=205193 + +Revert the commit that introduced this error, by using the number of +channels from the OTP instead of the number of channels that is +specified in the FW TLV that tells us how many channels it supports. + +This reverts commit 06eb547c4ae4382e70d556ba213d13c95ca1801b. + +Cc: stable@vger.kernel.org # v5.4+ +Signed-off-by: Mehmet Akif Tasova <makiftasova@gmail.com> +[ Luca: reworded the commit message a bit. ] +Signed-off-by: Luca Coelho <luciano.coelho@intel.com> +--- + drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c +index fcafa22ec6ce..8aa567d7912c 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c +@@ -1220,7 +1220,7 @@ static int iwl_mvm_legacy_config_scan(struct iwl_mvm *mvm) + cmd_size = sizeof(struct iwl_scan_config_v2); + else + cmd_size = sizeof(struct iwl_scan_config_v1); +- cmd_size += num_channels; ++ cmd_size += mvm->fw->ucode_capa.n_scan_channels; + + cfg = kzalloc(cmd_size, GFP_KERNEL); + if (!cfg) +-- +2.25.0 + diff --git a/libre-testing/linux-libre-cros/0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch b/libre-testing/linux-libre-cros/0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch new file mode 100644 index 000000000..3dc88abba --- /dev/null +++ b/libre-testing/linux-libre-cros/0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch @@ -0,0 +1,174 @@ +From ddd410cff71ff21a64d66039f30e197314e18e23 Mon Sep 17 00:00:00 2001 +From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> +Date: Sat, 4 Jan 2020 23:29:22 -0800 +Subject: [PATCH 14/14] e1000e: Revert "e1000e: Make watchdog use delayed work" + +This reverts commit 59653e6497d16f7ac1d9db088f3959f57ee8c3db. + +This is due to this commit causing driver crashes and connections to +reset unexpectedly. + +Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> +--- + drivers/net/ethernet/intel/e1000e/e1000.h | 5 +- + drivers/net/ethernet/intel/e1000e/netdev.c | 54 ++++++++++------------ + 2 files changed, 27 insertions(+), 32 deletions(-) + +diff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h +index 6c51b1bad8c4..37a2314d3e6b 100644 +--- a/drivers/net/ethernet/intel/e1000e/e1000.h ++++ b/drivers/net/ethernet/intel/e1000e/e1000.h +@@ -185,13 +185,12 @@ struct e1000_phy_regs { + + /* board specific private data structure */ + struct e1000_adapter { ++ struct timer_list watchdog_timer; + struct timer_list phy_info_timer; + struct timer_list blink_timer; + + struct work_struct reset_task; +- struct delayed_work watchdog_task; +- +- struct workqueue_struct *e1000_workqueue; ++ struct work_struct watchdog_task; + + const struct e1000_info *ei; + +diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c +index d7d56e42a6aa..060daf66bf63 100644 +--- a/drivers/net/ethernet/intel/e1000e/netdev.c ++++ b/drivers/net/ethernet/intel/e1000e/netdev.c +@@ -1780,8 +1780,7 @@ static irqreturn_t e1000_intr_msi(int __always_unused irq, void *data) + } + /* guard against interrupt when we're going down */ + if (!test_bit(__E1000_DOWN, &adapter->state)) +- mod_delayed_work(adapter->e1000_workqueue, +- &adapter->watchdog_task, HZ); ++ mod_timer(&adapter->watchdog_timer, jiffies + 1); + } + + /* Reset on uncorrectable ECC error */ +@@ -1861,8 +1860,7 @@ static irqreturn_t e1000_intr(int __always_unused irq, void *data) + } + /* guard against interrupt when we're going down */ + if (!test_bit(__E1000_DOWN, &adapter->state)) +- mod_delayed_work(adapter->e1000_workqueue, +- &adapter->watchdog_task, HZ); ++ mod_timer(&adapter->watchdog_timer, jiffies + 1); + } + + /* Reset on uncorrectable ECC error */ +@@ -1907,8 +1905,7 @@ static irqreturn_t e1000_msix_other(int __always_unused irq, void *data) + hw->mac.get_link_status = true; + /* guard against interrupt when we're going down */ + if (!test_bit(__E1000_DOWN, &adapter->state)) +- mod_delayed_work(adapter->e1000_workqueue, +- &adapter->watchdog_task, HZ); ++ mod_timer(&adapter->watchdog_timer, jiffies + 1); + } + + if (!test_bit(__E1000_DOWN, &adapter->state)) +@@ -4281,6 +4278,7 @@ void e1000e_down(struct e1000_adapter *adapter, bool reset) + + napi_synchronize(&adapter->napi); + ++ del_timer_sync(&adapter->watchdog_timer); + del_timer_sync(&adapter->phy_info_timer); + + spin_lock(&adapter->stats64_lock); +@@ -5152,11 +5150,25 @@ static void e1000e_check_82574_phy_workaround(struct e1000_adapter *adapter) + } + } + ++/** ++ * e1000_watchdog - Timer Call-back ++ * @data: pointer to adapter cast into an unsigned long ++ **/ ++static void e1000_watchdog(struct timer_list *t) ++{ ++ struct e1000_adapter *adapter = from_timer(adapter, t, watchdog_timer); ++ ++ /* Do the rest outside of interrupt context */ ++ schedule_work(&adapter->watchdog_task); ++ ++ /* TODO: make this use queue_delayed_work() */ ++} ++ + static void e1000_watchdog_task(struct work_struct *work) + { + struct e1000_adapter *adapter = container_of(work, + struct e1000_adapter, +- watchdog_task.work); ++ watchdog_task); + struct net_device *netdev = adapter->netdev; + struct e1000_mac_info *mac = &adapter->hw.mac; + struct e1000_phy_info *phy = &adapter->hw.phy; +@@ -5404,9 +5416,8 @@ static void e1000_watchdog_task(struct work_struct *work) + + /* Reset the timer */ + if (!test_bit(__E1000_DOWN, &adapter->state)) +- queue_delayed_work(adapter->e1000_workqueue, +- &adapter->watchdog_task, +- round_jiffies(2 * HZ)); ++ mod_timer(&adapter->watchdog_timer, ++ round_jiffies(jiffies + 2 * HZ)); + } + + #define E1000_TX_FLAGS_CSUM 0x00000001 +@@ -7259,21 +7270,11 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent) + goto err_eeprom; + } + +- adapter->e1000_workqueue = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, +- e1000e_driver_name); +- +- if (!adapter->e1000_workqueue) { +- err = -ENOMEM; +- goto err_workqueue; +- } +- +- INIT_DELAYED_WORK(&adapter->watchdog_task, e1000_watchdog_task); +- queue_delayed_work(adapter->e1000_workqueue, &adapter->watchdog_task, +- 0); +- ++ timer_setup(&adapter->watchdog_timer, e1000_watchdog, 0); + timer_setup(&adapter->phy_info_timer, e1000_update_phy_info, 0); + + INIT_WORK(&adapter->reset_task, e1000_reset_task); ++ INIT_WORK(&adapter->watchdog_task, e1000_watchdog_task); + INIT_WORK(&adapter->downshift_task, e1000e_downshift_workaround); + INIT_WORK(&adapter->update_phy_task, e1000e_update_phy_task); + INIT_WORK(&adapter->print_hang_task, e1000_print_hw_hang); +@@ -7367,9 +7368,6 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent) + return 0; + + err_register: +- flush_workqueue(adapter->e1000_workqueue); +- destroy_workqueue(adapter->e1000_workqueue); +-err_workqueue: + if (!(adapter->flags & FLAG_HAS_AMT)) + e1000e_release_hw_control(adapter); + err_eeprom: +@@ -7416,17 +7414,15 @@ static void e1000_remove(struct pci_dev *pdev) + */ + if (!down) + set_bit(__E1000_DOWN, &adapter->state); ++ del_timer_sync(&adapter->watchdog_timer); + del_timer_sync(&adapter->phy_info_timer); + + cancel_work_sync(&adapter->reset_task); ++ cancel_work_sync(&adapter->watchdog_task); + cancel_work_sync(&adapter->downshift_task); + cancel_work_sync(&adapter->update_phy_task); + cancel_work_sync(&adapter->print_hang_task); + +- cancel_delayed_work(&adapter->watchdog_task); +- flush_workqueue(adapter->e1000_workqueue); +- destroy_workqueue(adapter->e1000_workqueue); +- + if (adapter->flags & FLAG_HAS_HW_TIMESTAMP) { + cancel_work_sync(&adapter->tx_hwtstamp_work); + if (adapter->tx_hwtstamp_skb) { +-- +2.25.0 + diff --git a/libre-testing/linux-libre-cros/PKGBUILD b/libre-testing/linux-libre-cros/PKGBUILD index b2675b305..94f8fab8f 100644 --- a/libre-testing/linux-libre-cros/PKGBUILD +++ b/libre-testing/linux-libre-cros/PKGBUILD @@ -5,12 +5,11 @@ _replacesoldkernels=() # '%' gets replaced with kernel suffix _replacesoldmodules=() # '%' gets replaced with kernel suffix pkgbase=linux-libre-cros -pkgver=5.4.6 +pkgver=5.4.11 pkgrel=1 pkgdesc='Linux-libre (Veyron Chromebooks)' -rcnver=5.4.5 -rcnrel=armv7-x13 -url='https://git.parabola.nu/~megver83/cros-kernel.git' +_srctag=v$pkgver-gnu +url="https://git.parabola.nu/~megver83/cros-kernel.git/log/?h=$_srctag" arch=(armv7h) license=(GPL2) makedepends=( @@ -22,7 +21,7 @@ makedepends=( options=('!strip') _srcname=cros-kernel source=( - "git+$url?signed#tag=v$pkgver-gnu" + "git+https://git.parabola.nu/~megver83/cros-kernel.git?signed#tag=$_srctag" "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_"{clut224.ppm,vga16.ppm,mono.pbm}{,.sig} config # the main kernel config files linux.preset # preset file for mkinitcpio ramdisk @@ -42,9 +41,15 @@ source=( 0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch 0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch 0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch + 0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch + #0008-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch + #0009-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch + #0010-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch + 0011-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch + 0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch + 0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch + 0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch - # RCN patch (CM3 firmware deblobbed and bloatware removed) - "https://repo.parabola.nu/other/rcn-libre/patches/$rcnver/rcn-libre-$rcnver-$rcnrel.patch"{,.sig} # Arch Linux ARM patches 0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch 0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch @@ -66,21 +71,24 @@ sha512sums=('SKIP' 'SKIP' '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1' 'SKIP' - 'a777070b3b52084a8ef49b7617581c0d5459f08452ff73616930e6f15c2ffac64faeb445a2fe7b1ec5e91088ef880f0a7e09bb91efc20c20303e418cd0bb698c' + '23d68ec52bf124d336c3357afd3405ae5904d0b3d48bdc10cbe0948dc8c1cd9152653cbc2ebe8c4d0240498e85f5ccd966878aa3a17c5fadf74dbde742df348d' 'f01e7925b262d2874a8a991b1f27d057356a2a384d2012b61be5a631d4e4d7cf87461c8fb9e7f183831f5a829ad204897f1f0545a52df6288a0e04a5c2e31b96' '167bc73c6c1c63931806238905dc44c7d87c5a5c0f6293159f2133dfe717fb44081018d810675716d1605ec7dff5e8333b87b19e09e2de21d0448e447437873b' 'bb6718984a7357c9b00c37e4788480e5b8b75018c172ecc1441bc3fc5d2d42444eb5d8c7f9d2e3a7d6fed6d03acb565e3c0559486e494c40a7fe6bd0570c9ede' '143dea30c6da00e504c99984a98a0eb2411f558fcdd9dfa7f607d6c14e9e7dffff9cb00121d9317044b07e3e210808286598c785ee854084b993ec9cb14d8232' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' - 'c8b2258f0b4206a8a0a2c6b6e9a9877b4c914b401842c7f00d1ddde78bd6734a6cde32db56e3d4e99caa45ae0da0c02593828cadeb1ca813f19d23f6d08be4d2' - '3893afefd914017a2932159233fdaffc722a3278755b5a5c6617dd9dd66c2d0d26103e04148709ab7a7e4b74f5efbdba7949c093046592f8d872de864404437f' - '6acb44d5da656c154a024ecaa6e071b76bbc1c44cee7fdf317a8b908b71d9d2e9796130abc4b547609cbf898c4a763ba9676963d37eb81d94c44d4695962d02a' - '4e2996b2a377324314447e56b7dfd2ac0c4796387f125f6141baa23c0fe331f6225aacce6e32a6ea9b04ae6f70371a0f71ce8b1b7a3cb47c1147d51b0d05054f' - 'ccee6c7997bf6c9885ea0d2996df9d86c7cfec98748b3947ecd98060fa6bb5a8fed9261586b73d2901718ee1e1e9b8955631f5669ff04e5ef86e82ecce213515' - '126d979a1ee72a74259f2afce0947a741a37b23d2c012422e94a498b5afc29361396d8ee8ab96f7c91b6e399f8a3ef3839270e0871bc144eeb26b91609096964' - 'bc449032f904b5ef5c4506124871230587dd72849f7fed1d7e9f6ab6f530c24415dfa0f29b27fa98191a671c9646b6066fbf163b5533774307dc68f610e3958f' - 'SKIP' + '8ec487a1f8444f0ad1cc41e90fb96ba5b9755a04ad488a83ff16c85ccf0f69441b8eff6f5cea9a31cca6de3dfb2524fa2eb7ac73529a512d5ed492a8fd7d18dc' + 'cf69e14fa7e4755cba74592b3be886d253ea92f120052f46df843fe013954ba41dbe1e9eef13335ca6e12b03072f610692c8304141965650cfab40a69fbeb835' + 'c0ed4c20b9b6e705ce819fb766db53bff691495b53e2050a8dc110d361d7e55ec1e260fbd4a2c0076f097aa02b5ea3e0fcbe97b890253248d8b094a10981c4b3' + 'bc68605e05dc39b6553f721752b8acc604f286adb41f2b50518ffc98e33ac70d69ff08a5db037782da8791acd402b79636b8d7de4777e80fecbdc5cfa07d00cb' + '2ce5ecf3e6a0ba6c3d0adf81c7a80ed6a6918ebb88f41a962e158c5d19d9e5ddc7cbbe2ee0723db4442cc1dfd21e43d0169a97bebe200a4fc3860b2ecf9a848d' + '381b862dd5f389b374066d441da5b997de6cff591cab385cf71bf2ec620f113c649a3b35dba17f2e5b0a2123c89d63c6e009f32f0b59a532d73df05f4be77251' + 'fef25b81b1363fe287e33623f29e965e496a3be6ebf82a55b06211a5a81f7d361f47cda0f104f67bc009714de342bee1459b254cfd66ed804f72cc1a01a3a1af' + '8ddbe5e42882743090e03a1ee078944a371354e62229e06efd44dff8855fbbe0545677609f4fb95b7252e601664464cb8c290cf31d24876329f714d9371f1b3c' + 'bd41ec9d26c2df10659fd5222bd48987e3012d1546a3d5b0722be6e390ada1bd4a65d5f0747931c16bd27a832ec3b41e0a930fc62fee9a4a38e965744b4f6979' + '71f23dd88eb84363c6240fea28dc6044ba51fb0ba0f4c54820aba65b3341c3ecd74306919576514d68ad22e89e50cdd59ab7bc924703293696f7356f7cb95375' + 'dd05c54c1ac94402c248a1d54a36b781c6e230e0fcddba9cabcbda4910a784a21d5b8e716eae6339841ff1195ccc2a3df1e748fd4f933403ae067029290e98f0' 'b576a9c40ba59485c350f71b9234d9e71f245e25b26382bd2f67019f3309c3b5705a6020eae0a9dfccacc763fb2056a5937c0a8ff4e64f99ba1d60f0b2acb03f' '85a13a274d4cbaca3ddbe8eaf883f1a1184765f8d09d6d40bb32defbe0876cb0153513e8db8671d7fc053e383ced793b74245ff29364a760e1a52bb36ebc8e85' 'f9ce0bb4f06be6f742d8a31384e90fdab1a4686f14d5a8845e0c341dcfa62ae59db933237174223de9b32f9d91f99125c20ede7dff664755f1d42ea0cecdefdb' diff --git a/libre-testing/linux-libre-cros/config b/libre-testing/linux-libre-cros/config index 747b623e4..2c7d0c027 100644 --- a/libre-testing/linux-libre-cros/config +++ b/libre-testing/linux-libre-cros/config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.4.2-gnu Kernel Configuration +# Linux/arm 5.4.11-gnu Kernel Configuration # # @@ -9,6 +9,7 @@ CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=90200 CONFIG_CLANG_VERSION=0 +CONFIG_CC_CAN_LINK=y CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y @@ -36,6 +37,7 @@ CONFIG_KERNEL_XZ=y # CONFIG_KERNEL_LZ4 is not set CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SWAP=y +# CONFIG_DISK_BASED_SWAP is not set CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y @@ -396,7 +398,6 @@ CONFIG_SOC_IMX7ULP=y CONFIG_SOC_VF610=y CONFIG_VF_USE_ARM_GLOBAL_TIMER=y # CONFIG_VF_USE_PIT_TIMER is not set -CONFIG_WAND_RFKILL=m CONFIG_ARCH_KEYSTONE=y # CONFIG_ARCH_MEDIATEK is not set CONFIG_ARCH_MESON=y @@ -664,6 +665,7 @@ CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_ATTR_SET=y CONFIG_CPU_FREQ_GOV_COMMON=y CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_TIMES is not set CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set @@ -676,12 +678,14 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +# CONFIG_CPU_BOOST is not set # # CPU frequency scaling drivers # CONFIG_CPUFREQ_DT=y CONFIG_CPUFREQ_DT_PLATDEV=y +# CONFIG_CPUFREQ_DUMMY is not set CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m # CONFIG_ARM_ARMADA_37XX_CPUFREQ is not set # CONFIG_ARM_ARMADA_8K_CPUFREQ is not set @@ -887,14 +891,9 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y CONFIG_PLUGIN_HOSTCC="g++" CONFIG_HAVE_GCC_PLUGINS=y CONFIG_GCC_PLUGINS=y - -# -# GCC plugins -# # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set # CONFIG_GCC_PLUGIN_RANDSTRUCT is not set -# end of GCC plugins # end of General architecture-dependent options CONFIG_RT_MUTEXES=y @@ -928,6 +927,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEBUG_FS_ZONED=y CONFIG_BLK_SED_OPAL=y +# CONFIG_BLK_INLINE_ENCRYPTION is not set # # Partition Types @@ -1012,6 +1012,7 @@ CONFIG_CONTIG_ALLOC=y CONFIG_BOUNCE=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_MMAP_NOEXEC_TAINT=1 # CONFIG_CLEANCACHE is not set CONFIG_FRONTSWAP=y CONFIG_CMA=y @@ -1030,6 +1031,7 @@ CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_FRAME_VECTOR=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set +# CONFIG_LOW_MEM_NOTIFY is not set # end of Memory Management options CONFIG_NET=y @@ -1319,6 +1321,7 @@ CONFIG_NETFILTER_XT_MATCH_POLICY=m CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m +# CONFIG_NETFILTER_XT_MATCH_QUOTA2 is not set CONFIG_NETFILTER_XT_MATCH_RATEEST=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_RECENT=m @@ -1505,6 +1508,7 @@ CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_NFLOG=m CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m CONFIG_IP_DCCP=m CONFIG_INET_DCCP_DIAG=m @@ -1769,7 +1773,6 @@ CONFIG_CAN_RAW=m CONFIG_CAN_BCM=m CONFIG_CAN_GW=m CONFIG_CAN_J1939=m -CONFIG_CAN_ISOTP=m # # CAN Device Drivers @@ -1834,6 +1837,9 @@ CONFIG_BT_6LOWPAN=m CONFIG_BT_LEDS=y # CONFIG_BT_SELFTEST is not set CONFIG_BT_DEBUGFS=y +CONFIG_BT_ENFORCE_CLASSIC_SECURITY=y +# CONFIG_BT_HCI_LE_SPLITTER is not set +# CONFIG_BT_EVE_HACKS is not set # # Bluetooth device drivers @@ -2073,6 +2079,7 @@ CONFIG_PCI_KEYSTONE_HOST=y # CONFIG_UEVENT_HELPER is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEVTMPFS_SAFE=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -2123,7 +2130,6 @@ CONFIG_SIMPLE_PM_BUS=y # CONFIG_SUN50I_DE2_BUS is not set CONFIG_SUNXI_RSB=y # CONFIG_TEGRA_GMI is not set -CONFIG_TI_PWMSS=y CONFIG_TI_SYSC=y CONFIG_VEXPRESS_CONFIG=y # end of Bus devices @@ -2372,8 +2378,8 @@ CONFIG_SRAM_EXEC=y CONFIG_VEXPRESS_SYSCFG=y # CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_XILINX_SDFEC is not set +# CONFIG_UID_SYS_STATS is not set # CONFIG_PVPANIC is not set -CONFIG_UDOO_ARD=m # CONFIG_C2PORT is not set # @@ -2441,7 +2447,6 @@ CONFIG_ALTERA_STAPL=m # # end of Intel MIC & related support -CONFIG_BEAGLEBONE_PINMUX_HELPER=m # CONFIG_ECHO is not set # CONFIG_MISC_ALCOR_PCI is not set # CONFIG_MISC_RTSX_PCI is not set @@ -2686,6 +2691,7 @@ CONFIG_DM_BIO_PRISON=m CONFIG_DM_PERSISTENT_DATA=m CONFIG_DM_UNSTRIPED=m CONFIG_DM_CRYPT=m +# CONFIG_DM_VERITY_CHROMEOS is not set CONFIG_DM_SNAPSHOT=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_CACHE=m @@ -2706,11 +2712,13 @@ CONFIG_DM_UEVENT=y CONFIG_DM_FLAKEY=m CONFIG_DM_VERITY=m # CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set +# CONFIG_DM_VERITY_AVB is not set # CONFIG_DM_VERITY_FEC is not set CONFIG_DM_SWITCH=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_INTEGRITY=m CONFIG_DM_ZONED=m +# CONFIG_DM_BOW is not set CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m @@ -3896,7 +3904,9 @@ CONFIG_HW_RANDOM_TPM=y CONFIG_TCG_TIS_I2C_ATMEL=m CONFIG_TCG_TIS_I2C_INFINEON=m # CONFIG_TCG_TIS_I2C_NUVOTON is not set +# CONFIG_TCG_CR50_I2C is not set # CONFIG_TCG_VTPM_PROXY is not set +# CONFIG_TCG_VIRTIO_VTPM is not set # CONFIG_TCG_TIS_ST33ZP24_I2C is not set # CONFIG_TCG_TIS_ST33ZP24_SPI is not set CONFIG_DEVPORT=y @@ -4178,7 +4188,6 @@ CONFIG_OF_GPIO=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y -# CONFIG_GPIO_OF_HELPER is not set CONFIG_GPIO_GENERIC=y CONFIG_GPIO_MAX730X=m @@ -4384,8 +4393,6 @@ CONFIG_CHARGER_TPS65090=m # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_CROS_USBPD is not set # CONFIG_CHARGER_UCS1002 is not set -CONFIG_POWER_SEQUENCE=y -CONFIG_PWRSEQ_GENERIC=y CONFIG_HWMON=y CONFIG_HWMON_VID=m # CONFIG_HWMON_DEBUG_CHIP is not set @@ -5750,6 +5757,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y # CONFIG_DRM_DP_CEC is not set CONFIG_DRM_TTM=m CONFIG_DRM_VRAM_HELPER=m +CONFIG_DRM_TTM_BO_WAIT_TIMEOUT=15 CONFIG_DRM_GEM_CMA_HELPER=y CONFIG_DRM_KMS_CMA_HELPER=y CONFIG_DRM_GEM_SHMEM_HELPER=y @@ -5791,6 +5799,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_VGEM=m # CONFIG_DRM_VKMS is not set CONFIG_DRM_ATI_PCIGART=y +# CONFIG_DRM_EVDI is not set CONFIG_DRM_EXYNOS=m # @@ -5944,11 +5953,13 @@ CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_CDNS_DSI is not set CONFIG_DRM_DUMB_VGA_DAC=m +# CONFIG_DRM_ITE_IT6505 is not set # CONFIG_DRM_LVDS_ENCODER is not set # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_NXP_PTN3460=m CONFIG_DRM_PARADE_PS8622=m CONFIG_DRM_SIL_SII8620=m +# CONFIG_DRM_PARADE_PS8640 is not set CONFIG_DRM_SII902X=m CONFIG_DRM_SII9234=m # CONFIG_DRM_THINE_THC63LVD1024 is not set @@ -5957,6 +5968,7 @@ CONFIG_DRM_TOSHIBA_TC358767=m CONFIG_DRM_TI_TFP410=m # CONFIG_DRM_TI_SN65DSI86 is not set CONFIG_DRM_ANALOGIX_DP=m +# CONFIG_ANALOGIX_ANX7625 is not set CONFIG_DRM_I2C_ADV7511=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7533=y @@ -6674,6 +6686,7 @@ CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m CONFIG_HID_PRIMAX=m +# CONFIG_HID_QUICKSTEP is not set CONFIG_HID_RETRODE=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m @@ -7057,6 +7070,7 @@ CONFIG_USB_F_HID=m CONFIG_USB_F_PRINTER=m CONFIG_USB_F_TCM=m CONFIG_USB_CONFIGFS=m +# CONFIG_USB_CONFIGFS_UEVENT is not set CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_OBEX=y @@ -7069,6 +7083,8 @@ CONFIG_USB_CONFIGFS_PHONET=y CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_F_LB_SS=y CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_ACC is not set +# CONFIG_USB_CONFIGFS_F_AUDIO_SRC is not set CONFIG_USB_CONFIGFS_F_UAC1=y # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set CONFIG_USB_CONFIGFS_F_UAC2=y @@ -7523,6 +7539,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_INPUT=m CONFIG_VIRTIO_MMIO=m # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set +# CONFIG_VIRTIO_WL is not set # # Microsoft Hyper-V guest support @@ -7715,6 +7732,7 @@ CONFIG_UWB_HWA=m CONFIG_UWB_WHCI=m CONFIG_UWB_I1480U=m CONFIG_EXFAT_FS=m +CONFIG_EXFAT_DONT_MOUNT_VFAT=y CONFIG_EXFAT_DISCARD=y # CONFIG_EXFAT_DELAYED_SYNC is not set # CONFIG_EXFAT_KERNEL_DEBUG is not set @@ -7734,7 +7752,9 @@ CONFIG_CROS_EC_CHARDEV=y CONFIG_CROS_EC_LIGHTBAR=m CONFIG_CROS_EC_VBC=m CONFIG_CROS_EC_DEBUGFS=m +# CONFIG_CROS_EC_SENSORHUB is not set CONFIG_CROS_EC_SYSFS=m +# CONFIG_CROS_EC_PD_UPDATE is not set # CONFIG_MELLANOX_PLATFORM is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y @@ -8058,7 +8078,6 @@ CONFIG_DMARD06=m CONFIG_DMARD09=m CONFIG_DMARD10=m CONFIG_HID_SENSOR_ACCEL_3D=m -CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m @@ -8178,10 +8197,6 @@ CONFIG_SPS30=m CONFIG_VZ89X=m # end of Chemical Sensors -CONFIG_IIO_CROS_EC_SENSORS_CORE=m -CONFIG_IIO_CROS_EC_SENSORS=m -CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m - # # Hid Sensor IIO Common # @@ -8353,7 +8368,6 @@ CONFIG_CM3232=m CONFIG_CM3323=m CONFIG_CM3605=m CONFIG_CM36651=m -CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_GP2AP020A00F=m CONFIG_SENSORS_ISL29018=m CONFIG_SENSORS_ISL29028=m @@ -8462,7 +8476,6 @@ CONFIG_ABP060MG=m CONFIG_BMP280=m CONFIG_BMP280_I2C=m CONFIG_BMP280_SPI=m -CONFIG_IIO_CROS_EC_BARO=m CONFIG_DPS310=m CONFIG_HID_SENSOR_PRESS=m CONFIG_HP03=m @@ -8544,6 +8557,7 @@ CONFIG_PWM_SUN4I=m CONFIG_PWM_TEGRA=m CONFIG_PWM_TIECAP=m CONFIG_PWM_TIEHRPWM=m +CONFIG_PWM_TIPWMSS=y CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m @@ -8715,8 +8729,8 @@ CONFIG_PM_OPP=y # CONFIG_SLIMBUS is not set # CONFIG_INTERCONNECT is not set CONFIG_COUNTER=m -# CONFIG_TI_EQEP is not set # CONFIG_FTM_QUADDEC is not set +# CONFIG_PKGLIST is not set # end of Device Drivers # @@ -8846,6 +8860,7 @@ CONFIG_PROC_FS=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_CHILDREN=y +# CONFIG_PROC_UID is not set CONFIG_KERNFS=y CONFIG_SYSFS=y CONFIG_TMPFS=y @@ -9055,6 +9070,7 @@ CONFIG_KEYS=y # CONFIG_ENCRYPTED_KEYS is not set # CONFIG_KEY_DH_OPERATIONS is not set # CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set CONFIG_SECURITY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y @@ -9077,6 +9093,7 @@ CONFIG_SECURITY_SMACK_BRINGUP=y # CONFIG_SECURITY_YAMA is not set # CONFIG_SECURITY_SAFESETID is not set # CONFIG_SECURITY_LOCKDOWN_LSM is not set +CONFIG_SECURITY_CHROMIUMOS_READONLY_PROC_SELF_MEM=y CONFIG_INTEGRITY=y # CONFIG_INTEGRITY_SIGNATURE is not set CONFIG_INTEGRITY_AUDIT=y @@ -9506,6 +9523,7 @@ CONFIG_LOCKUP_DETECTOR=y CONFIG_SOFTLOCKUP_DETECTOR=y # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +# CONFIG_HARDLOCKUP_DETECTOR_BUDDY_CPU is not set CONFIG_DETECT_HUNG_TASK=y CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set @@ -9596,6 +9614,7 @@ CONFIG_UBSAN_ALIGNMENT=y CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y CONFIG_STRICT_DEVMEM=y # CONFIG_IO_STRICT_DEVMEM is not set +# CONFIG_ERROR_ON_WARNING is not set # CONFIG_ARM_PTDUMP_DEBUGFS is not set # CONFIG_DEBUG_WX is not set # CONFIG_UNWINDER_FRAME_POINTER is not set diff --git a/libre-testing/linux-libre-cros/linux-libre-cros.install b/libre-testing/linux-libre-cros/linux-libre-cros.install index 962dcc3b3..05264329e 100644 --- a/libre-testing/linux-libre-cros/linux-libre-cros.install +++ b/libre-testing/linux-libre-cros/linux-libre-cros.install @@ -1,4 +1,4 @@ -flash_kernel() { +post_install () { if mountpoint -q /boot; then major=$(mountpoint -d /boot | cut -f 1 -d ':') minor=$(mountpoint -d /boot | cut -f 2 -d ':') @@ -10,7 +10,8 @@ flash_kernel() { device="/dev/${device/%2/1}" echo "A new kernel version needs to be flashed onto $device." - read -rp "Do you want to do this now? [y|N] " shouldwe + echo "Do you want to do this now? [y|N]" + read -r shouldwe if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then dd if=/boot/vmlinux.kpart of=$device sync @@ -20,10 +21,6 @@ flash_kernel() { fi } -post_install () { - flash_kernel -} - post_upgrade() { - flash_kernel + post_install } |