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]

Reply via email to