Hi Herbert, On Thu, Jun 15, 2023 at 11:04:33AM +0200, Damian Muszynski wrote: > This set introduces support for the QAT heartbeat feature. It allows > detection whenever device firmware or acceleration unit will hang. > We're adding this feature to allow our clients having a tool with > they could verify if all of the Quick Assist hardware resources are > healthy and operational. > > QAT device firmware periodically writes counters to a specified physical > memory location. A pair of counters per thread is incremented at > the start and end of the main processing loop within the firmware. > Checking for Heartbeat consists of checking the validity of the pair > of counter values for each thread. Stagnant counters indicate > a firmware hang. > > The first patch removes historical and never used HB definitions. > Patch no. 2 is implementing the hardware clock frequency measuring > interface. > The third introduces the main heartbeat implementation with the debugfs > interface. > The last patch implements an algorithm that allows the code to detect > which version of heartbeat API is used at the currently loaded firmware. > > Signed-off-by: Damian Muszynski <damian.muszynski@xxxxxxxxx> > Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@xxxxxxxxx> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> This set introduces a build failure with clang. Ignore it. We are going to send a new version. >> ld.lld: error: undefined symbol: __aeabi_ldivmod >>> referenced by adf_clock.c:29 >>> (drivers/crypto/intel/qat/qat_common/adf_clock.c:29) >>> drivers/crypto/intel/qat/qat_common/adf_clock.o:(adf_clock_get_current_time) >>> in archive vmlinux.a >>> referenced by adf_clock.c:24 >> (drivers/crypto/intel/qat/qat_common/adf_clock.c:24) Regards, -- Giovanni