The Samsung Galaxy Book3 Pro (960XFG) has the same problem as the
Galaxy Book3 Ultra (960XFH): its OV02C10 sensor is mounted upside-down,
but neither the SSDB nor the _PLD reports the 180 degree rotation, so
ipu_bridge_parse_rotation() assigns a "rotation" property of 0 to the
sensor fwnode and the image is rendered upside-down in userspace.
Add a DMI quirk entry for this laptop so that the sensor fwnode gets a
"rotation" property of 180 and userspace (e.g. libcamera) can
compensate.
The DMI strings (sys_vendor "SAMSUNG ELECTRONICS CO., LTD.",
product_name "960XFG") and the upside-down image come from a report
against the ov02c10 26 MHz clock series.
Reported-by: Mars-Wave <tmorolias@gmail.com>
Closes: https://lore.kernel.org/linux-media/20260922063507.690-1-tmorolias@gmail.com/
Signed-off-by: Felipe Calliari <calliarifelipe@gmail.com>
---
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 77257311d..8fab2f9d3 100644
--- a/drivers/media/pci/intel/ipu-bridge.c
+++ b/drivers/media/pci/intel/ipu-bridge.c
@@ -241,6 +241,14 @@ static const struct dmi_system_id upside_down_sensor_dmi_ids[] = {
},
.driver_data = "OVTI02C1",
},
+ {
+ /* Samsung Galaxy Book3 Pro */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "960XFG"),
+ },
+ .driver_data = "OVTI02C1",
+ },
{} /* Terminating entry */
};
base-commit: 0c795849fd70d6bdb99aea5dd08d9b43128612f6
--
2.55.0