summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsmh <smh@FreeBSD.org>2013-05-28 14:44:37 +0000
committersmh <smh@FreeBSD.org>2013-05-28 14:44:37 +0000
commit9e2cb0c5b73a1978d727e2e6499f5175e07184f9 (patch)
treeef13631f948866a14adbb4dd2d28a97e748da5ef
parent5b0087618665430a9a5a018259db50ac235116dc (diff)
downloadFreeBSD-src-9e2cb0c5b73a1978d727e2e6499f5175e07184f9.zip
FreeBSD-src-9e2cb0c5b73a1978d727e2e6499f5175e07184f9.tar.gz
Added missing SCSI quirks from r241784
Re-ordered SSD quirks alphabetically so they are easier to maintain. Removed my email and PR reference from comments on each quirk. Added quirks for more SSDs: * Crucial M4 * Corsair Force GT * Intel 520 Series * Kingston E100 Series * Samsung 830 Series Reviewed by: pjd (mentor) Approved by: pjd (mentor) MFC after: 1 week
-rw-r--r--sys/cam/ata/ata_da.c109
-rw-r--r--sys/cam/scsi/scsi_da.c145
2 files changed, 209 insertions, 45 deletions
diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c
index 18cb6ad..0a4d4a3 100644
--- a/sys/cam/ata/ata_da.c
+++ b/sys/cam/ata/ata_da.c
@@ -272,12 +272,11 @@ static struct ada_quirk_entry ada_quirk_table[] =
{ T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD?????PVT*", "*" },
/*quirks*/ADA_Q_4K
},
+ /* SSDs */
{
/*
* Corsair Force 2 SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
*/
{ T_DIRECT, SIP_MEDIA_FIXED, "*", "Corsair CSSD-F*", "*" },
/*quirks*/ADA_Q_4K
@@ -286,116 +285,136 @@ static struct ada_quirk_entry ada_quirk_table[] =
/*
* Corsair Force 3 SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
*/
{ T_DIRECT, SIP_MEDIA_FIXED, "*", "Corsair Force 3*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
- * OCZ Agility 3 SSDs
+ * Corsair Force GT SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "OCZ-AGILITY3*", "*" },
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "Corsair Force GT*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
- * OCZ Vertex 2 SSDs (inc pro series)
+ * Crucial M4 SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "OCZ?VERTEX2*", "*" },
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "M4-CT???M4SSD2*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
- * OCZ Vertex 3 SSDs
+ * Crucial RealSSD C300 SSDs
+ * 4k optimised
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "C300-CTFDDAC???MAG*",
+ "*" }, /*quirks*/ADA_Q_4K
+ },
+ {
+ /*
+ * Intel 320 Series SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "OCZ-VERTEX3*", "*" },
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSA2CW*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
- * SuperTalent TeraDrive CT SSDs
+ * Intel 330 Series SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "FTM??CT25H*", "*" },
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSC2CT*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
- * Crucial RealSSD C300 SSDs
- * 4k optimised
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
+ * Intel 510 Series SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "C300-CTFDDAC???MAG*",
- "*" }, /*quirks*/ADA_Q_4K
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSC2MH*", "*" },
+ /*quirks*/ADA_Q_4K
},
{
/*
- * XceedIOPS SATA SSDs
- * 4k optimised
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
+ * Intel 520 Series SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "SG9XCS2D*", "*" },
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSC2BW*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
- * Intel 320 Series SSDs
+ * Kingston E100 Series SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSA2CW*", "*" },
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "KINGSTON SE100S3*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
- * Intel 330 Series SSDs
+ * Kingston HyperX 3k SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSC2ct*", "*" },
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "KINGSTON SH103S3*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
- * Intel 510 Series SSDs
+ * OCZ Agility 3 SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSC2MH*", "*" },
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "OCZ-AGILITY3*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
* OCZ Deneva R Series SSDs
* 4k optimised & trim only works in 4k requests + 4k aligned
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
*/
{ T_DIRECT, SIP_MEDIA_FIXED, "*", "DENRSTE251M45*", "*" },
/*quirks*/ADA_Q_4K
},
{
/*
- * Kingston HyperX 3k SSDs
+ * OCZ Vertex 2 SSDs (inc pro series)
* 4k optimised & trim only works in 4k requests + 4k aligned
- * Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>
- * PR: 169974
*/
- { T_DIRECT, SIP_MEDIA_FIXED, "*", "KINGSTON SH103S3*", "*" },
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "OCZ?VERTEX2*", "*" },
+ /*quirks*/ADA_Q_4K
+ },
+ {
+ /*
+ * OCZ Vertex 3 SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "OCZ-VERTEX3*", "*" },
+ /*quirks*/ADA_Q_4K
+ },
+ {
+ /*
+ * Samsung 830 Series SSDs
+ * 4k optimised
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "SAMSUNG SSD 830 Series*", "*" },
+ /*quirks*/ADA_Q_4K
+ },
+ {
+ /*
+ * SuperTalent TeraDrive CT SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "FTM??CT25H*", "*" },
+ /*quirks*/ADA_Q_4K
+ },
+ {
+ /*
+ * XceedIOPS SATA SSDs
+ * 4k optimised
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "*", "SG9XCS2D*", "*" },
/*quirks*/ADA_Q_4K
},
{
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index 661c059..76a16ea 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -907,6 +907,151 @@ static struct da_quirk_entry da_quirk_table[] =
{T_DIRECT, SIP_MEDIA_FIXED, "SAMSUNG", "HM250JI", "*"},
/*quirks*/ DA_Q_NO_SYNC_CACHE
},
+ /* SATA SSDs */
+ {
+ /*
+ * Corsair Force 2 SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "Corsair CSSD-F*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Corsair Force 3 SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "Corsair Force 3*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Corsair Force GT SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "Corsair Force GT*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Crucial M4 SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "M4-CT???M4SSD2*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Crucial RealSSD C300 SSDs
+ * 4k optimised
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "C300-CTFDDAC???MAG*",
+ "*" }, /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Intel 320 Series SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "INTEL SSDSA2CW*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Intel 330 Series SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "INTEL SSDSC2CT*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Intel 510 Series SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "INTEL SSDSC2MH*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Intel 520 Series SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "INTEL SSDSC2BW*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Kingston E100 Series SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "KINGSTON SE100S3*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Kingston HyperX 3k SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "KINGSTON SH103S3*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * OCZ Agility 3 SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "OCZ-AGILITY3*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * OCZ Deneva R Series SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "DENRSTE251M45*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * OCZ Vertex 2 SSDs (inc pro series)
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "OCZ?VERTEX2*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * OCZ Vertex 3 SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "OCZ-VERTEX3*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * Samsung 830 Series SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "SAMSUNG SSD 830 Series*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * SuperTalent TeraDrive CT SSDs
+ * 4k optimised & trim only works in 4k requests + 4k aligned
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "FTM??CT25H*", "*" },
+ /*quirks*/DA_Q_4K
+ },
+ {
+ /*
+ * XceedIOPS SATA SSDs
+ * 4k optimised
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "SG9XCS2D*", "*" },
+ /*quirks*/DA_Q_4K
+ },
};
static disk_strategy_t dastrategy;
OpenPOWER on IntegriCloud