linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] libata: Allow NCQ TRIM to be enabled or disabled with a module parameter
@ 2015-05-05  1:54 Martin K. Petersen
  2015-05-05  1:54 ` [PATCH 2/4] libata: Expose TRIM capability in sysfs Martin K. Petersen
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Martin K. Petersen @ 2015-05-05  1:54 UTC (permalink / raw)
  To: tj; +Cc: hare, linux-ide, Martin K. Petersen

We have started seeing SSD firmware updates introduce support for queued
TRIM. Sadly, in most cases this support is completely untested and can
lead to either errors or data corruption.

Add two libata force flags that can be used to either enable or disable
queued TRIM support.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
---
 Documentation/kernel-parameters.txt | 2 ++
 drivers/ata/libata-core.c           | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 61ab1628a057..a2e4891a714f 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1774,6 +1774,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 
 			* [no]ncq: Turn on or off NCQ.
 
+			* [no]ncqtrim: Turn off queued DSM TRIM.
+
 			* nohrst, nosrst, norst: suppress hard, soft
                           and both resets.
 
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 4476fb590733..9cebd7872ac6 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -6472,6 +6472,8 @@ static int __init ata_parse_force_one(char **cur,
 		{ "3.0Gbps",	.spd_limit	= 2 },
 		{ "noncq",	.horkage_on	= ATA_HORKAGE_NONCQ },
 		{ "ncq",	.horkage_off	= ATA_HORKAGE_NONCQ },
+		{ "noncqtrim",	.horkage_on	= ATA_HORKAGE_NO_NCQ_TRIM },
+		{ "ncqtrim",	.horkage_off	= ATA_HORKAGE_NO_NCQ_TRIM },
 		{ "dump_id",	.horkage_on	= ATA_HORKAGE_DUMP_ID },
 		{ "pio0",	.xfer_mask	= 1 << (ATA_SHIFT_PIO + 0) },
 		{ "pio1",	.xfer_mask	= 1 << (ATA_SHIFT_PIO + 1) },
-- 
1.9.3


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

end of thread, other threads:[~2015-06-16 16:43 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-05  1:54 [PATCH 1/4] libata: Allow NCQ TRIM to be enabled or disabled with a module parameter Martin K. Petersen
2015-05-05  1:54 ` [PATCH 2/4] libata: Expose TRIM capability in sysfs Martin K. Petersen
2015-05-05  5:54   ` Hannes Reinecke
2015-05-05 17:50   ` Christoph Hellwig
2015-05-05 21:54     ` Martin K. Petersen
2015-05-05  1:54 ` [PATCH 3/4] libata: READ LOG DMA EXT support can be in either page 119 or 120 Martin K. Petersen
2015-05-05  6:00   ` Hannes Reinecke
2015-05-05  1:54 ` [PATCH 4/4] libata: Fall back to unqueued READ LOG EXT if the DMA variant fails Martin K. Petersen
2015-05-05  6:00   ` Hannes Reinecke
2015-06-12 19:58   ` David Milburn
2015-06-14 23:45     ` Martin K. Petersen
2015-06-15 15:24       ` David Milburn
2015-06-16 16:43         ` Martin K. Petersen
2015-05-05  5:51 ` [PATCH 1/4] libata: Allow NCQ TRIM to be enabled or disabled with a module parameter Hannes Reinecke
2015-05-05 13:31 ` Tejun Heo
2015-05-05 14:07   ` Hannes Reinecke
2015-05-05 21:57     ` Martin K. Petersen

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).