• Ciunas Bennett's avatar
    crypto: qat - add rate limiting sysfs interface · db74e162
    Ciunas Bennett authored
    Add an interface for the rate limiting feature which allows to add,
    remove and modify a QAT SLA (Service Level Agreement).
    
    This adds a new sysfs attribute group, `qat_rl`, which can be accessed
    from /sys/bus/pci/devices/<BUS:DEV:FUNCTION> with the following
    hierarchy:
        |-+ qat_rl
          |---- id  (RW) # SLA identifier
          |---- cir (RW) # Committed Information Rate
          |---- pir (RW) # Peak Information Rate
          |---- srv (RW) # Service to be rate limited
          |---- rp  (RW) (HEX) # Ring pairs to be rate limited
          |---- cap_rem  (RW)  # Remaining capability for a service
          |---- sla_op   (WO)  # Allows to perform an operation on an SLA
    
    The API works by setting the appropriate RW attributes and then
    issuing a command through the `sla_op`. For example, to create an SLA, a
    user needs to input the necessary data into the attributes cir, pir, srv
    and rp and then write into `sla_op` the command `add` to execute the
    operation.
    The API also provides `cap_rem` attribute to get information about
    the remaining device capability within a certain service which is
    required when setting an SLA.
    Signed-off-by: default avatarCiunas Bennett <ciunas.bennett@intel.com>
    Reviewed-by: default avatarGiovanni Cabiddu <giovanni.cabiddu@intel.com>
    Reviewed-by: default avatarDamian Muszynski <damian.muszynski@intel.com>
    Reviewed-by: default avatarTero Kristo <tero.kristo@linux.intel.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    db74e162
adf_rl.c 29.2 KB