Re: [PATCH v12 5/7] fpga: sec-mgr: expose sec-mgr update size

From: Moritz Fischer
Date: Mon May 10 2021 - 13:39:47 EST


On Mon, May 03, 2021 at 02:35:44PM -0700, Russ Weight wrote:
> Extend the FPGA Security Manager class driver to include
> an update/remaining_size sysfs node that can be read to
> determine how much data remains to be transferred to the
> secure update engine. This file can be used to monitor
> progress during the "writing" phase of an update.
>
> Signed-off-by: Russ Weight <russell.h.weight@xxxxxxxxx>
> Reviewed-by: Tom Rix <trix@xxxxxxxxxx>
> ---
> v12:
> - Updated Date and KernelVersion fields in ABI documentation
> v11:
> - No change
> v10:
> - Rebased to 5.12-rc2 next
> - Updated Date and KernelVersion in ABI documentation
> v9:
> - Updated Date and KernelVersion in ABI documentation
> v8:
> - No change
> v7:
> - Changed Date in documentation file to December 2020
> v6:
> - No change
> v5:
> - Use new function sysfs_emit() in the remaining_size_show() function
> v4:
> - Changed from "Intel FPGA Security Manager" to FPGA Security Manager"
> and removed unnecessary references to "Intel".
> - Changed: imgr -> smgr, ifpga_ to fpga_
> v3:
> - No change
> v2:
> - Bumped documentation date and version
> ---
> Documentation/ABI/testing/sysfs-class-fpga-sec-mgr | 11 +++++++++++
> drivers/fpga/fpga-sec-mgr.c | 10 ++++++++++
> 2 files changed, 21 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-class-fpga-sec-mgr b/Documentation/ABI/testing/sysfs-class-fpga-sec-mgr
> index 24890d04521f..c5d0b9d7c7e4 100644
> --- a/Documentation/ABI/testing/sysfs-class-fpga-sec-mgr
> +++ b/Documentation/ABI/testing/sysfs-class-fpga-sec-mgr
> @@ -28,6 +28,17 @@ Description: Read-only. Returns a string describing the current
> as it will be signaled by sysfs_notify() on each
> state change.
>
> +What: /sys/class/fpga_sec_mgr/fpga_secX/update/remaining_size
> +Date: June 2021
> +KernelVersion: 5.14
> +Contact: Russ Weight <russell.h.weight@xxxxxxxxx>
> +Description: Read-only. Returns the size of data that remains to
> + be written to the secure update engine. The size
> + value is initialized to the full size of the file
> + image and the value is updated periodically during
> + the "writing" phase of the update.
> + Format: "%u".
> +
> What: /sys/class/fpga_sec_mgr/fpga_secX/update/error
> Date: June 2021
> KernelVersion: 5.14
> diff --git a/drivers/fpga/fpga-sec-mgr.c b/drivers/fpga/fpga-sec-mgr.c
> index e43fa2797d27..2487042ace82 100644
> --- a/drivers/fpga/fpga-sec-mgr.c
> +++ b/drivers/fpga/fpga-sec-mgr.c
> @@ -198,6 +198,15 @@ error_show(struct device *dev, struct device_attribute *attr, char *buf)
> }
> static DEVICE_ATTR_RO(error);
>
> +static ssize_t remaining_size_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> +{
> + struct fpga_sec_mgr *smgr = to_sec_mgr(dev);
> +
> + return sysfs_emit(buf, "%u\n", smgr->remaining_size);
> +}
> +static DEVICE_ATTR_RO(remaining_size);
> +
> static ssize_t filename_store(struct device *dev, struct device_attribute *attr,
> const char *buf, size_t count)
> {
> @@ -234,6 +243,7 @@ static struct attribute *sec_mgr_update_attrs[] = {
> &dev_attr_filename.attr,
> &dev_attr_status.attr,
> &dev_attr_error.attr,
> + &dev_attr_remaining_size.attr,
> NULL,
> };
>
> --
> 2.25.1
>

Looks good,
Moritz