mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 22:14:03 +02:00
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: 5aa9d943e9 ("ACPI: video: Don't enable fallback path for creating ACPI backlight by default")
Signed-off-by: Ondrej Zary <linux@zary.sk>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
c9aa36fadd
commit
35a341c9b2
|
|
@ -130,6 +130,16 @@ static int video_detect_force_native(const struct dmi_system_id *d)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int video_detect_portege_r100(const struct dmi_system_id *d)
|
||||||
|
{
|
||||||
|
struct pci_dev *dev;
|
||||||
|
/* Search for Trident CyberBlade XP4m32 to confirm Portégé R100 */
|
||||||
|
dev = pci_get_device(PCI_VENDOR_ID_TRIDENT, 0x2100, NULL);
|
||||||
|
if (dev)
|
||||||
|
acpi_backlight_dmi = acpi_backlight_vendor;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct dmi_system_id video_detect_dmi_table[] = {
|
static const struct dmi_system_id video_detect_dmi_table[] = {
|
||||||
/*
|
/*
|
||||||
* Models which should use the vendor backlight interface,
|
* Models which should use the vendor backlight interface,
|
||||||
|
|
@ -262,6 +272,22 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Toshiba Portégé R100 has working both acpi_video and toshiba_acpi
|
||||||
|
* vendor driver. But none of them gets activated as it has a VGA with
|
||||||
|
* no kernel driver (Trident CyberBlade XP4m32).
|
||||||
|
* The DMI strings are generic so check for the VGA chip in callback.
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
.callback = video_detect_portege_r100,
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_NAME, "Portable PC"),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_VERSION, "Version 1.0"),
|
||||||
|
DMI_MATCH(DMI_BOARD_NAME, "Portable PC")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Models which need acpi_video backlight control where the GPU drivers
|
* Models which need acpi_video backlight control where the GPU drivers
|
||||||
* do not call acpi_video_register_backlight() because no internal panel
|
* do not call acpi_video_register_backlight() because no internal panel
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user