Zhao Yakui wrote:
If the system is already switched to GPE mode, how to continue EC transaction if there is no GPE interrupt confirmation in some EC transaction? For example: on the laptops of bug 11428 & 8459. In fact sometimes there is no EC GPE interrupt confirmation only for the last step of EC transaction(OBF bit already indicates that data is ready but there is no EC interrupt).
You can't read, do you? If the interrupt does not arrive for OBF in the middle of transaction, transaction will be completed after the GPE_MODE is cleared in acpi_wait() in a poll loop below, there is even a comment for that. /* start transaction */ acpi_ec_write_cmd(ec, command);
/* if we selected poll mode or failed in GPE-mode do a poll loop */
if (force_poll || !test_bit(EC_FLAGS_GPE_MODE, &ec->flags) || acpi_ec_wait(ec)) { delay = jiffies + msecs_to_jiffies(ACPI_EC_DELAY); while (time_before(jiffies, delay)) { gpe_transaction(ec, acpi_ec_read_status(ec)); msleep(1); if (ec_transaction_done(ec)) goto end; } } -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html