Commit 35ba8ec0 authored by Tony Luck's avatar Tony Luck Committed by Rafael J. Wysocki

ACPI: x86: Switch to new Intel CPU model defines

New CPU #defines encode vendor and family as well as model.
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent e79a1065
...@@ -45,37 +45,37 @@ struct override_status_id { ...@@ -45,37 +45,37 @@ struct override_status_id {
unsigned long long status; unsigned long long status;
}; };
#define ENTRY(status, hid, uid, path, cpu_model, dmi...) { \ #define ENTRY(status, hid, uid, path, cpu_vfm, dmi...) { \
{ { hid, }, {} }, \ { { hid, }, {} }, \
{ X86_MATCH_INTEL_FAM6_MODEL(cpu_model, NULL), {} }, \ { X86_MATCH_VFM(cpu_vfm, NULL), {} }, \
{ { .matches = dmi }, {} }, \ { { .matches = dmi }, {} }, \
uid, \ uid, \
path, \ path, \
status, \ status, \
} }
#define PRESENT_ENTRY_HID(hid, uid, cpu_model, dmi...) \ #define PRESENT_ENTRY_HID(hid, uid, cpu_vfm, dmi...) \
ENTRY(ACPI_STA_DEFAULT, hid, uid, NULL, cpu_model, dmi) ENTRY(ACPI_STA_DEFAULT, hid, uid, NULL, cpu_vfm, dmi)
#define NOT_PRESENT_ENTRY_HID(hid, uid, cpu_model, dmi...) \ #define NOT_PRESENT_ENTRY_HID(hid, uid, cpu_vfm, dmi...) \
ENTRY(0, hid, uid, NULL, cpu_model, dmi) ENTRY(0, hid, uid, NULL, cpu_vfm, dmi)
#define PRESENT_ENTRY_PATH(path, cpu_model, dmi...) \ #define PRESENT_ENTRY_PATH(path, cpu_vfm, dmi...) \
ENTRY(ACPI_STA_DEFAULT, "", NULL, path, cpu_model, dmi) ENTRY(ACPI_STA_DEFAULT, "", NULL, path, cpu_vfm, dmi)
#define NOT_PRESENT_ENTRY_PATH(path, cpu_model, dmi...) \ #define NOT_PRESENT_ENTRY_PATH(path, cpu_vfm, dmi...) \
ENTRY(0, "", NULL, path, cpu_model, dmi) ENTRY(0, "", NULL, path, cpu_vfm, dmi)
static const struct override_status_id override_status_ids[] = { static const struct override_status_id override_status_ids[] = {
/* /*
* Bay / Cherry Trail PWM directly poked by GPU driver in win10, * Bay / Cherry Trail PWM directly poked by GPU driver in win10,
* but Linux uses a separate PWM driver, harmless if not used. * but Linux uses a separate PWM driver, harmless if not used.
*/ */
PRESENT_ENTRY_HID("80860F09", "1", ATOM_SILVERMONT, {}), PRESENT_ENTRY_HID("80860F09", "1", INTEL_ATOM_SILVERMONT, {}),
PRESENT_ENTRY_HID("80862288", "1", ATOM_AIRMONT, {}), PRESENT_ENTRY_HID("80862288", "1", INTEL_ATOM_AIRMONT, {}),
/* The Xiaomi Mi Pad 2 uses PWM2 for touchkeys backlight control */ /* The Xiaomi Mi Pad 2 uses PWM2 for touchkeys backlight control */
PRESENT_ENTRY_HID("80862289", "2", ATOM_AIRMONT, { PRESENT_ENTRY_HID("80862289", "2", INTEL_ATOM_AIRMONT, {
DMI_MATCH(DMI_SYS_VENDOR, "Xiaomi Inc"), DMI_MATCH(DMI_SYS_VENDOR, "Xiaomi Inc"),
DMI_MATCH(DMI_PRODUCT_NAME, "Mipad2"), DMI_MATCH(DMI_PRODUCT_NAME, "Mipad2"),
}), }),
...@@ -84,18 +84,18 @@ static const struct override_status_id override_status_ids[] = { ...@@ -84,18 +84,18 @@ static const struct override_status_id override_status_ids[] = {
* The INT0002 device is necessary to clear wakeup interrupt sources * The INT0002 device is necessary to clear wakeup interrupt sources
* on Cherry Trail devices, without it we get nobody cared IRQ msgs. * on Cherry Trail devices, without it we get nobody cared IRQ msgs.
*/ */
PRESENT_ENTRY_HID("INT0002", "1", ATOM_AIRMONT, {}), PRESENT_ENTRY_HID("INT0002", "1", INTEL_ATOM_AIRMONT, {}),
/* /*
* On the Dell Venue 11 Pro 7130 and 7139, the DSDT hides * On the Dell Venue 11 Pro 7130 and 7139, the DSDT hides
* the touchscreen ACPI device until a certain time * the touchscreen ACPI device until a certain time
* after _SB.PCI0.GFX0.LCD.LCD1._ON gets called has passed * after _SB.PCI0.GFX0.LCD.LCD1._ON gets called has passed
* *and* _STA has been called at least 3 times since. * *and* _STA has been called at least 3 times since.
*/ */
PRESENT_ENTRY_HID("SYNA7500", "1", HASWELL_L, { PRESENT_ENTRY_HID("SYNA7500", "1", INTEL_HASWELL_L, {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Venue 11 Pro 7130"), DMI_MATCH(DMI_PRODUCT_NAME, "Venue 11 Pro 7130"),
}), }),
PRESENT_ENTRY_HID("SYNA7500", "1", HASWELL_L, { PRESENT_ENTRY_HID("SYNA7500", "1", INTEL_HASWELL_L, {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Venue 11 Pro 7139"), DMI_MATCH(DMI_PRODUCT_NAME, "Venue 11 Pro 7139"),
}), }),
...@@ -104,7 +104,7 @@ static const struct override_status_id override_status_ids[] = { ...@@ -104,7 +104,7 @@ static const struct override_status_id override_status_ids[] = {
* The Dell XPS 15 9550 has a SMO8110 accelerometer / * The Dell XPS 15 9550 has a SMO8110 accelerometer /
* HDD freefall sensor which is wrongly marked as not present. * HDD freefall sensor which is wrongly marked as not present.
*/ */
PRESENT_ENTRY_HID("SMO8810", "1", SKYLAKE, { PRESENT_ENTRY_HID("SMO8810", "1", INTEL_SKYLAKE, {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "XPS 15 9550"), DMI_MATCH(DMI_PRODUCT_NAME, "XPS 15 9550"),
}), }),
...@@ -121,19 +121,19 @@ static const struct override_status_id override_status_ids[] = { ...@@ -121,19 +121,19 @@ static const struct override_status_id override_status_ids[] = {
* was copy-pasted from the GPD win, so it has a disabled KIOX000A * was copy-pasted from the GPD win, so it has a disabled KIOX000A
* node which we should not enable, thus we also check the BIOS date. * node which we should not enable, thus we also check the BIOS date.
*/ */
PRESENT_ENTRY_HID("KIOX000A", "1", ATOM_AIRMONT, { PRESENT_ENTRY_HID("KIOX000A", "1", INTEL_ATOM_AIRMONT, {
DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
DMI_MATCH(DMI_BOARD_NAME, "Default string"), DMI_MATCH(DMI_BOARD_NAME, "Default string"),
DMI_MATCH(DMI_PRODUCT_NAME, "Default string"), DMI_MATCH(DMI_PRODUCT_NAME, "Default string"),
DMI_MATCH(DMI_BIOS_DATE, "02/21/2017") DMI_MATCH(DMI_BIOS_DATE, "02/21/2017")
}), }),
PRESENT_ENTRY_HID("KIOX000A", "1", ATOM_AIRMONT, { PRESENT_ENTRY_HID("KIOX000A", "1", INTEL_ATOM_AIRMONT, {
DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
DMI_MATCH(DMI_BOARD_NAME, "Default string"), DMI_MATCH(DMI_BOARD_NAME, "Default string"),
DMI_MATCH(DMI_PRODUCT_NAME, "Default string"), DMI_MATCH(DMI_PRODUCT_NAME, "Default string"),
DMI_MATCH(DMI_BIOS_DATE, "03/20/2017") DMI_MATCH(DMI_BIOS_DATE, "03/20/2017")
}), }),
PRESENT_ENTRY_HID("KIOX000A", "1", ATOM_AIRMONT, { PRESENT_ENTRY_HID("KIOX000A", "1", INTEL_ATOM_AIRMONT, {
DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
DMI_MATCH(DMI_BOARD_NAME, "Default string"), DMI_MATCH(DMI_BOARD_NAME, "Default string"),
DMI_MATCH(DMI_PRODUCT_NAME, "Default string"), DMI_MATCH(DMI_PRODUCT_NAME, "Default string"),
...@@ -146,7 +146,7 @@ static const struct override_status_id override_status_ids[] = { ...@@ -146,7 +146,7 @@ static const struct override_status_id override_status_ids[] = {
* method sets a GPIO causing the PCI wifi card to turn off. * method sets a GPIO causing the PCI wifi card to turn off.
* See above remark about uniqueness of the DMI match. * See above remark about uniqueness of the DMI match.
*/ */
NOT_PRESENT_ENTRY_PATH("\\_SB_.PCI0.SDHB.BRC1", ATOM_AIRMONT, { NOT_PRESENT_ENTRY_PATH("\\_SB_.PCI0.SDHB.BRC1", INTEL_ATOM_AIRMONT, {
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"), DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"),
DMI_EXACT_MATCH(DMI_BOARD_SERIAL, "Default string"), DMI_EXACT_MATCH(DMI_BOARD_SERIAL, "Default string"),
...@@ -158,7 +158,7 @@ static const struct override_status_id override_status_ids[] = { ...@@ -158,7 +158,7 @@ static const struct override_status_id override_status_ids[] = {
* as both ACCL0001 and MAGN0001. As we can only ever register an * as both ACCL0001 and MAGN0001. As we can only ever register an
* i2c client for one of them, ignore MAGN0001. * i2c client for one of them, ignore MAGN0001.
*/ */
NOT_PRESENT_ENTRY_HID("MAGN0001", "1", ATOM_SILVERMONT, { NOT_PRESENT_ENTRY_HID("MAGN0001", "1", INTEL_ATOM_SILVERMONT, {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_FAMILY, "YOGATablet2"), DMI_MATCH(DMI_PRODUCT_FAMILY, "YOGATablet2"),
}), }),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment