From fbbe093a4d07ee6b6370101f5161c0eef2865e50 Mon Sep 17 00:00:00 2001 From: Saya Andy Date: Mon, 7 Sep 2026 04:46:01 +0700 Subject: feat: add local patches for fixing libcamera color pattern issue + iris decoder sign misfit --- ...osoft-Surface-Pro-12in-iris-firmware-name.patch | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 patches/surface/0016-arm64-dts-qcom-purwa-Microsoft-Surface-Pro-12in-iris-firmware-name.patch (limited to 'patches/surface') 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"; + }; + -- cgit v1.3.1+17