diff mbox series

ata: libata-sata: improve sysfs description for ATA_LPM_UNKNOWN

Message ID 20240111165745.3653361-1-cassel@kernel.org
State New
Headers show
Series ata: libata-sata: improve sysfs description for ATA_LPM_UNKNOWN | expand

Commit Message

Niklas Cassel Jan. 11, 2024, 4:57 p.m. UTC
Currently, both ATA_LPM_UNKNOWN (0) and ATA_LPM_MAX_POWER (1) displays
as "max_performance" in sysfs.

This is quite misleading as they are not the same.

For ATA_LPM_UNKNOWN, ata_eh_set_lpm() will not be called at all,
leaving the configuration in unknown state.
For ATA_LPM_MAX_POWER, ata_eh_set_lpm() is called, and setting the
policy to ATA_LPM_MAX_POWER.

This also matches the description of the SATA_MOBILE_LPM_POLICY Kconfig:
0 => Keep firmware settings
1 => Maximum performance

Thus, update the sysfs description for ATA_LPM_UNKNOWN to match reality.

While at it, update libata.h to mention that the ascii descriptions
are in libata-sata.c and not in libata-scsi.c.

Signed-off-by: Niklas Cassel <cassel@kernel.org>
---
 drivers/ata/libata-sata.c | 2 +-
 include/linux/libata.h    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Damien Le Moal Jan. 12, 2024, 7:20 a.m. UTC | #1
On 1/12/24 01:57, Niklas Cassel wrote:
> Currently, both ATA_LPM_UNKNOWN (0) and ATA_LPM_MAX_POWER (1) displays
> as "max_performance" in sysfs.
> 
> This is quite misleading as they are not the same.
> 
> For ATA_LPM_UNKNOWN, ata_eh_set_lpm() will not be called at all,
> leaving the configuration in unknown state.
> For ATA_LPM_MAX_POWER, ata_eh_set_lpm() is called, and setting the
> policy to ATA_LPM_MAX_POWER.
> 
> This also matches the description of the SATA_MOBILE_LPM_POLICY Kconfig:
> 0 => Keep firmware settings
> 1 => Maximum performance
> 
> Thus, update the sysfs description for ATA_LPM_UNKNOWN to match reality.
> 
> While at it, update libata.h to mention that the ascii descriptions
> are in libata-sata.c and not in libata-scsi.c.
> 
> Signed-off-by: Niklas Cassel <cassel@kernel.org>

Looks good.

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Niklas Cassel Jan. 22, 2024, 9:33 p.m. UTC | #2
On Thu, Jan 11, 2024 at 05:57:44PM +0100, Niklas Cassel wrote:
> Currently, both ATA_LPM_UNKNOWN (0) and ATA_LPM_MAX_POWER (1) displays
> as "max_performance" in sysfs.
> 
> This is quite misleading as they are not the same.
> 
> For ATA_LPM_UNKNOWN, ata_eh_set_lpm() will not be called at all,
> leaving the configuration in unknown state.
> For ATA_LPM_MAX_POWER, ata_eh_set_lpm() is called, and setting the
> policy to ATA_LPM_MAX_POWER.
> 
> This also matches the description of the SATA_MOBILE_LPM_POLICY Kconfig:
> 0 => Keep firmware settings
> 1 => Maximum performance
> 
> Thus, update the sysfs description for ATA_LPM_UNKNOWN to match reality.
> 
> While at it, update libata.h to mention that the ascii descriptions
> are in libata-sata.c and not in libata-scsi.c.
> 
> Signed-off-by: Niklas Cassel <cassel@kernel.org>
> ---

Applied:
https://git.kernel.org/pub/scm/linux/kernel/git/libata/linux.git/log/?h=for-6.8-fixes
diff mbox series

Patch

diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c
index b6656c287175..0fb1934875f2 100644
--- a/drivers/ata/libata-sata.c
+++ b/drivers/ata/libata-sata.c
@@ -784,7 +784,7 @@  bool sata_lpm_ignore_phy_events(struct ata_link *link)
 EXPORT_SYMBOL_GPL(sata_lpm_ignore_phy_events);
 
 static const char *ata_lpm_policy_names[] = {
-	[ATA_LPM_UNKNOWN]		= "max_performance",
+	[ATA_LPM_UNKNOWN]		= "keep_firmware_settings",
 	[ATA_LPM_MAX_POWER]		= "max_performance",
 	[ATA_LPM_MED_POWER]		= "medium_power",
 	[ATA_LPM_MED_POWER_WITH_DIPM]	= "med_power_with_dipm",
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 1dbb14daccfa..26d68115afb8 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -471,7 +471,7 @@  enum ata_completion_errors {
 
 /*
  * Link power management policy: If you alter this, you also need to
- * alter libata-scsi.c (for the ascii descriptions)
+ * alter libata-sata.c (for the ascii descriptions)
  */
 enum ata_lpm_policy {
 	ATA_LPM_UNKNOWN,