[PATCH v2] media: ipu-bridge: Add upside-down quirk for Surface Pro 11

Sergey Lebedev posted 1 patch 1 week ago
drivers/media/pci/intel/ipu-bridge.c | 8 ++++++++
1 file changed, 8 insertions(+)
[PATCH v2] media: ipu-bridge: Add upside-down quirk for Surface Pro 11
Posted by Sergey Lebedev 1 week ago
The Microsoft Surface Pro for Business 11th Edition with Intel mounts
its OV13858 rear sensor rotated 180 degrees, but reports a rotation of
0 in its SSDB and has no matching _PLD, so without a DMI quirk the
image is presented upside down.

Add a DMI quirk entry for this model so that a rotation of 180 degrees
is reported for its OVTID858 sensor.

Tested on the affected machine: camera_sensor_rotation reads 180 and
libcamera reports Rotation = 180. Confirmed independently on a second
machine of the same model, where GNOME Snapshot and Firefox present
the image the right way up once the quirk is applied; qcam, which
talks to libcamera directly, does not.

Signed-off-by: Sergey Lebedev <lsa.uz@pm.me>
Tested-by: German Pablo Lindo <germanpapulindez@gmail.com>
---
Changes in v2:
 - shortened the commit message, per Sakari's review of v1
 - moved the entry into vendor order, before the Samsung entries
 - added German Pablo Lindo's Tested-by

v1: https://lore.kernel.org/linux-media/20260913153526.80287-1-lsa.uz@pm.me/

The quirk only has an effect once OVTID858 is a recognised sensor, which
  https://lore.kernel.org/linux-media/20260913142034.5632-1-lsa.uz@pm.me/
adds; this patch applies to media/next independently of it.

 drivers/media/pci/intel/ipu-bridge.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel/ipu-bridge.c
index 952868ad8..0e4bb9d73 100644
--- a/drivers/media/pci/intel/ipu-bridge.c
+++ b/drivers/media/pci/intel/ipu-bridge.c
@@ -210,6 +210,14 @@ static const struct dmi_system_id upside_down_sensor_dmi_ids[] = {
 		},
 		.driver_data = "SONY471A",
 	},
+	{
+		.matches = {
+			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"),
+			DMI_EXACT_MATCH(DMI_PRODUCT_NAME,
+					"Surface Pro for Business 11th Edition with Intel"),
+		},
+		.driver_data = "OVTID858",
+	},
 	{
 		/* Samsung Galaxy Book5 Pro 360 */
 		.matches = {
-- 
2.54.0 (Apple Git-157)