linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7] ufs: core: print UFSHCD capabilities in controller's sysfs node
@ 2022-08-15  0:48 Daniil Lunev
  2022-08-15  6:42 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 6+ messages in thread
From: Daniil Lunev @ 2022-08-15  0:48 UTC (permalink / raw)
  To: Adrian Hunter, Bart Van Assche, Greg Kroah-Hartman
  Cc: Daniil Lunev, Alim Akhtar, Avri Altman, Bean Huo,
	James E.J. Bottomley, Keoseong Park, Martin K. Petersen,
	Mauro Carvalho Chehab, Sohaib Mohamed, linux-kernel, linux-scsi

Allows userspace to check if Clock Scaling and Write Booster are
supported.

Signed-off-by: Daniil Lunev <dlunev@chromium.org>

---

Changes in v7:
* Move the comment to the documnetation
* Update the month on the documentation

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 | 37 ++++++++++++++++++++++
 drivers/ufs/core/ufs-sysfs.c               | 35 ++++++++++++++++++++
 2 files changed, 72 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-driver-ufs b/Documentation/ABI/testing/sysfs-driver-ufs
index 6b248abb1bd71..78f3e393d2498 100644
--- a/Documentation/ABI/testing/sysfs-driver-ufs
+++ b/Documentation/ABI/testing/sysfs-driver-ufs
@@ -1591,6 +1591,43 @@ Description:	This entry shows the status of HPB.
 
 		The file is read only.
 
+Contact:	Daniil Lunev <dlunev@chromium.org>
+What:		/sys/bus/platform/drivers/ufshcd/*/capabilities/
+What:		/sys/bus/platform/devices/*.ufs/capabilities/
+Date:		August 2022
+Description:	The 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.
+
+Contact:	Daniil Lunev <dlunev@chromium.org>
+What:		/sys/bus/platform/drivers/ufshcd/*/capabilities/clock_scaling
+What:		/sys/bus/platform/devices/*.ufs/capabilities/clock_scaling
+Date:		August 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:		August 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..75d4287657c80 100644
--- a/drivers/ufs/core/ufs-sysfs.c
+++ b/drivers/ufs/core/ufs-sysfs.c
@@ -279,6 +279,40 @@ 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);
+
+/*
+ * See Documentation/ABI/testing/sysfs-driver-ufs for the semantics of this
+ * group.
+ */
+static struct attribute *ufs_sysfs_capabilities_attrs[] = {
+	&dev_attr_clock_scaling.attr,
+	&dev_attr_write_booster.attr,
+	NULL
+};
+
+static const struct attribute_group ufs_sysfs_capabilities_group = {
+	.name = "capabilities",
+	.attrs = ufs_sysfs_capabilities_attrs,
+};
+
 static ssize_t monitor_enable_show(struct device *dev,
 				   struct device_attribute *attr, char *buf)
 {
@@ -1134,6 +1168,7 @@ static const struct attribute_group ufs_sysfs_attributes_group = {
 
 static const struct attribute_group *ufs_sysfs_groups[] = {
 	&ufs_sysfs_default_group,
+	&ufs_sysfs_capabilities_group,
 	&ufs_sysfs_monitor_group,
 	&ufs_sysfs_device_descriptor_group,
 	&ufs_sysfs_interconnect_descriptor_group,
-- 
2.31.0


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

* Re: [PATCH v7] ufs: core: print UFSHCD capabilities in controller's sysfs node
  2022-08-15  0:48 [PATCH v7] ufs: core: print UFSHCD capabilities in controller's sysfs node Daniil Lunev
@ 2022-08-15  6:42 ` Greg Kroah-Hartman
  2022-08-21 23:59   ` Daniil Lunev
  2022-08-22  9:03   ` Daniil Lunev
  0 siblings, 2 replies; 6+ messages in thread
From: Greg Kroah-Hartman @ 2022-08-15  6:42 UTC (permalink / raw)
  To: Daniil Lunev
  Cc: Adrian Hunter, Bart Van Assche, Alim Akhtar, Avri Altman,
	Bean Huo, James E.J. Bottomley, Keoseong Park,
	Martin K. Petersen, Mauro Carvalho Chehab, Sohaib Mohamed,
	linux-kernel, linux-scsi

On Mon, Aug 15, 2022 at 10:48:03AM +1000, Daniil Lunev wrote:
> Allows userspace to check if Clock Scaling and Write Booster are
> supported.
> 
> Signed-off-by: Daniil Lunev <dlunev@chromium.org>

Please provide a lot more information about this in the changelog text.
What would you want to see here if you had to review this change?

thanks,

greg k-h

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

* Re: [PATCH v7] ufs: core: print UFSHCD capabilities in controller's sysfs node
  2022-08-15  6:42 ` Greg Kroah-Hartman
@ 2022-08-21 23:59   ` Daniil Lunev
  2022-08-22  6:10     ` Greg Kroah-Hartman
  2022-08-22  9:03   ` Daniil Lunev
  1 sibling, 1 reply; 6+ messages in thread
From: Daniil Lunev @ 2022-08-21 23:59 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Adrian Hunter, Bart Van Assche, Alim Akhtar, Avri Altman,
	Bean Huo, James E.J. Bottomley, Keoseong Park,
	Martin K. Petersen, Mauro Carvalho Chehab, Sohaib Mohamed,
	linux-kernel, linux-scsi

Hi Greg,
Can you clarify what specifically is missing from the changelog?
The comment used to be on the "c" file, but now is moved to the
documentation. Is there anything specific missing?
Thanks,
Daniil

On Mon, Aug 15, 2022 at 4:42 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Mon, Aug 15, 2022 at 10:48:03AM +1000, Daniil Lunev wrote:
> > Allows userspace to check if Clock Scaling and Write Booster are
> > supported.
> >
> > Signed-off-by: Daniil Lunev <dlunev@chromium.org>
>
> Please provide a lot more information about this in the changelog text.
> What would you want to see here if you had to review this change?
>
> thanks,
>
> greg k-h

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

* Re: [PATCH v7] ufs: core: print UFSHCD capabilities in controller's sysfs node
  2022-08-21 23:59   ` Daniil Lunev
@ 2022-08-22  6:10     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 6+ messages in thread
From: Greg Kroah-Hartman @ 2022-08-22  6:10 UTC (permalink / raw)
  To: Daniil Lunev
  Cc: Adrian Hunter, Bart Van Assche, Alim Akhtar, Avri Altman,
	Bean Huo, James E.J. Bottomley, Keoseong Park,
	Martin K. Petersen, Mauro Carvalho Chehab, Sohaib Mohamed,
	linux-kernel, linux-scsi

On Mon, Aug 22, 2022 at 09:59:19AM +1000, Daniil Lunev wrote:
> Hi Greg,
> Can you clarify what specifically is missing from the changelog?

What changelog?  I have no context here (remember, never top-post).

confused,

greg k-h

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

* Re: [PATCH v7] ufs: core: print UFSHCD capabilities in controller's sysfs node
  2022-08-15  6:42 ` Greg Kroah-Hartman
  2022-08-21 23:59   ` Daniil Lunev
@ 2022-08-22  9:03   ` Daniil Lunev
  2022-08-22  9:28     ` Greg Kroah-Hartman
  1 sibling, 1 reply; 6+ messages in thread
From: Daniil Lunev @ 2022-08-22  9:03 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Adrian Hunter, Bart Van Assche, Alim Akhtar, Avri Altman,
	Bean Huo, James E.J. Bottomley, Keoseong Park,
	Martin K. Petersen, Mauro Carvalho Chehab, Sohaib Mohamed,
	linux-kernel, linux-scsi

On Mon, Aug 15, 2022 at 4:42 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> Please provide a lot more information about this in the changelog text.
> What would you want to see here if you had to review this change?

Hi Greg,
Sorry for toppost, let me try again.
Can you clarify what specifically is missing from the changelog?
The comment used to be on the "c" file, but now is moved to the
documentation. Is there anything specific missing? Or do you
mean commit messages?

Thanks,
Daniil

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

* Re: [PATCH v7] ufs: core: print UFSHCD capabilities in controller's sysfs node
  2022-08-22  9:03   ` Daniil Lunev
@ 2022-08-22  9:28     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 6+ messages in thread
From: Greg Kroah-Hartman @ 2022-08-22  9:28 UTC (permalink / raw)
  To: Daniil Lunev
  Cc: Adrian Hunter, Bart Van Assche, Alim Akhtar, Avri Altman,
	Bean Huo, James E.J. Bottomley, Keoseong Park,
	Martin K. Petersen, Mauro Carvalho Chehab, Sohaib Mohamed,
	linux-kernel, linux-scsi

On Mon, Aug 22, 2022 at 07:03:02PM +1000, Daniil Lunev wrote:
> On Mon, Aug 15, 2022 at 4:42 PM Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > Please provide a lot more information about this in the changelog text.
> > What would you want to see here if you had to review this change?
> 
> Hi Greg,
> Sorry for toppost, let me try again.
> Can you clarify what specifically is missing from the changelog?

What changelog?  I don't really know anymore as I have no context,
sorry.  Remember some of us get 1000+ emails a day to deal with.

thanks,

greg k-h

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

end of thread, other threads:[~2022-08-22  9:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-15  0:48 [PATCH v7] ufs: core: print UFSHCD capabilities in controller's sysfs node Daniil Lunev
2022-08-15  6:42 ` Greg Kroah-Hartman
2022-08-21 23:59   ` Daniil Lunev
2022-08-22  6:10     ` Greg Kroah-Hartman
2022-08-22  9:03   ` Daniil Lunev
2022-08-22  9:28     ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).