diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2018-05-11 07:32:40 +0200 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2018-05-11 07:32:40 +0200 |
commit | cf0f4cc963bf4cb90aa3b2e6da9625635f51ca81 (patch) | |
tree | 8e64921ffe9ffe2c3d5f1d846a9c17d3c446d41b | |
parent | 4e77b4ddfa12a299a7db917d0bd0235c7b802f6d (diff) | |
parent | 70ef9fe7fb71d8d9aa9ce7cfd6e0e4d812860d46 (diff) | |
download | kernel-4.17.0-0.rc4.git3.1.vanilla.knurd.1.fc27.tar.gz kernel-4.17.0-0.rc4.git3.1.vanilla.knurd.1.fc27.tar.xz kernel-4.17.0-0.rc4.git3.1.vanilla.knurd.1.fc27.zip |
Merge remote-tracking branch 'origin/master' into rawhide-user-thl-vanilla-fedorakernel-4.17.0-0.rc4.git3.1.vanilla.knurd.1.fc28kernel-4.17.0-0.rc4.git3.1.vanilla.knurd.1.fc27
-rw-r--r-- | ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch | 64 | ||||
-rw-r--r-- | gitrev | 2 | ||||
-rw-r--r-- | kernel.spec | 11 | ||||
-rw-r--r-- | sources | 2 |
4 files changed, 76 insertions, 3 deletions
diff --git a/ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch b/ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch new file mode 100644 index 000000000..3dcfd4969 --- /dev/null +++ b/ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch @@ -0,0 +1,64 @@ +From dbdda4277cf0422a9ccb7ea98d0263c3cdbecdf6 Mon Sep 17 00:00:00 2001 +From: Mark Salter <msalter@redhat.com> +Date: Tue, 8 May 2018 21:54:39 -0400 +Subject: [PATCH] ACPI / irq: Workaround firmware issue on X-Gene based + m400 + +The ACPI firmware on the xgene-based m400 platorms erroneously +describes its UART interrupt as ACPI_PRODUCER rather than +ACPI_CONSUMER. This leads to the UART driver being unable to +find its interrupt and the kernel unable find a console. +Work around this by avoiding the producer/consumer check +for X-Gene UARTs. + +Signed-off-by: Mark Salter <msalter@redhat.com> +--- + drivers/acpi/irq.c | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c +index 7c352cba0528..028c1a564cff 100644 +--- a/drivers/acpi/irq.c ++++ b/drivers/acpi/irq.c +@@ -129,6 +129,7 @@ struct acpi_irq_parse_one_ctx { + unsigned int index; + unsigned long *res_flags; + struct irq_fwspec *fwspec; ++ bool skip_producer_check; + }; + + /** +@@ -200,7 +201,8 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares, + return AE_CTRL_TERMINATE; + case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: + eirq = &ares->data.extended_irq; +- if (eirq->producer_consumer == ACPI_PRODUCER) ++ if (!ctx->skip_producer_check && ++ eirq->producer_consumer == ACPI_PRODUCER) + return AE_OK; + if (ctx->index >= eirq->interrupt_count) { + ctx->index -= eirq->interrupt_count; +@@ -235,8 +237,19 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares, + static int acpi_irq_parse_one(acpi_handle handle, unsigned int index, + struct irq_fwspec *fwspec, unsigned long *flags) + { +- struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec }; ++ struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec, false }; + ++ /* ++ * Firmware on arm64-based HPE m400 platform incorrectly marks ++ * its UART interrupt as ACPI_PRODUCER rather than ACPI_CONSUMER. ++ * Don't do the producer/consumer check for that device. ++ */ ++ if (IS_ENABLED(CONFIG_ARM64)) { ++ struct acpi_device *adev = acpi_bus_get_acpi_device(handle); ++ ++ if (adev && !strcmp(acpi_device_hid(adev), "APMC0D08")) ++ ctx.skip_producer_check = true; ++ } + acpi_walk_resources(handle, METHOD_NAME__CRS, acpi_irq_parse_one_cb, &ctx); + return ctx.rc; + } +-- +2.17.0 + @@ -1 +1 @@ -036db8bd96374c66424f270f3370ddaf0adf7506 +008464a9360e31b14677457dcd976fbf9dd58e2e diff --git a/kernel.spec b/kernel.spec index 0cdedc7f3..2a52a2d74 100644 --- a/kernel.spec +++ b/kernel.spec @@ -77,7 +77,7 @@ Summary: The Linux kernel # The rc snapshot level %global rcrev 4 # The git snapshot level -%define gitrev 2 +%define gitrev 3 # Set rpm version accordingly %define rpmversion 4.%{upstream_sublevel}.0 %endif @@ -611,6 +611,9 @@ Patch311: arm-dts-Add-am335x-pocketbeagle.patch # https://www.spinics.net/lists/linux-tegra/msg32920.html Patch312: arm-tegra-USB-driver-dependency-fix.patch +# rhbz 1574718 +Patch313: ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch + # https://patchwork.kernel.org/patch/10354521/ # https://patchwork.kernel.org/patch/10354187/ # https://patchwork.kernel.org/patch/10306793/ @@ -1892,6 +1895,12 @@ fi # # %changelog +* Thu May 10 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.0-0.rc4.git3.1 +- Linux v4.17-rc4-38-g008464a9360e + +* Wed May 09 2018 Jeremy Cline <jeremy@jcline.org> +- Workaround for m400 uart irq firmware description (rhbz 1574718) + * Wed May 09 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.0-0.rc4.git2.1 - Linux v4.17-rc4-31-g036db8bd9637 @@ -1,3 +1,3 @@ SHA512 (linux-4.16.tar.xz) = ab47849314b177d0eec9dbf261f33972b0d89fb92fb0650130ffa7abc2f36c0fab2d06317dc1683c51a472a9a631573a9b1e7258d6281a2ee189897827f14662 SHA512 (patch-4.17-rc4.xz) = 110990b1cc0ccb500075acec043810434a33beb23c1e020a9c8034e11af1e61d35273a6c3cb80d4f3ae8bb9da3f3909bff3b89c80af13219baf96f70a45513c8 -SHA512 (patch-4.17-rc4-git2.xz) = d6dbe587460f776f58e82f131525243264dd72c49b30d9b83c38d3d36be7e023886bda6dbc8aa0adc5ee6e2cb5bdcba6df23b548fdd6cdf6a855b58944ba49d0 +SHA512 (patch-4.17-rc4-git3.xz) = 2a032b7ee73813f2239a145c09b7407db197600668f6071ca3e747de110ec64fc17cf388304892d2aaf4e04741e2ec9e39fdd960382bedabcba75507ee182549 |