• Damian Muszynski's avatar
    crypto: qat - add heartbeat feature · 359b84f8
    Damian Muszynski authored
    Under some circumstances, firmware in the QAT devices could become
    unresponsive. The Heartbeat feature provides a mechanism to detect
    unresponsive devices.
    
    The QAT FW periodically writes to memory a set of counters that allow
    to detect the liveness of a device. This patch adds logic to enable
    the reporting of those counters, analyze them and report if a device
    is alive or not.
    
    In particular this adds
      (1) heartbeat enabling, reading and detection logic
      (2) reporting of heartbeat status and configuration via debugfs
      (3) documentation for the newly created sysfs entries
      (4) configuration of FW settings related to heartbeat, e.g. tick period
      (5) logic to convert time in ms (provided by the user) to clock ticks
    
    This patch introduces a new folder in debugfs called heartbeat with the
    following attributes:
     - status
     - queries_sent
     - queries_failed
     - config
    
    All attributes except config are reading only. In particular:
     - `status` file returns 0 when device is operational and -1 otherwise.
     - `queries_sent` returns the total number of heartbeat queries sent.
     - `queries_failed` returns the total number of heartbeat queries failed.
     - `config` allows to adjust the frequency at which the firmware writes
       counters to memory. This period is given in milliseconds and it is
       fixed for GEN4 devices.
    Signed-off-by: default avatarDamian Muszynski <damian.muszynski@intel.com>
    Reviewed-by: default avatarGiovanni Cabiddu <giovanni.cabiddu@intel.com>
    Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    359b84f8
adf_drv.c 11.7 KB