]> git.dujemihanovic.xyz Git - linux.git/commitdiff
crypto: qat - add num_rps sysfs attribute
authorCiunas Bennett <ciunas.bennett@intel.com>
Fri, 20 Oct 2023 13:49:31 +0000 (15:49 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 27 Oct 2023 10:04:28 +0000 (18:04 +0800)
Add the attribute `num_rps` to the `qat` attribute group. This returns
the number of ring pairs that a single device has. This allows to know
the maximum value that can be set to the attribute `rp2svc`.

Signed-off-by: Ciunas Bennett <ciunas.bennett@intel.com>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: Damian Muszynski <damian.muszynski@intel.com>
Reviewed-by: Tero Kristo <tero.kristo@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Documentation/ABI/testing/sysfs-driver-qat
drivers/crypto/intel/qat/qat_common/adf_sysfs.c

index f24a5ddca94bfea3fa06d3eda90288051a58934e..bbf329cf0d67bc10c5e3b74fdf7a1e34317688ef 100644 (file)
@@ -127,3 +127,17 @@ Description:
                        sym
 
                This attribute is only available for qat_4xxx devices.
+
+What:          /sys/bus/pci/devices/<BDF>/qat/num_rps
+Date:          January 2024
+KernelVersion: 6.7
+Contact:       qat-linux@intel.com
+Description:
+               (RO) Returns the number of ring pairs that a single device has.
+
+               Example usage::
+
+                       # cat /sys/bus/pci/devices/<BDF>/qat/num_rps
+                       64
+
+               This attribute is only available for qat_4xxx devices.
index 9317127128a9f49ba0fc7eb52be9c73693e9a55f..ddffc98119c6b8d5ab9e1582ee69cf37c35200ce 100644 (file)
@@ -268,11 +268,25 @@ static ssize_t rp2srv_store(struct device *dev, struct device_attribute *attr,
 }
 static DEVICE_ATTR_RW(rp2srv);
 
+static ssize_t num_rps_show(struct device *dev, struct device_attribute *attr,
+                           char *buf)
+{
+       struct adf_accel_dev *accel_dev;
+
+       accel_dev = adf_devmgr_pci_to_accel_dev(to_pci_dev(dev));
+       if (!accel_dev)
+               return -EINVAL;
+
+       return sysfs_emit(buf, "%u\n", GET_MAX_BANKS(accel_dev));
+}
+static DEVICE_ATTR_RO(num_rps);
+
 static struct attribute *qat_attrs[] = {
        &dev_attr_state.attr,
        &dev_attr_cfg_services.attr,
        &dev_attr_pm_idle_enabled.attr,
        &dev_attr_rp2srv.attr,
+       &dev_attr_num_rps.attr,
        NULL,
 };