svn commit: r346122 - in stable/12/sys: cam/ata sys

Alexander Motin mav at FreeBSD.org
Thu Apr 11 13:11:22 UTC 2019


Author: mav
Date: Thu Apr 11 13:11:20 2019
New Revision: 346122
URL: https://svnweb.freebsd.org/changeset/base/346122

Log:
  MFC r345849: List few more ATA commands.

Modified:
  stable/12/sys/cam/ata/ata_all.c
  stable/12/sys/sys/ata.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/cam/ata/ata_all.c
==============================================================================
--- stable/12/sys/cam/ata/ata_all.c	Thu Apr 11 13:01:26 2019	(r346121)
+++ stable/12/sys/cam/ata/ata_all.c	Thu Apr 11 13:11:20 2019	(r346122)
@@ -215,8 +215,10 @@ ata_op_string(struct ata_cmd *cmd)
 	case 0xe5: return ("CHECK_POWER_MODE");
 	case 0xe6: return ("SLEEP");
 	case 0xe7: return ("FLUSHCACHE");
-	case 0xe8: return ("WRITE_PM");
+	case 0xe8: return ("WRITE_BUFFER/PM");
+	case 0xe9: return ("READ_BUFFER_DMA");
 	case 0xea: return ("FLUSHCACHE48");
+	case 0xeb: return ("WRITE_BUFFER_DMA");
 	case 0xec: return ("ATA_IDENTIFY");
 	case 0xed: return ("MEDIA_EJECT");
 	case 0xef:
@@ -581,7 +583,12 @@ ata_28bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, ui
 	if (cmd == ATA_READ_DMA ||
 	    cmd == ATA_READ_DMA_QUEUED ||
 	    cmd == ATA_WRITE_DMA ||
-	    cmd == ATA_WRITE_DMA_QUEUED)
+	    cmd == ATA_WRITE_DMA_QUEUED ||
+	    cmd == ATA_TRUSTED_RECEIVE_DMA ||
+	    cmd == ATA_TRUSTED_SEND_DMA ||
+	    cmd == ATA_DOWNLOAD_MICROCODE_DMA ||
+	    cmd == ATA_READ_BUFFER_DMA ||
+	    cmd == ATA_WRITE_BUFFER_DMA)
 		ataio->cmd.flags |= CAM_ATAIO_DMA;
 	ataio->cmd.command = cmd;
 	ataio->cmd.features = features;
@@ -607,7 +614,8 @@ ata_48bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, ui
 	    cmd == ATA_WRITE_DMA_QUEUED_FUA48 ||
 	    cmd == ATA_WRITE_STREAM_DMA48 ||
 	    cmd == ATA_DATA_SET_MANAGEMENT ||
-	    cmd == ATA_READ_LOG_DMA_EXT)
+	    cmd == ATA_READ_LOG_DMA_EXT ||
+	    cmd == ATA_WRITE_LOG_DMA_EXT)
 		ataio->cmd.flags |= CAM_ATAIO_DMA;
 	ataio->cmd.command = cmd;
 	ataio->cmd.features = features;

Modified: stable/12/sys/sys/ata.h
==============================================================================
--- stable/12/sys/sys/ata.h	Thu Apr 11 13:01:26 2019	(r346121)
+++ stable/12/sys/sys/ata.h	Thu Apr 11 13:11:20 2019	(r346122)
@@ -393,6 +393,12 @@ struct ata_params {
 #define ATA_READ_LOG_DMA_EXT            0x47    /* read log DMA ext - PIO Data-In */
 #define	ATA_ZAC_MANAGEMENT_IN		0x4a	/* ZAC management in */
 #define		ATA_ZM_REPORT_ZONES	0x00	/* report zones */
+#define	ATA_WRITE_LOG_DMA_EXT		0x57	/* WRITE LOG DMA EXT */
+#define	ATA_TRUSTED_NON_DATA		0x5b	/* TRUSTED NON-DATA */
+#define	ATA_TRUSTED_RECEIVE		0x5c	/* TRUSTED RECEIVE */
+#define	ATA_TRUSTED_RECEIVE_DMA		0x5d	/* TRUSTED RECEIVE DMA */
+#define	ATA_TRUSTED_SEND		0x5c	/* TRUSTED SEND */
+#define	ATA_TRUSTED_SEND_DMA		0x5d	/* TRUSTED SEND DMA */
 #define ATA_READ_FPDMA_QUEUED           0x60    /* read DMA NCQ */
 #define ATA_WRITE_FPDMA_QUEUED          0x61    /* write DMA NCQ */
 #define ATA_NCQ_NON_DATA		0x63	/* NCQ non-data command */
@@ -417,6 +423,8 @@ struct ata_params {
 #define		ATA_ZM_FINISH_ZONE	0x02	/* finish zone */
 #define		ATA_ZM_OPEN_ZONE	0x03	/* open zone */
 #define		ATA_ZM_RWP		0x04	/* reset write pointer */
+#define	ATA_DOWNLOAD_MICROCODE		0x92	/* DOWNLOAD MICROCODE */
+#define	ATA_DOWNLOAD_MICROCODE_DMA	0x93	/* DOWNLOAD MICROCODE DMA */
 #define ATA_PACKET_CMD                  0xa0    /* packet command */
 #define ATA_ATAPI_IDENTIFY              0xa1    /* get ATAPI params*/
 #define ATA_SERVICE                     0xa2    /* service command */
@@ -439,8 +447,11 @@ struct ata_params {
 #define ATA_CHECK_POWER_MODE            0xe5    /* device power mode */
 #define ATA_SLEEP                       0xe6    /* sleep */
 #define ATA_FLUSHCACHE                  0xe7    /* flush cache to disk */
+#define	ATA_WRITE_BUFFER		0xe8    /* write buffer */
 #define ATA_WRITE_PM                    0xe8    /* write portmultiplier */
+#define	ATA_READ_BUFFER_DMA		0xe9    /* read buffer DMA */
 #define ATA_FLUSHCACHE48                0xea    /* flush cache to disk */
+#define	ATA_WRITE_BUFFER_DMA		0xeb    /* write buffer DMA */
 #define ATA_ATA_IDENTIFY                0xec    /* get ATA params */
 #define ATA_SETFEATURES                 0xef    /* features command */
 #define         ATA_SF_ENAB_WCACHE      0x02    /* enable write cache */


More information about the svn-src-all mailing list