diff mbox series

Disabling link power-management on Samsung SSD 870 QVO drives to make them work.

Message ID a421afd8-d841-4d3c-bfe9-9dee707bb319@debian.org
State New
Headers show
Series Disabling link power-management on Samsung SSD 870 QVO drives to make them work. | expand

Commit Message

Daniel Baumann Jan. 18, 2025, 5:52 a.m. UTC
Hi,

since the kernel enabled LPM by default, Samsung 870 QVO SATA SSDs don't
work anymore. Disabling LPM for them solves it, please consider applying
the attached patch.

I've added a new case for 870 QVO specifically as regular 870 don't have
the issue.

[I'm not subscribed to the list, please CC on replies]

Regards,
Daniel

Comments

Niklas Cassel Jan. 20, 2025, 1:18 p.m. UTC | #1
Hello Daniel,

On Sat, Jan 18, 2025 at 06:52:30AM +0100, Daniel Baumann wrote:
> Hi,
> 
> since the kernel enabled LPM by default, Samsung 870 QVO SATA SSDs don't
> work anymore. Disabling LPM for them solves it, please consider applying
> the attached patch.
> 
> I've added a new case for 870 QVO specifically as regular 870 don't have
> the issue.

This should have been in the commit message.

Out of curiosity, did you test on regular 870, so you know they are not
broken as well?


> 
> [I'm not subscribed to the list, please CC on replies]
> 
> Regards,
> Daniel

> From 55e2cb12faa48cf429ad4a299ea4e4a3a9ba25f5 Mon Sep 17 00:00:00 2001
> From: Daniel Baumann <daniel@debian.org>
> Date: Sat, 18 Jan 2025 06:36:43 +0100
> Subject: [PATCH] Disabling link power-management on Samsung SSD 870 QVO drives
>  to make them work.

The subject should be something like:
ata: libata-core: Add ATA_QUIRK_NOLPM for Samsung SSD 870 QVO drives

> 
> Signed-off-by: Daniel Baumann <daniel@debian.org>

You probably also want to add:
Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type")
Cc: stable@vger.kernel.org

> ---
>  drivers/ata/libata-core.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index c085dd81ebe7..63ec2f218431 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -4143,6 +4143,10 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
>  	{ "Samsung SSD 860*",		NULL,	ATA_QUIRK_NO_NCQ_TRIM |
>  						ATA_QUIRK_ZERO_AFTER_TRIM |
>  						ATA_QUIRK_NO_NCQ_ON_ATI },
> +	{ "Samsung SSD 870 QVO*",	NULL,	ATA_QUIRK_NO_NCQ_TRIM |
> +						ATA_QUIRK_ZERO_AFTER_TRIM |
> +						ATA_QUIRK_NO_NCQ_ON_ATI |
> +						ATA_QUIRK_NOLPM },
>  	{ "Samsung SSD 870*",		NULL,	ATA_QUIRK_NO_NCQ_TRIM |
>  						ATA_QUIRK_ZERO_AFTER_TRIM |
>  						ATA_QUIRK_NO_NCQ_ON_ATI },
> -- 
> 2.45.2
>
Daniel Baumann Jan. 20, 2025, 3:08 p.m. UTC | #2
Hi Niklas,

On 1/20/25 14:18, Niklas Cassel wrote:
>> I've added a new case for 870 QVO specifically as regular 870 don't have
>> the issue.
> 
> This should have been in the commit message.

thanks for the pointer, I have now adjusted the commit message.

> Out of curiosity, did you test on regular 870, so you know they are not
> broken as well?

we don't have many of non-QVO variants, but so far none of them has
needed it. I've added that to the commit message as well.

> You probably also want to add:
> Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type")
> Cc: stable@vger.kernel.org

added, thanks!

Updated patch attached.

Regards,
Daniel
Damien Le Moal Jan. 23, 2025, 4:21 a.m. UTC | #3
On 1/21/25 12:08 AM, Daniel Baumann wrote:
> Hi Niklas,
> 
> On 1/20/25 14:18, Niklas Cassel wrote:
>>> I've added a new case for 870 QVO specifically as regular 870 don't have
>>> the issue.
>>
>> This should have been in the commit message.
> 
> thanks for the pointer, I have now adjusted the commit message.
> 
>> Out of curiosity, did you test on regular 870, so you know they are not
>> broken as well?
> 
> we don't have many of non-QVO variants, but so far none of them has
> needed it. I've added that to the commit message as well.
> 
>> You probably also want to add:
>> Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type")
>> Cc: stable@vger.kernel.org
> 
> added, thanks!
> 
> Updated patch attached.

For reference for future patches: please use "git send-email" to send patches.
Also please make sure to version the patches (git format-patch -vX ...) and add
changelog notes after the "---" at the end of the commit message and before the
first line of the patch content (in your case, the line
"drivers/ata/libata-core.c | 4 ++++")

Thank you.
Daniel Baumann Jan. 23, 2025, 5:07 a.m. UTC | #4
On 1/23/25 05:21, Damien Le Moal wrote:
> For reference for future patches:

sorry, I wasn't aware.
I'll make sure of it for next time, thank you for the help.

Regards,
Daniel
Niklas Cassel Jan. 27, 2025, 2:38 p.m. UTC | #5
On Mon, Jan 20, 2025 at 04:08:16PM +0100, Daniel Baumann wrote:
> Hi Niklas,
> 
> On 1/20/25 14:18, Niklas Cassel wrote:
> >> I've added a new case for 870 QVO specifically as regular 870 don't have
> >> the issue.
> > 
> > This should have been in the commit message.
> 
> thanks for the pointer, I have now adjusted the commit message.
> 
> > Out of curiosity, did you test on regular 870, so you know they are not
> > broken as well?
> 
> we don't have many of non-QVO variants, but so far none of them has
> needed it. I've added that to the commit message as well.
> 
> > You probably also want to add:
> > Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type")
> > Cc: stable@vger.kernel.org
> 
> added, thanks!
> 
> Updated patch attached.
> 
> Regards,
> Daniel

> From f2b44baf60d11882696a99445bf217d6ee409903 Mon Sep 17 00:00:00 2001
> From: Daniel Baumann <daniel@debian.org>
> Date: Sat, 18 Jan 2025 06:36:43 +0100
> Subject: [PATCH] ata: libata-core: Add ATA_QUIRK_NOLPM for Samsung SSD 870 QVO
>  drives
> 
> Disabling link power management on Samsung SSD 870 QVO drives
> to make them work again after the switch of the default LPM
> policy to low.
> 
> Testing so far has shown that regular Samsung SSD 870
> (the non QVO variants) do not need it and work fine with
> the default LPM policy.
> 
> Cc: stable@vger.kernel.org
> Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type")
> Signed-off-by: Daniel Baumann <daniel@debian.org>
> ---
>  drivers/ata/libata-core.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index c085dd81ebe7..63ec2f218431 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -4143,6 +4143,10 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
>  	{ "Samsung SSD 860*",		NULL,	ATA_QUIRK_NO_NCQ_TRIM |
>  						ATA_QUIRK_ZERO_AFTER_TRIM |
>  						ATA_QUIRK_NO_NCQ_ON_ATI },
> +	{ "Samsung SSD 870 QVO*",	NULL,	ATA_QUIRK_NO_NCQ_TRIM |
> +						ATA_QUIRK_ZERO_AFTER_TRIM |
> +						ATA_QUIRK_NO_NCQ_ON_ATI |
> +						ATA_QUIRK_NOLPM },
>  	{ "Samsung SSD 870*",		NULL,	ATA_QUIRK_NO_NCQ_TRIM |
>  						ATA_QUIRK_ZERO_AFTER_TRIM |
>  						ATA_QUIRK_NO_NCQ_ON_ATI },
> -- 
> 2.45.2
> 

Applied to libata/linux.git (for-6.14), thanks!


[1/1] ata: libata-core: Add ATA_QUIRK_NOLPM for Samsung SSD 870 QVO drives
      https://git.kernel.org/libata/linux/c/cc77e2ce

Kind regards,
Niklas
diff mbox series

Patch

From 55e2cb12faa48cf429ad4a299ea4e4a3a9ba25f5 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel@debian.org>
Date: Sat, 18 Jan 2025 06:36:43 +0100
Subject: [PATCH] Disabling link power-management on Samsung SSD 870 QVO drives
 to make them work.

Signed-off-by: Daniel Baumann <daniel@debian.org>
---
 drivers/ata/libata-core.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index c085dd81ebe7..63ec2f218431 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4143,6 +4143,10 @@  static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
 	{ "Samsung SSD 860*",		NULL,	ATA_QUIRK_NO_NCQ_TRIM |
 						ATA_QUIRK_ZERO_AFTER_TRIM |
 						ATA_QUIRK_NO_NCQ_ON_ATI },
+	{ "Samsung SSD 870 QVO*",	NULL,	ATA_QUIRK_NO_NCQ_TRIM |
+						ATA_QUIRK_ZERO_AFTER_TRIM |
+						ATA_QUIRK_NO_NCQ_ON_ATI |
+						ATA_QUIRK_NOLPM },
 	{ "Samsung SSD 870*",		NULL,	ATA_QUIRK_NO_NCQ_TRIM |
 						ATA_QUIRK_ZERO_AFTER_TRIM |
 						ATA_QUIRK_NO_NCQ_ON_ATI },
-- 
2.45.2