Skip to content
Snippets Groups Projects
  • Thomas Renninger's avatar
    7a18e96d
    ACPI: Make Embedded Controller command timeout delay configurable · 7a18e96d
    Thomas Renninger authored
    
    Here and then there show up machines which need higher timeout values.
    Finding this on affected machines can be cumbersome, because
    ACPI_EC_DELAY is a compile option -> make it configurable via boot param.
    
    This can even be provided writable at runtime via:
    /sys/modules/acpi/parameters/ec_delay
    
    Known machines where this helps:
    Some HP machines where for whatever reasons specific EC accesses take
    very long at resume from S3 (in _WAK function).
    The AE_TIME error is passed upwards and the ACPI interpreter will
    not execute the rest of the _WAK function which results in not properly
    initialized devices/variables with different side-effects.
    
    Afaik, on some MSI machines this helped as well.
    
    If this param is needed there probably are underlying problems like:
      - EC firmware bug
      - A kernel EC driver bug
      - An ACPI interpreter behavior (e.g. timings when specific
        EC accesses happen and how) which the EC does not like
      - ...
    which should get evaluated further, but often are nasty or
    impossible to fix from OS side.
    
    Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    7a18e96d
    History
    ACPI: Make Embedded Controller command timeout delay configurable
    Thomas Renninger authored
    
    Here and then there show up machines which need higher timeout values.
    Finding this on affected machines can be cumbersome, because
    ACPI_EC_DELAY is a compile option -> make it configurable via boot param.
    
    This can even be provided writable at runtime via:
    /sys/modules/acpi/parameters/ec_delay
    
    Known machines where this helps:
    Some HP machines where for whatever reasons specific EC accesses take
    very long at resume from S3 (in _WAK function).
    The AE_TIME error is passed upwards and the ACPI interpreter will
    not execute the rest of the _WAK function which results in not properly
    initialized devices/variables with different side-effects.
    
    Afaik, on some MSI machines this helped as well.
    
    If this param is needed there probably are underlying problems like:
      - EC firmware bug
      - A kernel EC driver bug
      - An ACPI interpreter behavior (e.g. timings when specific
        EC accesses happen and how) which the EC does not like
      - ...
    which should get evaluated further, but often are nasty or
    impossible to fix from OS side.
    
    Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
ec.c 26.71 KiB