All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] libata: add support for NCQ commands for SG interface
@ 2015-10-17 11:48 vinayak.kale
  2015-10-17 12:00 ` Sergei Shtylyov
  2015-10-21  5:09 ` Vinayak Kale
  0 siblings, 2 replies; 9+ messages in thread
From: vinayak.kale @ 2015-10-17 11:48 UTC (permalink / raw)
  To: tj, linux-ide, linux-kernel; +Cc: sumit.g.gupta, Vinayak Kale

From: Vinayak Kale <vinayak.kale@seagate.com>

This patch is needed to make NCQ commands with FPDMA protocol value
(eg READ/WRITE FPDMA) work over SCSI Generic (SG) interface.

Signed-off-by: Vinayak Kale <vinayak.kale@seagate.com>
---
 drivers/ata/libata-scsi.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 0d7f0da..5b0a5ab 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -2914,12 +2914,14 @@ ata_scsi_map_proto(u8 byte1)
 	case 5:		/* PIO Data-out */
 		return ATA_PROT_PIO;
 
+	case 12:	/* FPDMA */
+		return ATA_PROT_NCQ;
+
 	case 0:		/* Hard Reset */
 	case 1:		/* SRST */
 	case 8:		/* Device Diagnostic */
 	case 9:		/* Device Reset */
 	case 7:		/* DMA Queued */
-	case 12:	/* FPDMA */
 	case 15:	/* Return Response Info */
 	default:	/* Reserved */
 		break;
@@ -2963,7 +2965,7 @@ static unsigned int ata_scsi_pass_thru(struct ata_queued_cmd *qc)
 			tf->hob_lbal = cdb[7];
 			tf->hob_lbam = cdb[9];
 			tf->hob_lbah = cdb[11];
-			tf->flags |= ATA_TFLAG_LBA48;
+			tf->flags |= (ATA_TFLAG_LBA48 | ATA_TFLAG_LBA);
 		} else
 			tf->flags &= ~ATA_TFLAG_LBA48;
 
@@ -2992,6 +2994,10 @@ static unsigned int ata_scsi_pass_thru(struct ata_queued_cmd *qc)
 		tf->command = cdb[9];
 	}
 
+	/* For NCQ commands with FPDMA protocol, copy the tag value */
+	if (tf->protocol == ATA_PROT_NCQ)
+		tf->nsect = qc->tag << 3;
+
 	/* enforce correct master/slave bit */
 	tf->device = dev->devno ?
 		tf->device | ATA_DEV1 : tf->device & ~ATA_DEV1;
-- 
1.9.1


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

end of thread, other threads:[~2015-10-23 20:08 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-17 11:48 [PATCH] libata: add support for NCQ commands for SG interface vinayak.kale
2015-10-17 12:00 ` Sergei Shtylyov
2015-10-17 12:25   ` Vinayak Kale
2015-10-17 18:42     ` Sergei Shtylyov
2015-10-19  6:55       ` Vinayak Kale
2015-10-21  5:09 ` Vinayak Kale
2015-10-22  8:57   ` Tejun Heo
     [not found]     ` <CAAtun4jvUaVsGSofq5n-sJzmSf4qBsPvQ7WU6dOik4JYSMnZNw@mail.gmail.com>
2015-10-23  5:39       ` Tejun Heo
2015-10-23 20:08         ` Vinayak Kale

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.