(In reply to Hans de Goede from comment #78) > (In reply to Lukas Kahnert from comment #76) > > This error happens because your patch only fixes the mis-detection of the > > IRQ. There ist still https://bugzilla.kernel.org/show_bug.cgi?id=199529 > > which needs also bei fixed to get the touchscreen work. > > Right, I figured that out now, actually I believe that with your hack to > drivers/acpi/resource.c the changes you made to drivers/base/platform.c > should no longer be necessary. > > We've been looking at the wrong part of the DSDT the culprit is not: > > Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) > { > 0x00000007, > } > > This uses an extended interrupt syntax, so acpi_dev_get_irqresource() gets > called with legacy == false and the troublesome acpi_get_override_irq() > never happens. > > I believe the real culprit is: > > Scope (_SB.PCI0) > { > 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} > }) > } > } > > Which does use a legacy style IRQ resource, this causes > acpi_dev_get_irqresource() to be called with legacy == true and then the > troublesome acpi_get_override_irq() happens. > > I believe that this troublesome node gets parsed before the AMDI0030 node > and then by the time the AMDI0030 node happens, inside > acpi_dev_get_irqresource() we hit the else of: > > irq = acpi_register_gsi(NULL, gsi, triggering, polarity); > if (irq >= 0) { > res->start = irq; > res->end = irq; > } else { > acpi_dev_irqresource_disabled(res, gsi); > } > > Which sets the DISABLED flag, which is causing the issue in > drivers/base/platform.c . The reason we hit the else path is because of the > earlier enumeration of the same interrupt with conflicting trigger / > polarity settings so the second one fails with -EBUSY (it would work if the > flags would match). > > My new attempt deals with this by adding the "SMB0001" HID to the blacklist > for creating platform devices, so that acpi_dev_get_resources() does not get > called on it at all, avoiding the call of acpi_dev_get_irqresource() with > legacy == false. > > The not creating of a platform_device for the "SMB0001" HID is not an issue > since the driver for it is an acpi bus driver not a platform bus driver.
Thanks for this good explanation :) I can also confirm that your patch works on my laptop (In reply to Hans de Goede from comment #81) > p.s. > > I plan to add the following to the commit msg, please let me know if you've > objections against this: > > Reported-by: Lukas Kahnert <[email protected]> > Tested-by: Marc <[email protected]> I'm glad that I could help :) -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1752437 Title: [HP ENVY x360 - 15-bq102ng] Touchscreen does not work Status in linux: Confirmed Status in linux package in Ubuntu: Confirmed Bug description: The touch screen on my HP ENVY x360 15-bq102ng does not work with stock kernel or with mainline kernel 4.16-rc3. marc@snapbug:~$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Video Bus id=8 [slave keyboard (3)] ↳ Power Button id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)] ↳ HP Wireless hotkeys id=14 [slave keyboard (3)] ↳ HP WMI hotkeys id=15 [slave keyboard (3)] ↳ HP Wide Vision FHD Camera: HP I id=11 [slave keyboard (3)] ↳ HP Wide Vision FHD Camera: HP W id=10 [slave keyboard (3)] WORKAROUND: Use the following patch with 4.17-rc3: https://bugzilla.kernel.org/attachment.cgi?id=275381 ProblemType: Bug DistroRelease: Ubuntu 17.10 Package: xorg 1:7.7+19ubuntu3 Uname: Linux 4.16.0-041600rc2-generic x86_64 ApportVersion: 2.20.7-0ubuntu3.7 Architecture: amd64 BootLog: No key available with this passphrase. /dev/mapper/nvme0n1p2_crypt: clean, 621596/15597568 files, 54013381/62389248 blocks CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins' CompositorRunning: None CurrentDesktop: ubuntu:GNOME Date: Wed Feb 28 22:34:50 2018 DistUpgraded: Fresh install DistroCodename: artful DistroVariant: ubuntu ExtraDebuggingInterest: Yes GraphicsCard: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:15dd] (rev c4) (prog-if 00 [VGA controller]) Subsystem: Hewlett-Packard Company Device [103c:83c6] InstallationDate: Installed on 2018-01-16 (42 days ago) InstallationMedia: Ubuntu 17.10 "Artful Aardvark" - Release amd64 (20180105.1) MachineType: HP HP ENVY x360 Convertible 15-bq1xx ProcEnviron: TERM=xterm-256color PATH=(custom, no user) XDG_RUNTIME_DIR=<set> LANG=de_DE.UTF-8 SHELL=/bin/bash ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.16.0-041600rc2-generic root=UUID=415eb027-1fd5-4b75-9860-5cac88a630db ro quiet splash vt.handoff=7 SourcePackage: xorg Symptom: display UpgradeStatus: No upgrade log present (probably fresh install) dmi.bios.date: 01/26/2018 dmi.bios.vendor: AMI dmi.bios.version: F.16 dmi.board.asset.tag: Base Board Asset Tag dmi.board.name: 83C6 dmi.board.vendor: HP dmi.board.version: 63.18 dmi.chassis.type: 31 dmi.chassis.vendor: HP dmi.chassis.version: Chassis Version dmi.modalias: dmi:bvnAMI:bvrF.16:bd01/26/2018:svnHP:pnHPENVYx360Convertible15-bq1xx:pvr:rvnHP:rn83C6:rvr63.18:cvnHP:ct31:cvrChassisVersion: dmi.product.family: 103C_5335KV HP Envy dmi.product.name: HP ENVY x360 Convertible 15-bq1xx dmi.sys.vendor: HP version.compiz: compiz N/A version.libdrm2: libdrm2 2.4.85-4~a~padoka0 version.libgl1-mesa-dri: libgl1-mesa-dri 1:17.3.2-0~a~padoka0 version.libgl1-mesa-glx: libgl1-mesa-glx 1:17.3.2-0~a~padoka0 version.xserver-xorg-core: xserver-xorg-core 2:1.19.5-0ubuntu2 version.xserver-xorg-input-evdev: xserver-xorg-input-evdev N/A version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.10.0-1 version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20170309-0ubuntu1 version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.15-2 To manage notifications about this bug go to: https://bugs.launchpad.net/kernel/+bug/1752437/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

