[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220919094635.184804-1-ecurtin@redhat.com>
Date: Mon, 19 Sep 2022 10:46:39 +0100
From: Eric Curtin <ecurtin@...hat.com>
To: Damien Le Moal <damien.lemoal@...nsource.wdc.com>,
linux-ide@...r.kernel.org
Cc: Eric Curtin <ecurtin@...hat.com>, linux-kernel@...r.kernel.org,
Brian Masney <bmasney@...hat.com>, Al Stone <ahs3@...hat.com>,
Alexander Larsson <alexl@...hat.com>,
Andrew Halaney <ahalaney@...hat.com>,
Javier Martinez Canillas <javierm@...hat.com>,
Joe Konno <joe.konno@...el.com>
Subject: [PATCH] ata: ahci: Enable/Disable ATA Staggered Spin-up by default
On some kernels tuned for performance, you want to always favour
spin-up time versus power draw. This adds the ability to always favour
spin-up time by default (disabling Staggered Spin-up favours
performance, rather than power draw).
Regardless of whether this is enabled or disabled the
libahci.ignore_sss option will override any kernel config.
Signed-off-by: Eric Curtin <ecurtin@...hat.com>
---
drivers/ata/Kconfig | 15 +++++++++++++++
drivers/ata/libahci.c | 2 +-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index 1c9f4fb2595d..36b11fbcf644 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -67,6 +67,21 @@ config ATA_FORCE
If unsure, say Y.
+config ATA_SSS
+ bool "Enable ATA Staggered Spin-up by default"
+ default y
+ help
+ This option denotes whether Staggered Spin-up capability on
+ storage controllers is used. Staggered Spin-up reduces
+ peak power draw, but decreases performance. If this config is
+ set to N, Staggered Spin-up capability will be ignored by
+ default.
+
+ This can be overridden by using the kernel argument
+ libahci.ignore_sss.
+
+ If unsure, say Y.
+
config ATA_ACPI
bool "ATA ACPI Support"
depends on ACPI
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index cf8c7fd59ada..b7b573d47fda 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -33,7 +33,7 @@
#include "libata.h"
static int ahci_skip_host_reset;
-int ahci_ignore_sss;
+int ahci_ignore_sss = !IS_ENABLED(CONFIG_ATA_SSS);
EXPORT_SYMBOL_GPL(ahci_ignore_sss);
module_param_named(skip_host_reset, ahci_skip_host_reset, int, 0444);
--
2.37.3
Powered by blists - more mailing lists