[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 13/16] libqos/ahci: set the NCQ tag on command_commi
From: |
John Snow |
Subject: |
[Qemu-devel] [PATCH 13/16] libqos/ahci: set the NCQ tag on command_commit |
Date: |
Fri, 19 Jun 2015 21:50:44 -0400 |
NCQ commands have the concept of a "TAG" that they need to set,
but in the AHCI world, it is mandated that the TAG always match
the command slot that you executed the NCQ from.
See AHCI 9.3.1.1.5.2 "Native Queued Commands".
Signed-off-by: John Snow <address@hidden>
---
tests/libqos/ahci.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/libqos/ahci.c b/tests/libqos/ahci.c
index 953a320..7cf667a 100644
--- a/tests/libqos/ahci.c
+++ b/tests/libqos/ahci.c
@@ -857,6 +857,11 @@ void ahci_command_commit(AHCIQState *ahci, AHCICommand
*cmd, uint8_t port)
cmd->port = port;
cmd->slot = ahci_pick_cmd(ahci, port);
+ if (cmd->props->ncq) {
+ NCQFIS *nfis = (NCQFIS *)&cmd->fis;
+ nfis->tag = (cmd->slot << 3) & 0xFC;
+ }
+
/* Create a buffer for the command table */
prdtl = size_to_prdtl(cmd->xbytes, cmd->prd_size);
table_size = CMD_TBL_SIZ(prdtl);
--
2.1.0
- [Qemu-devel] [PATCH 02/16] ahci: use shorter variables, (continued)
- [Qemu-devel] [PATCH 02/16] ahci: use shorter variables, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 05/16] ahci: separate prdtl from opts, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 08/16] ahci: clear error register before NCQ cmd, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 07/16] ahci: ncq sector count correction, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 09/16] libqos/ahci: fix cmd_sanity for ncq, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 10/16] libqos/ahci: add NCQ frame support, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 11/16] libqos/ahci: edit wait to be ncq aware, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 12/16] libqos/ahci: adjust expected NCQ interrupts, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 13/16] libqos/ahci: set the NCQ tag on command_commit,
John Snow <=
- [Qemu-devel] [PATCH 14/16] libqos/ahci: Force all NCQ commands to be LBA48, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 16/16] qtest/ahci: ncq migration test, John Snow, 2015/06/19
- [Qemu-devel] [PATCH 15/16] qtest/ahci: simple ncq data test, John Snow, 2015/06/19
- Re: [Qemu-devel] [PATCH 00/16] ahci: ncq cleanup, part 1, Stefan Hajnoczi, 2015/06/22