Commit Graph
4 Commits
Author SHA1 Message Date
Alexander Heldt 64640e98aa pinwheel: Fix intermittent webcam failure from IPU6 isys oops
On 7.3 the in-tree IPU6 isys driver can be runtime-suspended while
isys_probe() is still running, before it has set drvdata. The suspend
callback then dereferences a NULL isys, oopses, and psys never probes,
so /dev/ipu-psys0 is missing and the camera HAL fails with "Failed to
open PSYS".

Patch the isys runtime PM callbacks to return early when drvdata is
not set yet. The patched module is built on its own from the kernel
source and installed under updates/, so it overrides the in-tree one
without having to rebuild the whole kernel.
2026-11-03 13:46:56 +01:00
Alexander Heldt 36292c4f14 pinwheel: Fix webcam frame drops and raise resolution to 1080p
With the default 6 icamerasrc buffers the camera HAL ran out of pending
requests and dropped every fourth sensor frame, capping output at ~22.5 fps.
Using 10 buffers keeps the request queue fed and restores 30 fps.
2026-10-22 19:37:42 +02:00
Alexander Heldt 00475b637b pinwheel: Give the webcam v4l2loopback device more buffers 2026-10-02 09:45:20 +02:00
Alexander Heldt c795bcd492 pinwheel: enable IPU6 MIPI webcam (ov08x40)
Adds hardware.ipu6 for the built-in MIPI camera, plus two overlay
fixes needed for it to actually work on this hardware:

- Pin icamerasrc-ipu6epmtl to the same release tag already used by
  ipu6-camera-bins/ipu6-camera-hal (20250923_ov02e). The version
  nixpkgs currently pulls is an Intel internal IoT/Panther-Lake
  validation build whose device table only lists external USB
  AR0234 test sensors, never the real ov08x40, so the camera never
  gets selected.

- Patch ipu6-camera-hal's hardcoded IVSC/CVS entity name from
  "Intel IVSC CSI" (the out-of-tree ivsc driver's name) to "Intel
  CVS" (the mainlined intel_cvs driver's name). The mismatch broke
  I2C bus address resolution for the sensor, which cascaded into
  wrong stream configs and black/missing video.
2026-09-29 08:25:37 +02:00