On Sat Sep 5 00:04:35 2026 -0300, Felipe Calliari wrote:
> On the Samsung Galaxy Book3 Ultra (960XFH) the OV02C10 sensor is mounted
> upside-down. The 180 degree rotation is not described in the sensor's
> ACPI data: both the SSDB and the _PLD report a rotation of 0 degrees, so
> ipu_bridge_parse_rotation() assigns a "rotation" property of 0 to the
> sensor fwnode and the image is rendered upside-down in userspace.
>
> Because the SSDB degree field holds the valid value 0, the flipped
> mounting goes unnoticed: the driver logs no warning and userspace (e.g.
> libcamera) has no way to correct the image.
>
> 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.
>
> Tested on the Galaxy Book3 Ultra: with the sensor reporting
> V4L2_CID_CAMERA_SENSOR_ROTATION = 180 (verified with an equivalent
> local sensor-driver quirk), libcamera renders the image upright.
>
> Signed-off-by: Felipe Calliari <[email protected]>
> Signed-off-by: Sakari Ailus <[email protected]>
Patch committed.
Thanks,
Sakari Ailus
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 63470be888ba..7520bb950de6 100644
--- a/drivers/media/pci/intel/ipu-bridge.c
+++ b/drivers/media/pci/intel/ipu-bridge.c
@@ -217,6 +217,14 @@ static const struct dmi_system_id
upside_down_sensor_dmi_ids[] = {
},
.driver_data = "OVTI02E1",
},
+ {
+ /* Samsung Galaxy Book3 Ultra */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS
CO., LTD."),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "960XFH"),
+ },
+ .driver_data = "OVTI02C1",
+ },
{} /* Terminating entry */
};
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]