• Lv Zheng's avatar
    ACPI / EC: Fix a boot EC regresion by restoring boot EC support for the DSDT EC · dcf15cbd
    Lv Zheng authored
    According to the Windows probing result, during the table loading, the EC
    device described in the ECDT should be used. And the ECDT EC is also
    effective during the period the namespace objects are initialized (we can
    see a separate process executing _STA/_INI on Windows before executing
    other device specific control methods, for example, EC._REG). During the
    device enumration, the EC device described in the DSDT should be used. But
    there are differences between Linux and Windows around the device probing
    order. Thus in Linux, we should enable the DSDT EC as early as possible
    before enumerating devices in order not to trigger issues related to the
    device enumeration order differences.
    
    This patch thus converts acpi_boot_ec_enable() into acpi_ec_dsdt_probe() to
    fix the gap. This also fixes a user reported regression triggered after we
    switched the "table loading"/"ECDT support" to be ACPI spec 2.0 compliant.
    
    Fixes: 59f0aa94 (ACPI 2.0 / ECDT: Remove early namespace reference from EC)
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=119261Reported-and-tested-by: default avatarGabriele Mazzotta <gabriele.mzt@gmail.com>
    Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    dcf15cbd
bus.c 30 KB