Skip to content

Introduce new SATA queued commands

Marc C linux-ide 6 versions – Applied

Status from this message: Applied to libata/for-3.12.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest4 patches 1 replyApplied
  2. v43 patches 5 repliesSuperseded
  3. v33 patches 19 repliesSuperseded
Earlier versions · 3
VersionPostedPatchesRepliesStatus
v2 posting 2/22 patches0 repliesSuperseded
v2 posting 1/22 patches6 repliesSuperseded
v12 patches2 repliesSuperseded

Changes in v5 from the cover letter

- style cleanups

Patches in v5 Applied

#Subject and filesSizeRepliesApplied
1/4libata: Populate host-to-device FIS "auxiliary" fielddrivers/ata/libata-core.c include/linux/libata.h+10 -40 replies
2/4libata: Add H2D FIS "auxiliary" port flagdrivers/ata/ahci.c include/linux/libata.h+9 -00 replies
3/4libata: Add support for SEND/RECEIVE FPDMA QUEUEDdrivers/ata/libata-core.c include/linux/ata.h include/linux/libata.h+41 -00 replies
4/4libata: Add support for queued DSM TRIMdrivers/ata/libata-scsi.c include/linux/libata.h+26 -60 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.

Read the v5 thread

Cover letter [PATCH v5 0/4] Introduce new SATA queued commands

From: Marc C <[email protected]>

This patch series updates the libata driver with some additional commands which are specified in the more recent versions of the SATA and ATA specifications. These commands are:

SEND FPDMA QUEUED
RECEIVE FPDMA QUEUED.

The new queued commands augment the existing READ and WRITE FPDMA QUEUED commands. The commands are intended to transport non-media data to/from a device in a non-blocking manner.

One application of these commands include a queued-style DSM TRIM operation. The current DSM TRIM command is non-queued, and requires the initiator to empty out the queue before issuance. The new DSM TRIM allows the initiator to keep the queue full.

These patches have been validated on an Intel SATA AHCI controller, on a Micron M500 SSD, using "postmark," "fstrim," and "fsck."

Version history:

v5:
- style cleanups

v4:
- put "auxiliary" field back into taskfile struct
- add ATA controller flag to indicate support (default on) for new field
- style cleanups

v3:
- rebased to libata/for-3.12
- put H2D FIS "auxiliary" field changes in separate patch
- added "auxiliary" field population to all FIS-based SATA drivers

v2:
- rebased to 3.11-rc4
- moved auxiliary field to ata_queued_cmd struct
- updated signoff name

v1:
- initial

Marc Carino (4):
libata: Populate host-to-device FIS "auxiliary" field
libata: Add H2D FIS "auxiliary" port flag
libata: Add support for SEND/RECEIVE FPDMA QUEUED
libata: Add support for queued DSM TRIM

 drivers/ata/ahci.c        |  8 ++++++++
 drivers/ata/libata-core.c | 26 ++++++++++++++++++++++----
 drivers/ata/libata-scsi.c | 25 +++++++++++++++++++------
 include/linux/ata.h       | 21 +++++++++++++++++++++
 include/linux/libata.h    | 16 ++++++++++++++++
 5 files changed, 86 insertions(+), 10 deletions(-)
Signature · 1 line
1.8.1.2