(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.

-- 
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     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to