Linux 7.2 changed how the Intel CVS controller (ACPI INTC10E1 on Panther Lake) appears to the IPU. ipu-bridge now places it between the sensor and the IPU CSI2 receiver, like IVSC, and the new in-tree drivers/media/i2c/cvs driver provides the matching "Intel CVS" V4L2 bridge sub-device. Our out-of-tree vision-drivers intel_cvs has no sub-device and displaces the in-tree module of the same name, so on 7.2 the sensor never joins the media graph and the HAL reports "No sensors available". Both linux-ptl 7.2.3 and linux-omarchy 7.2.5 fail this way. Ship the in-tree 7.2 CVS driver verbatim as DKMS module intel-cvs for 7.2+ kernels. Arch-derived kernel configs cannot enable CONFIG_VIDEO_INTEL_CVS themselves: it sits under a menu hidden by MEDIA_HIDE_ANCILLARY_SUBDRV, so olddefconfig drops it. Keep vision-drivers for kernels before 7.2. Both dkms.conf files carry a BUILD_EXCLUSIVE_KERNEL regex that the pacman dkms hook honours. Teach the camera HAL about the bridge with upstream ipu7-camera-hal commit f167239 (MediaControl routes the sensor link through "Intel CVS" and finds the I2C bus through it) and add "Intel CVS" pad formats to the ipu75xa ov08x40 config so link validation passes. Links stay sensor to CSI2 in the config and are rewritten at runtime, so the same files work on 7.1.
26 lines
1.1 KiB
Plaintext
26 lines
1.1 KiB
Plaintext
# Intel CVS (Computer Vision Sensing) CSI-2 bridge driver.
|
|
#
|
|
# Verbatim copy of the in-tree Linux 7.2 driver (drivers/media/i2c/cvs),
|
|
# built out of tree so it exists on every 7.2+ kernel regardless of the
|
|
# kernel's Kconfig. Arch-derived configs cannot enable VIDEO_INTEL_CVS at
|
|
# all: it lives under the "Miscellaneous helper chips" menu, which is
|
|
# hidden by MEDIA_HIDE_ANCILLARY_SUBDRV unless CONFIG_EXPERT is set.
|
|
#
|
|
# 7.2's ipu-bridge inserts the CVS device between the sensor and the IPU
|
|
# CSI2 receiver, so the IPU only sees the sensor once a driver registers
|
|
# this V4L2 bridge sub-device. Kernels before 7.2 keep using the legacy
|
|
# misc driver from vision-drivers (see dkms-vision-drivers.conf).
|
|
PACKAGE_NAME="intel-cvs"
|
|
PACKAGE_VERSION="@PKGVER@"
|
|
AUTOINSTALL="yes"
|
|
|
|
# 7.2 and later only (regex, so the pacman dkms hook also honours it)
|
|
BUILD_EXCLUSIVE_KERNEL="^(7\.([2-9]|[1-9][0-9]+)\.|([8-9]|[1-9][0-9]+)\.)"
|
|
|
|
BUILT_MODULE_NAME[0]="intel_cvs"
|
|
BUILT_MODULE_LOCATION[0]=""
|
|
DEST_MODULE_LOCATION[0]="/updates"
|
|
|
|
MAKE[0]="make KERNEL_SRC=${kernel_source_dir}"
|
|
CLEAN="make KERNEL_SRC=${kernel_source_dir} clean"
|