* [PATCH] ata: libata-core: Disable LPM on Silicon Motion MD619HXCLDE3TC
@ 2025-11-24 16:34 Niklas Cassel
2025-11-25 11:31 ` Yihang Li
0 siblings, 1 reply; 7+ messages in thread
From: Niklas Cassel @ 2025-11-24 16:34 UTC (permalink / raw)
To: Damien Le Moal, Niklas Cassel; +Cc: Yihang Li, linux-ide
According to a user report, the Silicon Motion MD619HXCLDE3TC SSD has
problems with LPM.
Reported-by: Yihang Li <liyihang9@h-partners.com>
Closes: https://lore.kernel.org/linux-ide/20251121073502.3388239-1-liyihang9@h-partners.com/
Signed-off-by: Niklas Cassel <cassel@kernel.org>
---
Hello Yihang Li,
Please test this patch.
Before we apply this patch, it would be nice if you could try another SSD,
that supports LPM (HIPM and DIPM) with your AHCI controller:
Huawei Technologies Co., Ltd. HiSilicon AHCI HBA [19e5:a235] (rev 30)
Note: You can see if your drive supports HIPM and DIPM from the
ata_dev_print_features() print to dmesg during boot, e.g.:
ata6.00: Features: Trust Dev-Sleep HIPM DIPM NCQ-sndrcv NCQ-prio
Just so we can verify that it is the MD619HXCLDE3TC SSD that is not
handling LPM correctly, and that it is not the AHCI HBA that is at fault.
E.g. there have been some weird bugs with this AHCI controller before,
see e.g. 234e6d2c18f5 ("ata: ahci: Disable SXS for Hisilicon Kunpeng920").
drivers/ata/libata-core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index f48fb63d7e85..a8f4d5db2c9b 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4216,6 +4216,9 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
/* Apacer models with LPM issues */
{ "Apacer AS340*", NULL, ATA_QUIRK_NOLPM },
+ /* Silicon Motion models with LPM issues */
+ { "MD619HXCLDE3TC", "ID", ATA_QUIRK_NOLPM },
+
/* These specific Samsung models/firmware-revs do not handle LPM well */
{ "SAMSUNG MZMPC128HBFU-000MV", "CXM14M1Q", ATA_QUIRK_NOLPM },
{ "SAMSUNG SSD PM830 mSATA *", "CXM13D1Q", ATA_QUIRK_NOLPM },
--
2.52.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] ata: libata-core: Disable LPM on Silicon Motion MD619HXCLDE3TC
2025-11-24 16:34 [PATCH] ata: libata-core: Disable LPM on Silicon Motion MD619HXCLDE3TC Niklas Cassel
@ 2025-11-25 11:31 ` Yihang Li
2025-11-25 12:27 ` Niklas Cassel
0 siblings, 1 reply; 7+ messages in thread
From: Yihang Li @ 2025-11-25 11:31 UTC (permalink / raw)
To: Niklas Cassel, Damien Le Moal; +Cc: linux-ide, Yihang Li
Hi Niklas,
On 2025/11/25 0:34, Niklas Cassel wrote:
> According to a user report, the Silicon Motion MD619HXCLDE3TC SSD has
> problems with LPM.
>
> Reported-by: Yihang Li <liyihang9@h-partners.com>
> Closes: https://lore.kernel.org/linux-ide/20251121073502.3388239-1-liyihang9@h-partners.com/
> Signed-off-by: Niklas Cassel <cassel@kernel.org>
> ---
> Hello Yihang Li,
>
> Please test this patch.
I found that the same issue also exists on another model of drive.
The information is as follows:
# lsblk -o MODEL /dev/sda
MODEL
MD619GXCLDE3TC
# lsblk -o REV /dev/sda
REV
TCV35D
At the same time, while testing this patch, I found that the issue was not solved.
Therefore, I printed out the model_num and model_rev of MD619HXCLDE3TC SSD and discovered that
the actual model_rev should be "TCVAID" instead of "ID." However, the information obtained using
the `lsblk -o REV /dev/sdX` command showed "ID," and I am not sure why this is the case.
In any case, I suggest that the final modification should look like this, and after testing,
this modification has solved my problem.
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index f48fb63d7e85..b721a8db11c4 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4216,6 +4216,10 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
/* Apacer models with LPM issues */
{ "Apacer AS340*", NULL, ATA_QUIRK_NOLPM },
+ /* Silicon Motion models with LPM issues */
+ { "MD619HXCLDE3TC", "TCVAID", ATA_QUIRK_NOLPM },
+ { "MD619GXCLDE3TC", "TCV35D", ATA_QUIRK_NOLPM },
+
Thanks,
Yihang
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] ata: libata-core: Disable LPM on Silicon Motion MD619HXCLDE3TC
2025-11-25 11:31 ` Yihang Li
@ 2025-11-25 12:27 ` Niklas Cassel
2025-11-26 8:48 ` Yihang Li
0 siblings, 1 reply; 7+ messages in thread
From: Niklas Cassel @ 2025-11-25 12:27 UTC (permalink / raw)
To: Yihang Li; +Cc: Damien Le Moal, linux-ide
Hello Yihang Li,
On Tue, Nov 25, 2025 at 07:31:36PM +0800, Yihang Li wrote:
> Hi Niklas,
>
> On 2025/11/25 0:34, Niklas Cassel wrote:
> > According to a user report, the Silicon Motion MD619HXCLDE3TC SSD has
> > problems with LPM.
> >
> > Reported-by: Yihang Li <liyihang9@h-partners.com>
> > Closes: https://lore.kernel.org/linux-ide/20251121073502.3388239-1-liyihang9@h-partners.com/
> > Signed-off-by: Niklas Cassel <cassel@kernel.org>
> > ---
> > Hello Yihang Li,
> >
> > Please test this patch.
>
> I found that the same issue also exists on another model of drive.
> The information is as follows:
>
> # lsblk -o MODEL /dev/sda
> MODEL
> MD619GXCLDE3TC
>
> # lsblk -o REV /dev/sda
> REV
> TCV35D
>
> At the same time, while testing this patch, I found that the issue was not solved.
> Therefore, I printed out the model_num and model_rev of MD619HXCLDE3TC SSD and discovered that
> the actual model_rev should be "TCVAID" instead of "ID." However, the information obtained using
> the `lsblk -o REV /dev/sdX` command showed "ID," and I am not sure why this is the case.
>
> In any case, I suggest that the final modification should look like this, and after testing,
> this modification has solved my problem.
>
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index f48fb63d7e85..b721a8db11c4 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -4216,6 +4216,10 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
> /* Apacer models with LPM issues */
> { "Apacer AS340*", NULL, ATA_QUIRK_NOLPM },
>
> + /* Silicon Motion models with LPM issues */
> + { "MD619HXCLDE3TC", "TCVAID", ATA_QUIRK_NOLPM },
> + { "MD619GXCLDE3TC", "TCV35D", ATA_QUIRK_NOLPM },
> +
Ok, really nice that we have a patch that fixes your problem.
However, like I wrote in the comment section:
Before we apply this patch, it would be nice if you could try another SSD,
that supports LPM (HIPM and DIPM) with your AHCI controller:
Huawei Technologies Co., Ltd. HiSilicon AHCI HBA [19e5:a235] (rev 30)
Note: You can see if your drive supports HIPM and DIPM from the
ata_dev_print_features() print to dmesg during boot, e.g.:
ata6.00: Features: Trust Dev-Sleep HIPM DIPM NCQ-sndrcv NCQ-prio
Just so we can verify that it is the MD619HXCLDE3TC SSD that is not
handling LPM correctly, and that it is not the AHCI HBA that is at fault.
E.g. there have been some weird bugs with this AHCI controller before,
see e.g. 234e6d2c18f5 ("ata: ahci: Disable SXS for Hisilicon Kunpeng920").
Do you have any other drive, other than MD619HXCLDE3TC and MD619GXCLDE3TC,
which supports LPM, and you can see that the drive works as intended,
with LPM enabled, so we can be certain that it is not the HBA that has
broken LPM support?
Kind regards,
Niklas
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ata: libata-core: Disable LPM on Silicon Motion MD619HXCLDE3TC
2025-11-25 12:27 ` Niklas Cassel
@ 2025-11-26 8:48 ` Yihang Li
2025-11-26 12:05 ` Niklas Cassel
0 siblings, 1 reply; 7+ messages in thread
From: Yihang Li @ 2025-11-26 8:48 UTC (permalink / raw)
To: Niklas Cassel; +Cc: Damien Le Moal, linux-ide, Yihang Li
Hi Niklas,
On 2025/11/25 20:27, Niklas Cassel wrote:
> Ok, really nice that we have a patch that fixes your problem.
>
> However, like I wrote in the comment section:
>
> Before we apply this patch, it would be nice if you could try another SSD,
> that supports LPM (HIPM and DIPM) with your AHCI controller:
> Huawei Technologies Co., Ltd. HiSilicon AHCI HBA [19e5:a235] (rev 30)
>
> Note: You can see if your drive supports HIPM and DIPM from the
> ata_dev_print_features() print to dmesg during boot, e.g.:
> ata6.00: Features: Trust Dev-Sleep HIPM DIPM NCQ-sndrcv NCQ-prio
>
> Just so we can verify that it is the MD619HXCLDE3TC SSD that is not
> handling LPM correctly, and that it is not the AHCI HBA that is at fault.
>
> E.g. there have been some weird bugs with this AHCI controller before,
> see e.g. 234e6d2c18f5 ("ata: ahci: Disable SXS for Hisilicon Kunpeng920").
>
>
>
> Do you have any other drive, other than MD619HXCLDE3TC and MD619GXCLDE3TC,
> which supports LPM, and you can see that the drive works as intended,
> with LPM enabled, so we can be certain that it is not the HBA that has
> broken LPM support?
>
I checked all the drives I own, but unfortunately, none of them support LPM (HIPM and DIPM).
:(
Thanks,
Yihang
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ata: libata-core: Disable LPM on Silicon Motion MD619HXCLDE3TC
2025-11-26 8:48 ` Yihang Li
@ 2025-11-26 12:05 ` Niklas Cassel
2025-11-28 2:54 ` Yihang Li
0 siblings, 1 reply; 7+ messages in thread
From: Niklas Cassel @ 2025-11-26 12:05 UTC (permalink / raw)
To: Yihang Li; +Cc: Damien Le Moal, linux-ide
On Wed, Nov 26, 2025 at 04:48:09PM +0800, Yihang Li wrote:
> Hi Niklas,
>
> On 2025/11/25 20:27, Niklas Cassel wrote:
> > Ok, really nice that we have a patch that fixes your problem.
> >
> > However, like I wrote in the comment section:
> >
> > Before we apply this patch, it would be nice if you could try another SSD,
> > that supports LPM (HIPM and DIPM) with your AHCI controller:
> > Huawei Technologies Co., Ltd. HiSilicon AHCI HBA [19e5:a235] (rev 30)
> >
> > Note: You can see if your drive supports HIPM and DIPM from the
> > ata_dev_print_features() print to dmesg during boot, e.g.:
> > ata6.00: Features: Trust Dev-Sleep HIPM DIPM NCQ-sndrcv NCQ-prio
> >
> > Just so we can verify that it is the MD619HXCLDE3TC SSD that is not
> > handling LPM correctly, and that it is not the AHCI HBA that is at fault.
> >
> > E.g. there have been some weird bugs with this AHCI controller before,
> > see e.g. 234e6d2c18f5 ("ata: ahci: Disable SXS for Hisilicon Kunpeng920").
> >
> >
> >
> > Do you have any other drive, other than MD619HXCLDE3TC and MD619GXCLDE3TC,
> > which supports LPM, and you can see that the drive works as intended,
> > with LPM enabled, so we can be certain that it is not the HBA that has
> > broken LPM support?
> >
>
> I checked all the drives I own, but unfortunately, none of them support LPM (HIPM and DIPM).
> :(
Well, it should be sufficient that they support either HIPM and DIPM.
Ideally, they should support the same as:
MD619HXCLDE3TC and MD619GXCLDE3TC.
(Not sure if they supported HIPM and DIPM or only one of them).
But the device should work fine to read / write / mount, etc. without showing
the same errors as you got with MD619HXCLDE3TC and MD619GXCLDE3TC.
Kind regards,
Niklas
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ata: libata-core: Disable LPM on Silicon Motion MD619HXCLDE3TC
2025-11-26 12:05 ` Niklas Cassel
@ 2025-11-28 2:54 ` Yihang Li
2025-11-28 6:01 ` Niklas Cassel
0 siblings, 1 reply; 7+ messages in thread
From: Yihang Li @ 2025-11-28 2:54 UTC (permalink / raw)
To: Niklas Cassel; +Cc: Damien Le Moal, linux-ide, Yihang Li
On 2025/11/26 20:05, Niklas Cassel wrote:
> Well, it should be sufficient that they support either HIPM and DIPM.
>
> Ideally, they should support the same as:
> MD619HXCLDE3TC and MD619GXCLDE3TC.
> (Not sure if they supported HIPM and DIPM or only one of them).
>
> But the device should work fine to read / write / mount, etc. without showing
> the same errors as you got with MD619HXCLDE3TC and MD619GXCLDE3TC.
>
I found an SSD that supports DIPM and connected it to my AHCI controller for testing:
ata7.00: Features: DIPM NCQ-sndrcv
And it did not show the same errors as MD619HXCLDE3TC and MD619GXCLDE3TC.
So, I think we can confirm that the issue is not with the AHCI controller.
Thanks,
Yihang
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ata: libata-core: Disable LPM on Silicon Motion MD619HXCLDE3TC
2025-11-28 2:54 ` Yihang Li
@ 2025-11-28 6:01 ` Niklas Cassel
0 siblings, 0 replies; 7+ messages in thread
From: Niklas Cassel @ 2025-11-28 6:01 UTC (permalink / raw)
To: Yihang Li; +Cc: Damien Le Moal, linux-ide
On Fri, Nov 28, 2025 at 10:54:21AM +0800, Yihang Li wrote:
> On 2025/11/26 20:05, Niklas Cassel wrote:
> I found an SSD that supports DIPM and connected it to my AHCI controller for testing:
> ata7.00: Features: DIPM NCQ-sndrcv
>
> And it did not show the same errors as MD619HXCLDE3TC and MD619GXCLDE3TC.
> So, I think we can confirm that the issue is not with the AHCI controller.
Thank you for your work!
I've applied the patch to for-6.19:
https://git.kernel.org/pub/scm/linux/kernel/git/libata/linux.git/commit/?h=for-6.19
Please have a look so that everything is correct.
Kind regards,
Niklas
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-11-28 6:01 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-24 16:34 [PATCH] ata: libata-core: Disable LPM on Silicon Motion MD619HXCLDE3TC Niklas Cassel
2025-11-25 11:31 ` Yihang Li
2025-11-25 12:27 ` Niklas Cassel
2025-11-26 8:48 ` Yihang Li
2025-11-26 12:05 ` Niklas Cassel
2025-11-28 2:54 ` Yihang Li
2025-11-28 6:01 ` Niklas Cassel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox