dmaengine: idxd: expose general capabilities register in sysfs
authorDave Jiang <dave.jiang@intel.com>
Mon, 24 Feb 2020 18:01:34 +0000 (11:01 -0700)
committerVinod Koul <vkoul@kernel.org>
Mon, 2 Mar 2020 07:13:49 +0000 (12:43 +0530)
There are some capabilities for the device that are interesting to user
apps that are interacting directly with the device. Expose gencap register
in sysfs to allow that information.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/158256729399.55526.10842505054968710547.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/idxd/sysfs.c

index e4f35bd..a74e99c 100644 (file)
@@ -1160,6 +1160,16 @@ static ssize_t op_cap_show(struct device *dev,
 }
 static DEVICE_ATTR_RO(op_cap);
 
+static ssize_t gen_cap_show(struct device *dev,
+                           struct device_attribute *attr, char *buf)
+{
+       struct idxd_device *idxd =
+               container_of(dev, struct idxd_device, conf_dev);
+
+       return sprintf(buf, "%#llx\n", idxd->hw.gen_cap.bits);
+}
+static DEVICE_ATTR_RO(gen_cap);
+
 static ssize_t configurable_show(struct device *dev,
                                 struct device_attribute *attr, char *buf)
 {
@@ -1297,6 +1307,7 @@ static struct attribute *idxd_device_attributes[] = {
        &dev_attr_max_batch_size.attr,
        &dev_attr_max_transfer_size.attr,
        &dev_attr_op_cap.attr,
+       &dev_attr_gen_cap.attr,
        &dev_attr_configurable.attr,
        &dev_attr_clients.attr,
        &dev_attr_state.attr,