• Dave Jiang's avatar
    dmaengine: idxd: add WQ operation cap restriction support · b0325aef
    Dave Jiang authored
    
    
    DSA 2.0 add the capability of configuring DMA ops on a per workqueue basis.
    This means that certain ops can be disabled by the system administrator for
    certain wq. By default, all ops are available. A bitmap is used to store
    the ops due to total op size of 256 bits and it is more convenient to use a
    range list to specify which bits are enabled.
    
    One of the usage to support this is for VM migration between different
    iteration of devices. The newer ops are disabled in order to allow guest to
    migrate to a host that only support older ops. Another usage is to
    restrict the WQ to certain operations for QoS of performance.
    
    A sysfs of ops_config attribute is added per wq. It is only usable when the
    ops_config bit is set under WQ_CAP register. This means that this attribute
    will return -EOPNOTSUPP on DSA 1.x devices. The expected input is a range
    list for the bits per operation the WQ supports.
    Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
    Co-developed-by: default avatarFenghua Yu <fenghua.yu@intel.com>
    Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
    Link: https://lore.kernel.org/r/20220917161222.2835172-4-fenghua.yu@intel.com
    
    Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
    b0325aef
sysfs.c 39.3 KB