From: Dave Jiang Date: Mon, 24 Feb 2020 18:01:34 +0000 (-0700) Subject: dmaengine: idxd: expose general capabilities register in sysfs X-Git-Tag: libata-5.7-2020-04-09~57^2~25 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=9065958ee6dd752c7e1bbacbb79fe5f5f2218393;p=linux-block.git dmaengine: idxd: expose general capabilities register in sysfs 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 Link: https://lore.kernel.org/r/158256729399.55526.10842505054968710547.stgit@djiang5-desk3.ch.intel.com Signed-off-by: Vinod Koul --- diff --git a/drivers/dma/idxd/sysfs.c b/drivers/dma/idxd/sysfs.c index e4f35bdf252e..a74e99cb055d 100644 --- a/drivers/dma/idxd/sysfs.c +++ b/drivers/dma/idxd/sysfs.c @@ -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,