Hi Herbert, On 2023-06-20 at 15:08:18 +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 adds timestamp synchronization with the firmware. > The second patch removes historical and never used HB definitions. > Patch no. 3 is implementing the hardware clock frequency measuring > interface. > The fourth 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> Unfortunately, with this set we found another build issue on 32 bit architectures. Please ignore this version. I will send the fixed one today. >> ld: drivers/crypto/intel/qat/qat_common/adf_clock.o: in function `measure_clock': >> drivers/crypto/intel/qat/qat_common/adf_clock.c:87: undefined reference to `__udivdi3' Sorry for the noise. --- Best Regards, Damian Muszynski