mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 10:32:35 +00:00
ACPI / EC: Remove non-root-caused busy polling quirks.
{ Update to correct 1 patch subject in the description } We have fixed a lot of race issues in the EC driver recently. The following commit introduces MSI udelay()/msleep() quirk to MSI laptops to make EC firmware working for bug 12011 without root causing any EC driver race issues: Commit:5423a0cb3f
Subject: ACPI: EC: Add delay for slow MSI controller Commit:34ff4dbccc
Subject: ACPI: EC: Separate delays for MSI hardware The following commit extends ECDT validation quirk to MSI laptops to make EC driver locating EC registers properly for bug 12461: Commit:a5032bfdd9
Subject: ACPI: EC: Always parse EC device This is a different quirk than the MSI udelay()/msleep() quirk. This patch keeps validating ECDT for only "Micro-Star MS-171F" as reported. The following commit extends MSI udelay()/msleep() quirk to Quanta laptops to make EC firmware working for bug 20242, there is no requirement to validate ECDT for Quanta laptops: Commit:534bc4e3d2
Mon Sep 17 00:00:00 2001 Subject: ACPI EC: enable MSI workaround for Quanta laptops The following commit extends MSI udelay()/msleep() quirk to Clevo laptops to make EC firmware working for bug 77431, there is no requirement to validate ECDT for Clevo laptops: Commit:777cb38295
Subject: ACPI / EC: Add msi quirk for Clevo W350etq All udelay()/msleep() quirks for MSI/Quanta/Clevo seem to be the wrong fixes generated without fixing the EC driver race issues. And even if it is not wrong, the guarding can be covered by the following commits in wait polling mode: Commit:9e295ac14d
Subject: ACPI / EC: Reduce ec_poll() by referencing the last register access timestamp. Commit: commit in the same series Subject: ACPI / EC: Fix and clean up register access guarding logics. The only case that is not covered is the inter-transaction guarding. And there is no evidence that we need the inter-transaction guarding upon reading the noted bug entries. So it is time to remove the quirks and let the users to try again. If there is a regression, the only thing we need to do is to restore the inter-transaction guarding for the reported platforms. Link: https://bugzilla.kernel.org/show_bug.cgi?id=12011 Link: https://bugzilla.kernel.org/show_bug.cgi?id=12461 Link: https://bugzilla.kernel.org/show_bug.cgi?id=20242 Link: https://bugzilla.kernel.org/show_bug.cgi?id=77431 Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
15de603b04
commit
3174abcfea
@ -1269,15 +1269,6 @@ static int ec_validate_ecdt(const struct dmi_system_id *id)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EC firmware needs special polling mode, enable it */
|
||||
static int ec_use_busy_polling(const struct dmi_system_id *id)
|
||||
{
|
||||
pr_debug("Detected the EC firmware requiring busy polling mode.\n");
|
||||
ec_busy_polling = 1;
|
||||
EC_FLAGS_VALIDATE_ECDT = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Acer EC firmware refuses to respond QR_EC when SCI_EVT is not set, for
|
||||
* which case, we complete the QR_EC without issuing it to the firmware.
|
||||
@ -1320,29 +1311,9 @@ static struct dmi_system_id ec_dmi_table[] __initdata = {
|
||||
DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "JFL92") }, NULL},
|
||||
{
|
||||
ec_use_busy_polling, "MSI hardware", {
|
||||
DMI_MATCH(DMI_BIOS_VENDOR, "Micro-Star")}, NULL},
|
||||
{
|
||||
ec_use_busy_polling, "MSI hardware", {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star")}, NULL},
|
||||
{
|
||||
ec_use_busy_polling, "MSI hardware", {
|
||||
DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-Star")}, NULL},
|
||||
{
|
||||
ec_use_busy_polling, "MSI hardware", {
|
||||
DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-STAR")}, NULL},
|
||||
{
|
||||
ec_use_busy_polling, "Quanta hardware", {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Quanta"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "TW8/SW8/DW8"),}, NULL},
|
||||
{
|
||||
ec_use_busy_polling, "Quanta hardware", {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Quanta"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "TW9/SW9"),}, NULL},
|
||||
{
|
||||
ec_use_busy_polling, "Clevo W350etq", {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "CLEVO CO."),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "W35_37ET"),}, NULL},
|
||||
ec_validate_ecdt, "MSI MS-171F", {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "MS-171F"),}, NULL},
|
||||
{
|
||||
ec_validate_ecdt, "ASUS hardware", {
|
||||
DMI_MATCH(DMI_BIOS_VENDOR, "ASUS") }, NULL},
|
||||
|
Loading…
Reference in New Issue
Block a user