Skip to content
  • Srinivas Pandruvada's avatar
    iio: hid-sensor-hub: Implement batch mode · 138bc796
    Srinivas Pandruvada authored
    HID sensor hubs using Integrated Senor Hub (ISH) has added capability to
    support batch mode. This allows host processor to go to sleep for extended
    duration, while the sensor hub is storing samples in its internal buffers.
    
    'Commit f4f4673b
    
     ("iio: add support for hardware fifo")' implements
    feature in IIO core to implement such feature. This feature is used in
    bmc150-accel-core.c to implement batch mode. This implementation allows
    software device buffer watermark to be used as a hint to adjust hardware
    FIFO.
    
    But HID sensor hubs don't allow to change internal buffer size of FIFOs.
    Instead an additional usage id to set "maximum report latency" is defined.
    This allows host to go to sleep upto this latency period without getting
    any report. Since there is no ABI to set this latency, a new attribute
    "hwfifo_timeout" is added so that user mode can specify a latency.
    
    This change checks presence of usage id to get/set maximum report latency
    and if present, it will expose hwfifo_timeout.
    
    Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
    138bc796