Skip to content

isp: enable sensor power via ACPI and make set file load non-fatal#324

Open
CleoMenezesJr wants to merge 1 commit into
patjak:masterfrom
CleoMenezesJr:fix/sensor-power-and-probe
Open

isp: enable sensor power via ACPI and make set file load non-fatal#324
CleoMenezesJr wants to merge 1 commit into
patjak:masterfrom
CleoMenezesJr:fix/sensor-power-and-probe

Conversation

@CleoMenezesJr
Copy link
Copy Markdown

@CleoMenezesJr CleoMenezesJr commented May 10, 2026

On MacBook Air (BCM1570), probe fails with error -5 because the ISP rejects CISP_CMD_CH_SET_FILE_LOAD with 0xfffe (UNKNOWN COMMAND).

isp_enable_sensor() was a no-op, now powers on the sensor CMOS via ACPI CMPE + 100 ms delay before ISP init
CISP_CMD_CH_SET_FILE_LOAD failure is now non-fatal, consistent with the existing comment "The set file is allowed to be missing"

Tested on MacBook Air A1466 (Mid 2013), Fedora 44, kernel 7.0.4.
Fixes #321.

$ uname -r modinfo facetimehd | grep -E "version|filename" journalctl -k | grep facetimehd

7.0.4-200.fc44.x86_64
filename:       /lib/modules/7.0.4-200.fc44.x86_64/extra/facetimehd/facetimehd.ko
May 10 01:16:36 fedora kernel: facetimehd: loading out-of-tree module taints kernel.
May 10 01:16:36 fedora kernel: facetimehd: module verification failed: signature and/or required key missing - tainting kernel
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Found FaceTime HD camera with device id: 1570
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Setting 64bit DMA mask
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: S2 PCIe link init succeeded
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Refclk: 25MHz (0xa)
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: PLL reset finished
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Waiting for S2 PLL to lock at 450 MHz
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: S2 PLL is locked after 10 us
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: S2 PLL is in bypass mode
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: DDR40 PHY PLL locked on safe settings
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: STRAP valid
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Configuring DDR PLLs for 450 MHz
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: DDR40 PLL is locked after 0 us
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: First DDR40 VDL calibration completed after 2 us
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Second DDR40 VDL calibration completed after 2 us
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Using step size 154
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: VDL set to: coarse=0x10008, fine=0x1011b
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Virtual VTT enabled
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: S2 DRAM memory address: 0x22159559
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Rewrite DDR mode registers succeeded
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Full memory verification succeeded! (0)
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Loaded firmware, size: 1392kb
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: ISP woke up after 0ms
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Number of IPC channels: 7, queue size: 44865
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Firmware requested heap size: 3072kb
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: ISP second int after 0ms
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Channel description table at 00800000
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: magic value: 00000000 after 0 ms
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: Enabling interrupts
May 10 01:16:36 fedora kernel: facetimehd 0000:02:00.0: set file load failed (-5), continuing without calibration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Driver not working on Debian based MX Linux 25.1, kernel 6.18, MacBook10,1 (12")

1 participant