On 9/4/20 4:53 PM, Russ Weight wrote:
> Extend the Intel 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 <[email protected]>
> Reviewed-by: Wu Hao <[email protected]>
> ---
>  Documentation/ABI/testing/sysfs-class-ifpga-sec-mgr | 11 +++++++++++
>  drivers/fpga/ifpga-sec-mgr.c                        | 10 ++++++++++
>  2 files changed, 21 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-class-ifpga-sec-mgr 
> b/Documentation/ABI/testing/sysfs-class-ifpga-sec-mgr
> index e7b1b02bf7ee..cf1967f1b3e3 100644
> --- a/Documentation/ABI/testing/sysfs-class-ifpga-sec-mgr
> +++ b/Documentation/ABI/testing/sysfs-class-ifpga-sec-mgr
> @@ -98,6 +98,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/ifpga_sec_mgr/ifpga_secX/update/remaining_size
> +Date:                Sep 2020
> +KernelVersion:  5.10
> +Contact:     Russ Weight <[email protected]>
> +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/ifpga_sec_mgr/ifpga_secX/update/error
>  Date:                Sep 2020
>  KernelVersion:  5.10
> diff --git a/drivers/fpga/ifpga-sec-mgr.c b/drivers/fpga/ifpga-sec-mgr.c
> index a7718bd8ee61..4ca5d13e5656 100644
> --- a/drivers/fpga/ifpga-sec-mgr.c
> +++ b/drivers/fpga/ifpga-sec-mgr.c
> @@ -325,6 +325,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 ifpga_sec_mgr *imgr = to_sec_mgr(dev);
> +
> +     return sprintf(buf, "%u\n", imgr->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)
>  {
> @@ -364,6 +373,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,
>  };
>  

Looks fine.

Reviewed-by: Tom Rix <[email protected]>

Reply via email to