aboutsummaryrefslogtreecommitdiffci
path: root/patches/surface
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
authorGravatar Saya Andy <saya.andy@posteo.com> 2026-09-07 04:46:01 +0700
committerGravatar Saya Andy <saya.andy@posteo.com> 2026-09-07 04:46:01 +0700
commitfbbe093a4d07ee6b6370101f5161c0eef2865e50 (patch)
treec3aa25070126e7de61af062dd4af91b07f2f14ea /patches/surface
parent551cf11d2d3475996ef499358644486ccfec8e0a (diff)
downloadkernel-surface-fbbe093a4d07ee6b6370101f5161c0eef2865e50.tar.gz
kernel-surface-fbbe093a4d07ee6b6370101f5161c0eef2865e50.zip
feat: add local patches for fixing libcamera color pattern issue + irisfedora-45-kernel-7.2.3-patchset-2
decoder sign misfit
Diffstat (limited to 'patches/surface')
-rw-r--r--patches/surface/0016-arm64-dts-qcom-purwa-Microsoft-Surface-Pro-12in-iris-firmware-name.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/patches/surface/0016-arm64-dts-qcom-purwa-Microsoft-Surface-Pro-12in-iris-firmware-name.patch b/patches/surface/0016-arm64-dts-qcom-purwa-Microsoft-Surface-Pro-12in-iris-firmware-name.patch
new file mode 100644
index 0000000..b182b0b
--- /dev/null
+++ b/patches/surface/0016-arm64-dts-qcom-purwa-Microsoft-Surface-Pro-12in-iris-firmware-name.patch
@@ -0,0 +1,32 @@
+arm64: dts: qcom: purwa: Microsoft Surface Pro 12in: point iris at the OEM video firmware
+
+The generic qcom/vpu/vpu30_p1_s7.mbn shipped by linux-firmware is signed with
+the Qualcomm SecTools test key chain ("SECTOOLS SECP384R1 CURVE TEST ROOT" /
+"General Use Test Key (for testing only)"), which the TrustZone on a retail
+Surface Pro 12in refuses:
+
+ qcom-iris aa00000.video-codec: error -22 initializing firmware qcom/vpu/vpu30_p1_s7.mbn
+ qcom-iris aa00000.video-codec: firmware download failed
+ qcom-iris aa00000.video-codec: core init failed
+
+The -22 comes straight out of qcom_scm_pas_init_image() in
+__qcom_mdt_pas_init(), i.e. the image metadata is rejected before anything is
+loaded.
+
+The Windows driver package for this machine carries the same firmware signed
+with the production chain ("QMC Attestation Root CA 6"), in two builds:
+qcvss8380.mbn and qcvss8380_pa.mbn. The _pa one is what loads here. It has an
+identical 7 MiB load span, so it fits the existing video_mem reservation
+unchanged. Point the iris node at it, the same way the board already does for
+the aDSP, cDSP and GPU firmware.
+
+--- a/arch/arm64/boot/dts/qcom/x1p42100-microsoft-sp12in.dts
++++ b/arch/arm64/boot/dts/qcom/x1p42100-microsoft-sp12in.dts
+@@ -1098,6 +1098,7 @@
+ };
+
+ &iris {
++ firmware-name = "qcom/x1p42100/Microsoft/Surface12/qcvss8380_pa.mbn";
+ status = "okay";
+ };
+