aboutsummaryrefslogtreecommitdiff
path: root/third_party/Python/(public-mirror)
diff options
context:
space:
mode:
authorPlease <please@forget.me.uk>2026-09-17 09:08:43 +0000
committerVladimir Kondratyev <wulf@FreeBSD.org>2026-09-17 09:08:43 +0000
commite75f61962ca47f0b0ae4aed89c8416e6544d9845 (patch)
tree665432d21dc83794e121a88d86c8cb675ef4d3ef /third_party/Python/(public-mirror)
parentb9cee186b83ecb531a6d4b4421230acfd5314c16 (diff)
ig4(4): fix attach of ACPI-enumerated LPSS controllersHEADmain
Intel LPSS I2C controllers enumerated through ACPI rather than PCI never attach on Haswell and Broadwell, so every device behind those buses is lost. On a Dell XPS 13 9343 that hides the I2C HID touchpad and leaves only the PS/2 fallback, which the firmware does not restore after S3. Three causes, all on the ACPI path: Firmware may leave an LPSS function in D3, where its registers read as all-ones and set_controller() fails with "controller error during attach-1". Run _PS0 before mapping them. The PCI path does not need this, which is why the gap went unnoticed. INT33C2, INT33C3, INT3432 and INT3433 are Lynx Point-LP and Wildcat Point-LP, which ig4_pci.c already classifies as IG4_HASWELL; the ACPI path called everything but APMC0D0F an Atom SoC. The functional clock stays gated until bit 0 of IG4_REG_CLK_PARMS is set. Until then the controller accepts writes into the TX FIFO, never drives the bus, raises no interrupts, and every transfer ends in IIC_ETIMEOUT. Linux ungates the same bit in acpi_lpss.c. Doing it in ig4iic_set_config() covers resume as well as attach. With all three in place the touchpad attaches as iichid0/hmt1 with multi-touch and survives suspend and resume. PR: 298558 Tested by: Please (XPS 13 9343, Broadwell-U, 15.1-RELEASE-p3) Reviewed by: wulf MFC after: 1 week
Diffstat (limited to 'third_party/Python/(public-mirror)')
0 files changed, 0 insertions, 0 deletions