[BUG] Intel ISH (8086:E445) not working on Panther Lake - ACPI ISHD device missing _HID

[email protected] Tue, 4 Aug 2026 10:03:06 +0800
Newsgroups org.kernel.vger.linux-acpi
Message-ID <[email protected]>
Hi,

I'm reporting an issue with Intel ISH (Integrated Sensor Hub) on a Panther
Lake platform (Xiaomi Book Pro 14, TM2424). The ISH processor is completely
unresponsive, preventing any sensor functionality (ambient light, etc.).

## Hardware

- Platform: Intel Panther Lake Core Ultra X7 358H
- ISH Device: PCI 00:12.0 [8086:e445] (rev 01)
- Subsystem: Xiaomi Device 2424 (1D72:2424)
- Kernel: 7.0.0-28-generic (Ubuntu)
- linux-firmware: 20260319.git217ca6e4.1ubuntu

## Problem Description

The ISH IPC registers all read 0xffffffff, indicating the ISH processor is
completely unresponsive:

```
ISH_BUSY   = 0xffffffff
ISH_READY  = 0xffffffff
CMD        = 0xffffffff
CMD_RSP    = 0xffffffff
MSG        = 0xffffffff
MSG_RSP    = 0xffffffff
FWSTS      = 0xffffffff
ISH_READY2 = 0x0000311f  (only non-0xff register)
```

Firmware loading fails:
```
intel_ish_ipc 0000:00:12.0: ISH loader: load firmware: intel/ish/ish_ptl.bin
intel_ish_ipc 0000:00:12.0: ISH loader: cmd 2 failed 10
intel_ish_ipc 0000:00:12.0: ISH loader: cmd 0 failed 6
intel_ish_ipc 0000:00:12.0: ISH loader: cmd 0 failed 6
```

## Root Cause Analysis

The ISHD ACPI device exists in the DSDT at path `\_SB_.PC00.ISHD` but has
**no _HID (Hardware ID)**. This causes the Linux ACPI subsystem to completely
ignore the device - it's never probed, and its _DSM method is never called.

Key ACPI methods found:
- _DSM: Exists (checks PCI vendor/device ID, not UUID-based)
- _PRW: Returns [0x68, 0x4] (wake from S4 via GPE 0x68)
- _S0W: Returns 0x3 (supports D3hot in S0)

Windows driver (IshOed.sys v5.8.56.0) successfully initializes ISH by:
1. Using HECI interface to communicate with ISH
2. Calling ACPI methods to power on ISH hardware
3. Loading firmware through the IPC channel

The Linux intel_ish_ipc driver loads but cannot communicate because the ISH
processor was never powered on/initialized via ACPI.

## Windows Driver Information

The Windows driver (IshOed.sys) source path indicates it's from the same
Intel unified-ish-drivers repository:
```
C:\builds\ipg-sh\github\ish\unified-ish-drivers\Drivers\IshOed\
```

The driver matches PCI\VEN_8086&DEV_E445 and includes device configuration
data with firmware hashes:
- 7AF851FC54FC7A78 (for Lunar Lake A845)
- 7E907E4577457F78 (for Panther Lake E345/E445)

## Reproduction Steps

1. Boot Ubuntu 26.04 with kernel 7.0.0-28-generic on Panther Lake
2. Observe ISH IPC registers all read 0xffffffff
3. Firmware loading fails with "cmd 2 failed 10"

## Expected Behavior

ISH processor should be initialized via ACPI during driver probe, allowing
firmware loading and sensor functionality.

## Questions

1. Is Panther Lake ISH support planned for the upstream ISH driver?
2. Does the ISHD ACPI device need a _HID for Linux to probe it?
3. Should the intel_ish_ipc driver call ACPI _DSM during initialization?
4. Is there a specific ISH firmware version needed for Panther Lake?

## System Information

```
$ cat /sys/bus/pci/devices/0000:00:12.0/firmware/base_version
0.0.0.0
$ cat /sys/bus/pci/devices/0000:00:12.0/firmware/project_version
0.0.0.0
$ lsmod | grep ish
intel_ish_ipc          36864  0
intel_ishtp            77824  1 intel_ish_ipc
```

Thank you for your support.

Best regards,
Frank