git: b7dce5b8e988 - main - scsi_da: add 4K quirks for Samsung SSD 860 and 870

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Mon, 19 Feb 2024 10:27:35 UTC
The branch main has been updated by avg:

URL: https://cgit.FreeBSD.org/src/commit/?id=b7dce5b8e988f47784c55aa096541deda7b1aaeb

commit b7dce5b8e988f47784c55aa096541deda7b1aaeb
Author:     Andriy Gapon <avg@FreeBSD.org>
AuthorDate: 2024-02-19 10:16:47 +0000
Commit:     Andriy Gapon <avg@FreeBSD.org>
CommitDate: 2024-02-19 10:16:47 +0000

    scsi_da: add 4K quirks for Samsung SSD 860 and 870
    
    Although the actual flash page size is either 8K or 16K for those
    devices (according to different sources of various reliability), they
    seem to be optimized for the "industry-standard" emulated 4K block size.
    
    To do: consolidate very similar Samsung SSD entries for 830 - 870
    models.
    
    MFC after:      2 weeks
---
 sys/cam/scsi/scsi_da.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index d578e4ccb712..9b3d706d6168 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -1395,6 +1395,22 @@ static struct da_quirk_entry da_quirk_table[] =
 		{ T_DIRECT, SIP_MEDIA_FIXED, "ATA", "Samsung SSD 850*", "*" },
 		/*quirks*/DA_Q_4K
 	},
+	{
+		/*
+		 * Samsung 860 SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "ATA", "Samsung SSD 860*", "*" },
+		/*quirks*/DA_Q_4K
+	},
+	{
+		/*
+		 * Samsung 870 SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "ATA", "Samsung SSD 870*", "*" },
+		/*quirks*/DA_Q_4K
+	},
 	{
 		/*
 		 * Samsung 843T Series SSDs (MZ7WD*)