Skip to content

Commit 35a341c

Browse files
Ondrej Zaryrafaeljw
authored andcommitted
ACPI: video: Add acpi_backlight=vendor quirk for Toshiba Portégé R100
Toshiba Portégé R100 has both acpi_video and toshiba_acpi vendor backlight driver working. But none of them gets activated as it has a VGA with no kernel driver (Trident CyberBlade XP4m32). The DMI strings are very generic ("Portable PC") so add a custom callback function to check for Trident CyberBlade XP4m32 PCI device before enabling the vendor backlight driver (better than acpi_video as it has more brightness steps). Fixes: 5aa9d94 ("ACPI: video: Don't enable fallback path for creating ACPI backlight by default") Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent c9aa36f commit 35a341c

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

drivers/acpi/video_detect.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,16 @@ static int video_detect_force_native(const struct dmi_system_id *d)
130130
return 0;
131131
}
132132

133+
static int video_detect_portege_r100(const struct dmi_system_id *d)
134+
{
135+
struct pci_dev *dev;
136+
/* Search for Trident CyberBlade XP4m32 to confirm Portégé R100 */
137+
dev = pci_get_device(PCI_VENDOR_ID_TRIDENT, 0x2100, NULL);
138+
if (dev)
139+
acpi_backlight_dmi = acpi_backlight_vendor;
140+
return 0;
141+
}
142+
133143
static const struct dmi_system_id video_detect_dmi_table[] = {
134144
/*
135145
* Models which should use the vendor backlight interface,
@@ -262,6 +272,22 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
262272
},
263273
},
264274

275+
/*
276+
* Toshiba Portégé R100 has working both acpi_video and toshiba_acpi
277+
* vendor driver. But none of them gets activated as it has a VGA with
278+
* no kernel driver (Trident CyberBlade XP4m32).
279+
* The DMI strings are generic so check for the VGA chip in callback.
280+
*/
281+
{
282+
.callback = video_detect_portege_r100,
283+
.matches = {
284+
DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
285+
DMI_MATCH(DMI_PRODUCT_NAME, "Portable PC"),
286+
DMI_MATCH(DMI_PRODUCT_VERSION, "Version 1.0"),
287+
DMI_MATCH(DMI_BOARD_NAME, "Portable PC")
288+
},
289+
},
290+
265291
/*
266292
* Models which need acpi_video backlight control where the GPU drivers
267293
* do not call acpi_video_register_backlight() because no internal panel

0 commit comments

Comments
 (0)