public inbox for linux-s390@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir
@ 2021-10-27 16:48 Tony Krowiak
  2021-10-27 16:48 ` [PATCH 1/2] s390/vfio-ap: s390/crypto: fix all kernel-doc warnings Tony Krowiak
  2021-10-27 16:48 ` [PATCH 2/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir Tony Krowiak
  0 siblings, 2 replies; 5+ messages in thread
From: Tony Krowiak @ 2021-10-27 16:48 UTC (permalink / raw)
  To: linux-s390; +Cc: freude, borntraeger, cohuck, mjrosato, jjherne, pasic

Patch 0001-s390-vfio-ap-s390-crypto-fix-all-kernel-doc-warnings.patch does
not need to be reviewed. It is included here because it is not yet merged
into the kernel, but precedes the second patch.

Tony Krowiak (2):
  s390/vfio-ap: s390/crypto: fix all kernel-doc warnings
  s390/vfio-ap: add status attribute to AP queue device's sysfs dir

 drivers/s390/crypto/vfio_ap_drv.c     | 91 ++++++++++++++++++++++++---
 drivers/s390/crypto/vfio_ap_ops.c     |  5 +-
 drivers/s390/crypto/vfio_ap_private.h | 43 +++++++++----
 3 files changed, 118 insertions(+), 21 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] s390/vfio-ap: s390/crypto: fix all kernel-doc warnings
  2021-10-27 16:48 [PATCH 0/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir Tony Krowiak
@ 2021-10-27 16:48 ` Tony Krowiak
  2021-10-27 16:48 ` [PATCH 2/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir Tony Krowiak
  1 sibling, 0 replies; 5+ messages in thread
From: Tony Krowiak @ 2021-10-27 16:48 UTC (permalink / raw)
  To: linux-s390; +Cc: freude, borntraeger, cohuck, mjrosato, jjherne, pasic

Fixes the kernel-doc warnings in the following source files:

* drivers/s390/crypto/vfio_ap_private.h
* drivers/s390/crypto/vfio_ap_drv.c
* drivers/s390/crypto/vfio_ap_ops.c

Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
---
 drivers/s390/crypto/vfio_ap_drv.c     | 16 ++++++----
 drivers/s390/crypto/vfio_ap_ops.c     |  5 ++--
 drivers/s390/crypto/vfio_ap_private.h | 43 +++++++++++++++++++--------
 3 files changed, 44 insertions(+), 20 deletions(-)

diff --git a/drivers/s390/crypto/vfio_ap_drv.c b/drivers/s390/crypto/vfio_ap_drv.c
index 4d2556bc7fe5..03311a476366 100644
--- a/drivers/s390/crypto/vfio_ap_drv.c
+++ b/drivers/s390/crypto/vfio_ap_drv.c
@@ -42,10 +42,13 @@ static struct ap_device_id ap_queue_ids[] = {
 MODULE_DEVICE_TABLE(vfio_ap, ap_queue_ids);
 
 /**
- * vfio_ap_queue_dev_probe:
+ * vfio_ap_queue_dev_probe: Allocate a vfio_ap_queue structure and associate it
+ *			    with the device as driver_data.
  *
- * Allocate a vfio_ap_queue structure and associate it
- * with the device as driver_data.
+ * @apdev: the AP device being probed
+ *
+ * Return: returns 0 if the probe succeeded; otherwise, returns -ENOMEM if
+ *	   storage could not be allocated for a vfio_ap_queue object.
  */
 static int vfio_ap_queue_dev_probe(struct ap_device *apdev)
 {
@@ -61,10 +64,11 @@ static int vfio_ap_queue_dev_probe(struct ap_device *apdev)
 }
 
 /**
- * vfio_ap_queue_dev_remove:
+ * vfio_ap_queue_dev_remove: Free the associated vfio_ap_queue structure.
+ *
+ * @apdev: the AP device being removed
  *
- * Takes the matrix lock to avoid actions on this device while removing
- * Free the associated vfio_ap_queue structure
+ * Takes the matrix lock to avoid actions on this device while doing the remove.
  */
 static void vfio_ap_queue_dev_remove(struct ap_device *apdev)
 {
diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c
index 623d5269a52c..94c1c9bd58ad 100644
--- a/drivers/s390/crypto/vfio_ap_ops.c
+++ b/drivers/s390/crypto/vfio_ap_ops.c
@@ -187,6 +187,8 @@ static struct ap_queue_status vfio_ap_irq_disable(struct vfio_ap_queue *q)
  * vfio_ap_irq_enable - Enable Interruption for a APQN
  *
  * @q:	 the vfio_ap_queue holding AQIC parameters
+ * @isc: the guest ISC to register with the GIB interface
+ * @nib: the notification indicator byte to pin.
  *
  * Pin the NIB saved in *q
  * Register the guest ISC to GIB interface and retrieve the
@@ -738,7 +740,6 @@ vfio_ap_mdev_verify_queues_reserved_for_apqi(struct ap_matrix_mdev *matrix_mdev,
  * assign_domain_store - parses the APQI from @buf and sets the
  * corresponding bit in the mediated matrix device's AQM
  *
- *
  * @dev:	the matrix device
  * @attr:	the mediated matrix device's assign_domain attribute
  * @buf:	a buffer containing the AP queue index (APQI) of the domain to
@@ -866,7 +867,6 @@ static DEVICE_ATTR_WO(unassign_domain);
  * assign_control_domain_store - parses the domain ID from @buf and sets
  * the corresponding bit in the mediated matrix device's ADM
  *
- *
  * @dev:	the matrix device
  * @attr:	the mediated matrix device's assign_control_domain attribute
  * @buf:	a buffer containing the domain ID to be assigned
@@ -1142,6 +1142,7 @@ static int vfio_ap_mdev_iommu_notifier(struct notifier_block *nb,
  * by @matrix_mdev.
  *
  * @matrix_mdev: a matrix mediated device
+ * @kvm: the pointer to the kvm structure being unset.
  *
  * Note: The matrix_dev->lock must be taken prior to calling
  * this function; however, the lock will be temporarily released while the
diff --git a/drivers/s390/crypto/vfio_ap_private.h b/drivers/s390/crypto/vfio_ap_private.h
index 77760e2b546f..648fcaf8104a 100644
--- a/drivers/s390/crypto/vfio_ap_private.h
+++ b/drivers/s390/crypto/vfio_ap_private.h
@@ -26,16 +26,18 @@
 #define VFIO_AP_DRV_NAME "vfio_ap"
 
 /**
- * ap_matrix_dev - the AP matrix device structure
+ * struct ap_matrix_dev - Contains the data for the matrix device.
+ *
  * @device:	generic device structure associated with the AP matrix device
  * @available_instances: number of mediated matrix devices that can be created
  * @info:	the struct containing the output from the PQAP(QCI) instruction
- * mdev_list:	the list of mediated matrix devices created
- * lock:	mutex for locking the AP matrix device. This lock will be
+ * @mdev_list:	the list of mediated matrix devices created
+ * @lock:	mutex for locking the AP matrix device. This lock will be
  *		taken every time we fiddle with state managed by the vfio_ap
  *		driver, be it using @mdev_list or writing the state of a
  *		single ap_matrix_mdev device. It's quite coarse but we don't
  *		expect much contention.
+ * @vfio_ap_drv: the vfio_ap device driver
  */
 struct ap_matrix_dev {
 	struct device device;
@@ -49,17 +51,19 @@ struct ap_matrix_dev {
 extern struct ap_matrix_dev *matrix_dev;
 
 /**
- * The AP matrix is comprised of three bit masks identifying the adapters,
- * queues (domains) and control domains that belong to an AP matrix. The bits i
- * each mask, from least significant to most significant bit, correspond to IDs
- * 0 to 255. When a bit is set, the corresponding ID belongs to the matrix.
+ * struct ap_matrix - matrix of adapters, domains and control domains
  *
  * @apm_max: max adapter number in @apm
- * @apm identifies the AP adapters in the matrix
+ * @apm: identifies the AP adapters in the matrix
  * @aqm_max: max domain number in @aqm
- * @aqm identifies the AP queues (domains) in the matrix
+ * @aqm: identifies the AP queues (domains) in the matrix
  * @adm_max: max domain number in @adm
- * @adm identifies the AP control domains in the matrix
+ * @adm: identifies the AP control domains in the matrix
+ *
+ * The AP matrix is comprised of three bit masks identifying the adapters,
+ * queues (domains) and control domains that belong to an AP matrix. The bits in
+ * each mask, from left to right, correspond to IDs 0 to 255. When a bit is set
+ * the corresponding ID belongs to the matrix.
  */
 struct ap_matrix {
 	unsigned long apm_max;
@@ -71,13 +75,20 @@ struct ap_matrix {
 };
 
 /**
- * struct ap_matrix_mdev - the mediated matrix device structure
- * @list:	allows the ap_matrix_mdev struct to be added to a list
+ * struct ap_matrix_mdev - Contains the data associated with a matrix mediated
+ *			   device.
+ * @vdev:	the vfio device
+ * @node:	allows the ap_matrix_mdev struct to be added to a list
  * @matrix:	the adapters, usage domains and control domains assigned to the
  *		mediated matrix device.
  * @group_notifier: notifier block used for specifying callback function for
  *		    handling the VFIO_GROUP_NOTIFY_SET_KVM event
+ * @iommu_notifier: notifier block used for specifying callback function for
+ *		    handling the VFIO_IOMMU_NOTIFY_DMA_UNMAP even
  * @kvm:	the struct holding guest's state
+ * @pqap_hook:	the function pointer to the interception handler for the
+ *		PQAP(AQIC) instruction.
+ * @mdev:	the mediated device
  */
 struct ap_matrix_mdev {
 	struct vfio_device vdev;
@@ -90,6 +101,14 @@ struct ap_matrix_mdev {
 	struct mdev_device *mdev;
 };
 
+/**
+ * struct vfio_ap_queue - contains the data associated with a queue bound to the
+ *			  vfio_ap device driver
+ * @matrix_mdev: the matrix mediated device
+ * @saved_pfn: the guest PFN pinned for the guest
+ * @apqn: the APQN of the AP queue device
+ * @saved_isc: the guest ISC registered with the GIB interface
+ */
 struct vfio_ap_queue {
 	struct ap_matrix_mdev *matrix_mdev;
 	unsigned long saved_pfn;
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir
  2021-10-27 16:48 [PATCH 0/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir Tony Krowiak
  2021-10-27 16:48 ` [PATCH 1/2] s390/vfio-ap: s390/crypto: fix all kernel-doc warnings Tony Krowiak
@ 2021-10-27 16:48 ` Tony Krowiak
  2021-10-28  7:40   ` Harald Freudenberger
  1 sibling, 1 reply; 5+ messages in thread
From: Tony Krowiak @ 2021-10-27 16:48 UTC (permalink / raw)
  To: linux-s390; +Cc: freude, borntraeger, cohuck, mjrosato, jjherne, pasic

This patch adds a sysfs 'status' attribute to a queue device when it is
bound to the vfio_ap device driver. The field displays a string indicating
the status of the queue device:

Status String:  Indicates:
-------------   ---------
"assigned"      the queue is assigned to an mdev, but is not in use by a
                KVM guest.
"in use"        the queue is assigned to an mdev and is in use by a KVM
                guest.
"unassigned"    the queue is not assigned to an mdev.

The status string will be displayed by the 'lszcrypt' command if the queue
device is bound to the vfio_ap device driver.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
[akrowiak@linux.ibm.com: added check for queue in use by guest]
Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
---
 drivers/s390/crypto/vfio_ap_drv.c | 79 +++++++++++++++++++++++++++++--
 1 file changed, 76 insertions(+), 3 deletions(-)

diff --git a/drivers/s390/crypto/vfio_ap_drv.c b/drivers/s390/crypto/vfio_ap_drv.c
index 03311a476366..e043ae236630 100644
--- a/drivers/s390/crypto/vfio_ap_drv.c
+++ b/drivers/s390/crypto/vfio_ap_drv.c
@@ -17,6 +17,9 @@
 
 #define VFIO_AP_ROOT_NAME "vfio_ap"
 #define VFIO_AP_DEV_NAME "matrix"
+#define AP_QUEUE_ASSIGNED "assigned"
+#define AP_QUEUE_UNASSIGNED "unassigned"
+#define AP_QUEUE_IN_USE "in use"
 
 MODULE_AUTHOR("IBM Corporation");
 MODULE_DESCRIPTION("VFIO AP device driver, Copyright IBM Corp. 2018");
@@ -41,26 +44,95 @@ static struct ap_device_id ap_queue_ids[] = {
 
 MODULE_DEVICE_TABLE(vfio_ap, ap_queue_ids);
 
+static struct ap_matrix_mdev *vfio_ap_mdev_for_queue(struct vfio_ap_queue *q)
+{
+	struct ap_matrix_mdev *matrix_mdev;
+	unsigned long apid = AP_QID_CARD(q->apqn);
+	unsigned long apqi = AP_QID_QUEUE(q->apqn);
+
+	list_for_each_entry(matrix_mdev, &matrix_dev->mdev_list, node) {
+		if (test_bit_inv(apid, matrix_mdev->matrix.apm) &&
+		    test_bit_inv(apqi, matrix_mdev->matrix.aqm))
+			return matrix_mdev;
+	}
+
+	return NULL;
+}
+
+static ssize_t status_show(struct device *dev,
+			   struct device_attribute *attr,
+			   char *buf)
+{
+	ssize_t nchars = 0;
+	struct vfio_ap_queue *q;
+	struct ap_matrix_mdev *matrix_mdev;
+	struct ap_device *apdev = to_ap_dev(dev);
+
+	mutex_lock(&matrix_dev->lock);
+	q = dev_get_drvdata(&apdev->device);
+	matrix_mdev = vfio_ap_mdev_for_queue(q);
+
+	if (matrix_mdev) {
+		if (matrix_mdev->kvm)
+			nchars = scnprintf(buf, PAGE_SIZE, "%s\n",
+					   AP_QUEUE_IN_USE);
+		else
+			nchars = scnprintf(buf, PAGE_SIZE, "%s\n",
+					   AP_QUEUE_ASSIGNED);
+	} else {
+		nchars = scnprintf(buf, PAGE_SIZE, "%s\n",
+				   AP_QUEUE_UNASSIGNED);
+	}
+
+	mutex_unlock(&matrix_dev->lock);
+
+	return nchars;
+}
+
+static DEVICE_ATTR_RO(status);
+
+static struct attribute *vfio_queue_attrs[] = {
+	&dev_attr_status.attr,
+	NULL,
+};
+
+static const struct attribute_group vfio_queue_attr_group = {
+	.attrs = vfio_queue_attrs,
+};
+
 /**
  * vfio_ap_queue_dev_probe: Allocate a vfio_ap_queue structure and associate it
  *			    with the device as driver_data.
  *
  * @apdev: the AP device being probed
  *
- * Return: returns 0 if the probe succeeded; otherwise, returns -ENOMEM if
- *	   storage could not be allocated for a vfio_ap_queue object.
+ * Return: returns 0 if the probe succeeded; otherwise, returns an error if
+ *	   storage could not be allocated for a vfio_ap_queue object or the
+ *	   sysfs 'status' attribute could not be created for the queue device.
  */
 static int vfio_ap_queue_dev_probe(struct ap_device *apdev)
 {
+	int ret;
 	struct vfio_ap_queue *q;
 
 	q = kzalloc(sizeof(*q), GFP_KERNEL);
 	if (!q)
 		return -ENOMEM;
+
+	mutex_lock(&matrix_dev->lock);
 	dev_set_drvdata(&apdev->device, q);
 	q->apqn = to_ap_queue(&apdev->device)->qid;
 	q->saved_isc = VFIO_AP_ISC_INVALID;
-	return 0;
+
+	ret = sysfs_create_group(&apdev->device.kobj, &vfio_queue_attr_group);
+	if (ret) {
+		dev_set_drvdata(&apdev->device, NULL);
+		kfree(q);
+	}
+
+	mutex_unlock(&matrix_dev->lock);
+
+	return ret;
 }
 
 /**
@@ -75,6 +147,7 @@ static void vfio_ap_queue_dev_remove(struct ap_device *apdev)
 	struct vfio_ap_queue *q;
 
 	mutex_lock(&matrix_dev->lock);
+	sysfs_remove_group(&apdev->device.kobj, &vfio_queue_attr_group);
 	q = dev_get_drvdata(&apdev->device);
 	vfio_ap_mdev_reset_queue(q, 1);
 	dev_set_drvdata(&apdev->device, NULL);
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir
  2021-10-27 16:48 ` [PATCH 2/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir Tony Krowiak
@ 2021-10-28  7:40   ` Harald Freudenberger
  2021-11-01 15:48     ` Tony Krowiak
  0 siblings, 1 reply; 5+ messages in thread
From: Harald Freudenberger @ 2021-10-28  7:40 UTC (permalink / raw)
  To: Tony Krowiak, linux-s390; +Cc: borntraeger, cohuck, mjrosato, jjherne, pasic

On 27.10.21 18:48, Tony Krowiak wrote:
> This patch adds a sysfs 'status' attribute to a queue device when it is
> bound to the vfio_ap device driver. The field displays a string indicating
> the status of the queue device:
>
> Status String:  Indicates:
> -------------   ---------
> "assigned"      the queue is assigned to an mdev, but is not in use by a
>                 KVM guest.
> "in use"        the queue is assigned to an mdev and is in use by a KVM
>                 guest.
> "unassigned"    the queue is not assigned to an mdev.
>
> The status string will be displayed by the 'lszcrypt' command if the queue
> device is bound to the vfio_ap device driver.
>
> Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
> [akrowiak@linux.ibm.com: added check for queue in use by guest]
> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
> ---
>  drivers/s390/crypto/vfio_ap_drv.c | 79 +++++++++++++++++++++++++++++--
>  1 file changed, 76 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/s390/crypto/vfio_ap_drv.c b/drivers/s390/crypto/vfio_ap_drv.c
> index 03311a476366..e043ae236630 100644
> --- a/drivers/s390/crypto/vfio_ap_drv.c
> +++ b/drivers/s390/crypto/vfio_ap_drv.c
> @@ -17,6 +17,9 @@
>  
>  #define VFIO_AP_ROOT_NAME "vfio_ap"
>  #define VFIO_AP_DEV_NAME "matrix"
> +#define AP_QUEUE_ASSIGNED "assigned"
> +#define AP_QUEUE_UNASSIGNED "unassigned"
> +#define AP_QUEUE_IN_USE "in use"
>  
>  MODULE_AUTHOR("IBM Corporation");
>  MODULE_DESCRIPTION("VFIO AP device driver, Copyright IBM Corp. 2018");
> @@ -41,26 +44,95 @@ static struct ap_device_id ap_queue_ids[] = {
>  
>  MODULE_DEVICE_TABLE(vfio_ap, ap_queue_ids);
>  
> +static struct ap_matrix_mdev *vfio_ap_mdev_for_queue(struct vfio_ap_queue *q)
> +{
> +	struct ap_matrix_mdev *matrix_mdev;
> +	unsigned long apid = AP_QID_CARD(q->apqn);
> +	unsigned long apqi = AP_QID_QUEUE(q->apqn);
> +
> +	list_for_each_entry(matrix_mdev, &matrix_dev->mdev_list, node) {
> +		if (test_bit_inv(apid, matrix_mdev->matrix.apm) &&
> +		    test_bit_inv(apqi, matrix_mdev->matrix.aqm))
> +			return matrix_mdev;
> +	}
> +
> +	return NULL;
> +}
> +
> +static ssize_t status_show(struct device *dev,
> +			   struct device_attribute *attr,
> +			   char *buf)
> +{
> +	ssize_t nchars = 0;
> +	struct vfio_ap_queue *q;
> +	struct ap_matrix_mdev *matrix_mdev;
> +	struct ap_device *apdev = to_ap_dev(dev);
> +
> +	mutex_lock(&matrix_dev->lock);
> +	q = dev_get_drvdata(&apdev->device);
> +	matrix_mdev = vfio_ap_mdev_for_queue(q);
> +
> +	if (matrix_mdev) {
> +		if (matrix_mdev->kvm)
> +			nchars = scnprintf(buf, PAGE_SIZE, "%s\n",
> +					   AP_QUEUE_IN_USE);
> +		else
> +			nchars = scnprintf(buf, PAGE_SIZE, "%s\n",
> +					   AP_QUEUE_ASSIGNED);
> +	} else {
> +		nchars = scnprintf(buf, PAGE_SIZE, "%s\n",
> +				   AP_QUEUE_UNASSIGNED);
> +	}
> +
> +	mutex_unlock(&matrix_dev->lock);
> +
> +	return nchars;
> +}
> +
> +static DEVICE_ATTR_RO(status);
> +
> +static struct attribute *vfio_queue_attrs[] = {
> +	&dev_attr_status.attr,
> +	NULL,
> +};
> +
> +static const struct attribute_group vfio_queue_attr_group = {
> +	.attrs = vfio_queue_attrs,
> +};
> +
>  /**
>   * vfio_ap_queue_dev_probe: Allocate a vfio_ap_queue structure and associate it
>   *			    with the device as driver_data.
>   *
>   * @apdev: the AP device being probed
>   *
> - * Return: returns 0 if the probe succeeded; otherwise, returns -ENOMEM if
> - *	   storage could not be allocated for a vfio_ap_queue object.
> + * Return: returns 0 if the probe succeeded; otherwise, returns an error if
> + *	   storage could not be allocated for a vfio_ap_queue object or the
> + *	   sysfs 'status' attribute could not be created for the queue device.
>   */
>  static int vfio_ap_queue_dev_probe(struct ap_device *apdev)
>  {
> +	int ret;
>  	struct vfio_ap_queue *q;
>  
>  	q = kzalloc(sizeof(*q), GFP_KERNEL);
>  	if (!q)
>  		return -ENOMEM;
> +
> +	mutex_lock(&matrix_dev->lock);
>  	dev_set_drvdata(&apdev->device, q);
>  	q->apqn = to_ap_queue(&apdev->device)->qid;
>  	q->saved_isc = VFIO_AP_ISC_INVALID;
> -	return 0;
> +
> +	ret = sysfs_create_group(&apdev->device.kobj, &vfio_queue_attr_group);
> +	if (ret) {
> +		dev_set_drvdata(&apdev->device, NULL);
> +		kfree(q);
> +	}
> +
> +	mutex_unlock(&matrix_dev->lock);
> +
> +	return ret;
>  }
>  
>  /**
> @@ -75,6 +147,7 @@ static void vfio_ap_queue_dev_remove(struct ap_device *apdev)
>  	struct vfio_ap_queue *q;
>  
>  	mutex_lock(&matrix_dev->lock);
> +	sysfs_remove_group(&apdev->device.kobj, &vfio_queue_attr_group);
>  	q = dev_get_drvdata(&apdev->device);
>  	vfio_ap_mdev_reset_queue(q, 1);
>  	dev_set_drvdata(&apdev->device, NULL);
Looks good to me, add my "Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>"

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir
  2021-10-28  7:40   ` Harald Freudenberger
@ 2021-11-01 15:48     ` Tony Krowiak
  0 siblings, 0 replies; 5+ messages in thread
From: Tony Krowiak @ 2021-11-01 15:48 UTC (permalink / raw)
  To: Harald Freudenberger, linux-s390
  Cc: borntraeger, cohuck, mjrosato, jjherne, pasic



On 10/28/21 3:40 AM, Harald Freudenberger wrote:
> On 27.10.21 18:48, Tony Krowiak wrote:
>> This patch adds a sysfs 'status' attribute to a queue device when it is
>> bound to the vfio_ap device driver. The field displays a string indicating
>> the status of the queue device:
>>
>> Status String:  Indicates:
>> -------------   ---------
>> "assigned"      the queue is assigned to an mdev, but is not in use by a
>>                  KVM guest.
>> "in use"        the queue is assigned to an mdev and is in use by a KVM
>>                  guest.
>> "unassigned"    the queue is not assigned to an mdev.
>>
>> The status string will be displayed by the 'lszcrypt' command if the queue
>> device is bound to the vfio_ap device driver.
>>
>> Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
>> [akrowiak@linux.ibm.com: added check for queue in use by guest]
>> Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>Looks good to me, add my "Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>"

You already have a Signed-off-by since you created the original version 
of this
patch. I added my Signed-off-by for adding the "in use" status value. 
Should I still
add a Reviewed-by for you?



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-11-01 15:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-27 16:48 [PATCH 0/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir Tony Krowiak
2021-10-27 16:48 ` [PATCH 1/2] s390/vfio-ap: s390/crypto: fix all kernel-doc warnings Tony Krowiak
2021-10-27 16:48 ` [PATCH 2/2] s390/vfio-ap: add status attribute to AP queue device's sysfs dir Tony Krowiak
2021-10-28  7:40   ` Harald Freudenberger
2021-11-01 15:48     ` Tony Krowiak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox