From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Daniil Lunev <dlunev@chromium.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>,
Bart Van Assche <bvanassche@acm.org>,
Alim Akhtar <alim.akhtar@samsung.com>,
Avri Altman <avri.altman@wdc.com>, Bean Huo <beanhuo@micron.com>,
"James E.J. Bottomley" <jejb@linux.ibm.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
Sohaib Mohamed <sohaib.amhmd@gmail.com>,
linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH v6] ufs: core: print UFSHCD capabilities in controller's sysfs node
Date: Wed, 3 Aug 2022 08:12:08 +0200 [thread overview]
Message-ID: <YuoRuP2pxgSQ6c9E@kroah.com> (raw)
In-Reply-To: <20220803074955.v6.1.Ibf9efc9be50783eeee55befa2270b7d38552354c@changeid>
On Wed, Aug 03, 2022 at 07:50:07AM +1000, Daniil Lunev wrote:
> Allows userspace to check if Clock Scaling and Write Booster are
> supported.
>
> Signed-off-by: Daniil Lunev <dlunev@chromium.org>
>
> ---
>
> Changes in v6:
> * Add comment to clarify meaning of the "capbilities" sysfs group.
>
> Changes in v5:
> * Correct wording for clock scaling.
> * Correct wording for the commit message.
>
> Changes in v4:
> * Dropped crypto node per Eric Biggers mentioning it can be queried from
> disk's queue node
>
> Changes in v3:
> * Expose each capability individually.
> * Update documentation to represent new scheme.
>
> Changes in v2:
> * Add documentation entry for the new sysfs node.
>
> Documentation/ABI/testing/sysfs-driver-ufs | 26 +++++++++++++++
> drivers/ufs/core/ufs-sysfs.c | 37 ++++++++++++++++++++++
> 2 files changed, 63 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-driver-ufs b/Documentation/ABI/testing/sysfs-driver-ufs
> index 6b248abb1bd71..1750a9b84ce0f 100644
> --- a/Documentation/ABI/testing/sysfs-driver-ufs
> +++ b/Documentation/ABI/testing/sysfs-driver-ufs
> @@ -1591,6 +1591,32 @@ Description: This entry shows the status of HPB.
>
> The file is read only.
>
> +What: /sys/bus/platform/drivers/ufshcd/*/capabilities/clock_scaling
> +What: /sys/bus/platform/devices/*.ufs/capabilities/clock_scaling
> +Date: July 2022
> +Contact: Daniil Lunev <dlunev@chromium.org>
> +Description: Indicates status of clock scaling.
> +
> + == ============================
> + 0 Clock scaling is not supported.
> + 1 Clock scaling is supported.
> + == ============================
> +
> + The file is read only.
> +
> +What: /sys/bus/platform/drivers/ufshcd/*/capabilities/write_booster
> +What: /sys/bus/platform/devices/*.ufs/capabilities/write_booster
> +Date: July 2022
> +Contact: Daniil Lunev <dlunev@chromium.org>
> +Description: Indicates status of Write Booster.
> +
> + == ============================
> + 0 Write Booster can not be enabled.
> + 1 Write Booster can be enabled.
> + == ============================
> +
> + The file is read only.
> +
> What: /sys/class/scsi_device/*/device/hpb_param_sysfs/activation_thld
> Date: February 2021
> Contact: Avri Altman <avri.altman@wdc.com>
> diff --git a/drivers/ufs/core/ufs-sysfs.c b/drivers/ufs/core/ufs-sysfs.c
> index 0a088b47d5570..4149cdf19de92 100644
> --- a/drivers/ufs/core/ufs-sysfs.c
> +++ b/drivers/ufs/core/ufs-sysfs.c
> @@ -279,6 +279,42 @@ static const struct attribute_group ufs_sysfs_default_group = {
> .attrs = ufs_sysfs_ufshcd_attrs,
> };
>
> +static ssize_t clock_scaling_show(struct device *dev, struct device_attribute *attr,
> + char *buf)
> +{
> + struct ufs_hba *hba = dev_get_drvdata(dev);
> +
> + return sysfs_emit(buf, "%d\n", ufshcd_is_clkscaling_supported(hba));
> +}
> +
> +static ssize_t write_booster_show(struct device *dev, struct device_attribute *attr,
> + char *buf)
> +{
> + struct ufs_hba *hba = dev_get_drvdata(dev);
> +
> + return sysfs_emit(buf, "%d\n", ufshcd_is_wb_allowed(hba));
> +}
> +
> +static DEVICE_ATTR_RO(clock_scaling);
> +static DEVICE_ATTR_RO(write_booster);
> +
> +/*
> + * The "capabilities" sysfs group represents the effective capabilities of the
> + * host-device pair, i.e. the capabilities which are enabled in the driver for
> + * the specific host controller, supported by the host controller and are
> + * supported and/or have compatible configuration on the device side.
Why is this information not also in the Documentation/ABI/ entries as
well?
thanks,
greg k-h
next prev parent reply other threads:[~2022-08-03 6:12 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-02 21:50 [PATCH v6] ufs: core: print UFSHCD capabilities in controller's sysfs node Daniil Lunev
2022-08-03 6:12 ` Greg Kroah-Hartman [this message]
2022-08-03 6:34 ` Daniil Lunev
2022-08-09 21:16 ` Daniil Lunev
2022-08-10 5:03 ` Greg Kroah-Hartman
2022-08-11 6:19 ` Eric Biggers
2022-08-11 19:32 ` Daniil Lunev
2022-08-11 19:36 ` Eric Biggers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YuoRuP2pxgSQ6c9E@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=adrian.hunter@intel.com \
--cc=alim.akhtar@samsung.com \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=dlunev@chromium.org \
--cc=jejb@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=mchehab+huawei@kernel.org \
--cc=sohaib.amhmd@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.