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. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> --- .../media/atomisp/pci/atomisp_gmin_platform.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c index f83de0ffaf16..efcfc133311f 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c +++ b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c @@ -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 where 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, + }, {} }; -- 2.39.1