diff --git a/0001-ACPI-platform-Add-SMB0001-HID-to-forbidden_id_list.patch b/0001-ACPI-platform-Add-SMB0001-HID-to-forbidden_id_list.patch new file mode 100644 index 000000000..822e497af --- /dev/null +++ b/0001-ACPI-platform-Add-SMB0001-HID-to-forbidden_id_list.patch @@ -0,0 +1,104 @@ +From 5afcaee5ee71ba730fde8f66da7e320fb7e674d2 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 19 Nov 2018 17:38:59 +0100 +Subject: [PATCH 4.20 regression fix] ACPI / platform: Add SMB0001 HID to + forbidden_id_list + +Many HP AMD based laptops contain an SMB0001 device like this: + +Device (SMBD) +{ + Name (_HID, "SMB0001") // _HID: Hardware ID + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x0B20, // Range Minimum + 0x0B20, // Range Maximum + 0x20, // Alignment + 0x20, // Length + ) + IRQ (Level, ActiveLow, Shared, ) + {7} + }) +} + +The legacy style IRQ resource here causes acpi_dev_get_irqresource() to +be called with legacy=true and this message to show in dmesg: +ACPI: IRQ 7 override to edge, high + +This causes issues when later on the AMD0030 GPIO device gets enumerated: + +Device (GPIO) +{ + Name (_HID, "AMDI0030") // _HID: Hardware ID + Name (_CID, "AMDI0030") // _CID: Compatible ID + Name (_UID, Zero) // _UID: Unique ID + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Name (RBUF, ResourceTemplate () + { + Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) + { + 0x00000007, + } + Memory32Fixed (ReadWrite, + 0xFED81500, // Address Base + 0x00000400, // Address Length + ) + }) + Return (RBUF) /* \_SB_.GPIO._CRS.RBUF */ + } +} + +Now acpi_dev_get_irqresource() gets called with legacy=false, but because +of the earlier override of the trigger-type acpi_register_gsi() returns +-EBUSY (because we try to register the same interrupt with a different +trigger-type) and we end up setting IORESOURCE_DISABLED in the flags. + +The setting of IORESOURCE_DISABLED causes platform_get_irq() to call +acpi_irq_get() which is not implemented on x86 and returns -EINVAL. +resulting in the following in dmesg: + +amd_gpio AMDI0030:00: Failed to get gpio IRQ: -22 +amd_gpio: probe of AMDI0030:00 failed with error -22 + +The SMB0001 is a "virtual" device in the sense that the only way the OS +interacts with it is through calling a couple of methods to do SMBus +transfers. As such it is weird that it has IO and IRQ resources at all, +because the driver for it is not expected to ever access the hardware +directly. + +The Linux driver for the SMB0001 device directly binds to the acpi_device +through the acpi_bus, so we do not need to instantiate a platform_device +for this ACPI device. This commit adds the SMB0001 HID to the +forbidden_id_list, avoiding the instantiating of a platform_device for it. +Not instantiating a platform_device means we will no longer call +acpi_dev_get_irqresource() for the legacy IRQ resource fixing the probe of +the AMDI0030 device failing. + +BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1644013 +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=198715 +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=199523 +Reported-by: Lukas Kahnert +Tested-by: Marc +Cc: stable@vger.kernel.org +Signed-off-by: Hans de Goede +--- + drivers/acpi/acpi_platform.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c +index eaa60c94205a..1f32caa87686 100644 +--- a/drivers/acpi/acpi_platform.c ++++ b/drivers/acpi/acpi_platform.c +@@ -30,6 +30,7 @@ static const struct acpi_device_id forbidden_id_list[] = { + {"PNP0200", 0}, /* AT DMA Controller */ + {"ACPI0009", 0}, /* IOxAPIC */ + {"ACPI000A", 0}, /* IOAPIC */ ++ {"SMB0001", 0}, /* ACPI SMBUS virtual device */ + {"", 0}, + }; + +-- +2.19.1 + diff --git a/configs/fedora/generic/x86/CONFIG_PINCTRL_GEMINILAKE b/configs/fedora/generic/x86/CONFIG_PINCTRL_GEMINILAKE index deb3b301d..fca1ee23a 100644 --- a/configs/fedora/generic/x86/CONFIG_PINCTRL_GEMINILAKE +++ b/configs/fedora/generic/x86/CONFIG_PINCTRL_GEMINILAKE @@ -1 +1 @@ -# CONFIG_PINCTRL_GEMINILAKE is not set +CONFIG_PINCTRL_GEMINILAKE=m diff --git a/gitrev b/gitrev index f12c63d7f..655126eea 100644 --- a/gitrev +++ b/gitrev @@ -1 +1 @@ -5929a1f0ff30d04ccf4b0f9c648e7aa8bc816bbd +06e68fed32826b44aa9ffcf282c14d3c58918a70 diff --git a/iio-accel-kxcjk1013-Add-more-hardware-ids.patch b/iio-accel-kxcjk1013-Add-more-hardware-ids.patch new file mode 100644 index 000000000..d3e5eef2f --- /dev/null +++ b/iio-accel-kxcjk1013-Add-more-hardware-ids.patch @@ -0,0 +1,63 @@ +From e90e897b3cac4038d49b38397ab044498c1d7adc Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Tue, 2 Oct 2018 20:05:34 +0200 +Subject: [PATCH 4.20 regression fix] iio: accel: kxcjk1013: Add KIOX0009 ACPI + Hardware-ID + +Add KIOX0009 ACPI HID, this is used e.g. on the Acer One 10. + +Signed-off-by: Hans de Goede +--- + drivers/iio/accel/kxcjk-1013.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c +index af53a1084ee5..8600e4be88ad 100644 +--- a/drivers/iio/accel/kxcjk-1013.c ++++ b/drivers/iio/accel/kxcjk-1013.c +@@ -1489,6 +1489,7 @@ static const struct acpi_device_id kx_acpi_match[] = { + {"KXCJ1013", KXCJK1013}, + {"KXCJ1008", KXCJ91008}, + {"KXCJ9000", KXCJ91008}, ++ {"KIOX0009", KXTJ21009}, + {"KIOX000A", KXCJ91008}, + {"KXTJ1009", KXTJ21009}, + {"SMO8500", KXCJ91008}, +-- +2.19.1 + +From e45a7af34a700c99f91f50e021c187f05552f2f4 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Tue, 20 Nov 2018 11:39:45 +0100 +Subject: [PATCH 4.20 regression fix] iio: accel: kxcjk1013: Add KIOX010A ACPI + Hardware-ID + +Various 2-in-1's use KIOX010A and KIOX020A as HIDs for 2 KXCJ91008 +accelerometers. The KIOX010A HID is for the one in the base and the +KIOX020A for the accelerometer in the keyboard. + +Since userspace does not have a way yet to deal with (or ignore) the +accelerometer in the keyboard, this commit just adds the KIOX010A HID +for now so that display rotation will work. + +Related: https://github.com/hadess/iio-sensor-proxy/issues/166 +Signed-off-by: Hans de Goede +--- + drivers/iio/accel/kxcjk-1013.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c +index 8600e4be88ad..210742584041 100644 +--- a/drivers/iio/accel/kxcjk-1013.c ++++ b/drivers/iio/accel/kxcjk-1013.c +@@ -1491,6 +1491,7 @@ static const struct acpi_device_id kx_acpi_match[] = { + {"KXCJ9000", KXCJ91008}, + {"KIOX0009", KXTJ21009}, + {"KIOX000A", KXCJ91008}, ++ {"KIOX010A", KXCJ91008}, /* KXCJ91008 inside the display of a 2-in-1 */ + {"KXTJ1009", KXTJ21009}, + {"SMO8500", KXCJ91008}, + { }, +-- +2.19.1 + diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config index a2356803d..71702fbb5 100644 --- a/kernel-i686-debug.config +++ b/kernel-i686-debug.config @@ -4185,7 +4185,7 @@ CONFIG_PINCTRL_CANNONLAKE=m CONFIG_PINCTRL_CEDARFORK=m CONFIG_PINCTRL_CHERRYVIEW=y CONFIG_PINCTRL_DENVERTON=m -# CONFIG_PINCTRL_GEMINILAKE is not set +CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_ICELAKE=m # CONFIG_PINCTRL_IPQ8074 is not set CONFIG_PINCTRL_LEWISBURG=m diff --git a/kernel-i686.config b/kernel-i686.config index 0b190b613..e25738ad2 100644 --- a/kernel-i686.config +++ b/kernel-i686.config @@ -4165,7 +4165,7 @@ CONFIG_PINCTRL_CANNONLAKE=m CONFIG_PINCTRL_CEDARFORK=m CONFIG_PINCTRL_CHERRYVIEW=y CONFIG_PINCTRL_DENVERTON=m -# CONFIG_PINCTRL_GEMINILAKE is not set +CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_ICELAKE=m # CONFIG_PINCTRL_IPQ8074 is not set CONFIG_PINCTRL_LEWISBURG=m diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config index 2bea3527d..c6957e197 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug.config @@ -4223,7 +4223,7 @@ CONFIG_PINCTRL_CANNONLAKE=m CONFIG_PINCTRL_CEDARFORK=m CONFIG_PINCTRL_CHERRYVIEW=y CONFIG_PINCTRL_DENVERTON=m -# CONFIG_PINCTRL_GEMINILAKE is not set +CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_ICELAKE=m # CONFIG_PINCTRL_IPQ8074 is not set CONFIG_PINCTRL_LEWISBURG=m diff --git a/kernel-x86_64.config b/kernel-x86_64.config index acf1260c6..76734e468 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -4203,7 +4203,7 @@ CONFIG_PINCTRL_CANNONLAKE=m CONFIG_PINCTRL_CEDARFORK=m CONFIG_PINCTRL_CHERRYVIEW=y CONFIG_PINCTRL_DENVERTON=m -# CONFIG_PINCTRL_GEMINILAKE is not set +CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_ICELAKE=m # CONFIG_PINCTRL_IPQ8074 is not set CONFIG_PINCTRL_LEWISBURG=m diff --git a/kernel.spec b/kernel.spec index 87ca6e03b..d87fc0b69 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %global rcrev 3 # The git snapshot level -%define gitrev 0 +%define gitrev 1 # Set rpm version accordingly %define rpmversion 4.%{upstream_sublevel}.0 %endif @@ -122,7 +122,7 @@ Summary: The Linux kernel # Set debugbuildsenabled to 1 for production (build separate debug kernels) # and 0 for rawhide (all kernels are debug kernels). # See also 'make debug' and 'make release'. -%define debugbuildsenabled 1 +%define debugbuildsenabled 0 # Kernel headers are being split out into a separate package %if 0%{?fedora} @@ -619,6 +619,12 @@ Patch501: Fix-for-module-sig-verification.patch # rhbz 1431375 Patch502: input-rmi4-remove-the-need-for-artifical-IRQ.patch +# rhbz 1644013, patch pending upstream +Patch503: 0001-ACPI-platform-Add-SMB0001-HID-to-forbidden_id_list.patch + +# rhbz 1526312 (accelerometer part of the bug), patches pending upstream +Patch504: iio-accel-kxcjk1013-Add-more-hardware-ids.patch + # 600 - RISC-V Patch600: riscv64-fixes.patch @@ -1895,6 +1901,17 @@ fi # # %changelog +* Tue Nov 20 2018 Jeremy Cline - 4.20.0-0.rc3.git1.1 +- Linux v4.20-rc3-83-g06e68fed3282 + +* Tue Nov 20 2018 Jeremy Cline +- Reenable debugging options. + +* Tue Nov 20 2018 Hans de Goede +- Turn on CONFIG_PINCTRL_GEMINILAKE on x86_64 (rhbz#1639155) +- Add a patch fixing touchscreens on HP AMD based laptops (rhbz#1644013) +- Add a patch fixing KIOX010A accelerometers (rhbz#1526312) + * Mon Nov 19 2018 Jeremy Cline - 4.20.0-0.rc3.git0.1 - Linux v4.20-rc3 diff --git a/sources b/sources index 1aa7ae52f..73271a884 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ SHA512 (linux-4.19.tar.xz) = ab67cc746b375a8b135e8b23e35e1d6787930d19b3c26b2679787d62951cbdbc3bb66f8ededeb9b890e5008b2459397f9018f1a6772fdef67780b06a4cb9f6f4 SHA512 (patch-4.20-rc3.xz) = a5cff0927c91b9791246e7e5a1e74fdc68b37a4fb770fd5e315c7abc3bc8e89edbafe6008396cdd19f802c6fc811719e5a0f0d33727a50f97e2e890d351ec14a +SHA512 (patch-4.20-rc3-git1.xz) = ec01ba3047121d05fc398c72300e8917eb0e6ce62b41fef28f32b2a3447173edc1694a043bd9ccd9a24a284aae57f1d9ca3c69881af77059fd4da93e505ecd83