media: atomisp: gmin_platform: Add Lenovo Ideapad Miix 310 gmin_vars
authorHans de Goede <hdegoede@redhat.com>
Fri, 10 Mar 2023 12:22:38 +0000 (12:22 +0000)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sat, 15 Apr 2023 09:43:00 +0000 (10:43 +0100)
The _DSM used to get sensor variables like CsiPort returns the wrong
csi-port for the front OV2680 sensor on the Lenovo Ideapad Miix 310
add a gmin_vars DMI quirk / override setting the right CsiPort.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c

index 5dcfc12..c718a74 100644 (file)
@@ -304,7 +304,17 @@ static struct gmin_cfg_var surface3_vars[] = {
        {},
 };
 
+static struct gmin_cfg_var lenovo_ideapad_miix_310_vars[] = {
+       /* _DSM contains the wrong CsiPort! */
+       { "OVTI2680:01_CsiPort", "0" },
+       {}
+};
+
 static const struct dmi_system_id gmin_vars[] = {
+       /*
+        * These DMI IDs were present when the atomisp driver was merged into
+        * drivers/staging and it is unclear if they are really necessary.
+        */
        {
                .ident = "BYT-T FFD8",
                .matches = {
@@ -341,6 +351,7 @@ static const struct dmi_system_id gmin_vars[] = {
                },
                .driver_data = i8880_vars,
        },
+       /* Later added DMI ids, these are confirmed to really be necessary! */
        {
                .ident = "Surface 3",
                .matches = {
@@ -348,6 +359,14 @@ static const struct dmi_system_id gmin_vars[] = {
                },
                .driver_data = surface3_vars,
        },
+       {
+               .ident = "Lenovo Ideapad Miix 310",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+                       DMI_MATCH(DMI_PRODUCT_VERSION, "MIIX 310-10"),
+               },
+               .driver_data = lenovo_ideapad_miix_310_vars,
+       },
        {}
 };