[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 17/35] libqos/ahci: set the NCQ tag on command_commit
From: |
John Snow |
Subject: |
[Qemu-devel] [PULL 17/35] libqos/ahci: set the NCQ tag on command_commit |
Date: |
Sat, 4 Jul 2015 02:06:56 -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>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: 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] [PULL 04/35] qtest/ahci: add port_reset test, (continued)
- [Qemu-devel] [PULL 04/35] qtest/ahci: add port_reset test, John Snow, 2015/07/04
- [Qemu-devel] [PULL 03/35] libqos/ahci: fix memory management bugs, John Snow, 2015/07/04
- [Qemu-devel] [PULL 07/35] ahci: add ncq_err helper, John Snow, 2015/07/04
- [Qemu-devel] [PULL 08/35] ahci: check for ncq prdtl overflow, John Snow, 2015/07/04
- [Qemu-devel] [PULL 09/35] ahci: separate prdtl from opts, John Snow, 2015/07/04
- [Qemu-devel] [PULL 10/35] ahci: add ncq debug checks, John Snow, 2015/07/04
- [Qemu-devel] [PULL 11/35] ahci: ncq sector count correction, John Snow, 2015/07/04
- [Qemu-devel] [PULL 12/35] ahci/qtest: Execute IDENTIFY prior to data commands, John Snow, 2015/07/04
- [Qemu-devel] [PULL 13/35] libqos/ahci: fix cmd_sanity for ncq, John Snow, 2015/07/04
- [Qemu-devel] [PULL 14/35] libqos/ahci: add NCQ frame support, John Snow, 2015/07/04
- [Qemu-devel] [PULL 17/35] libqos/ahci: set the NCQ tag on command_commit,
John Snow <=
- [Qemu-devel] [PULL 15/35] libqos/ahci: edit wait to be ncq aware, John Snow, 2015/07/04
- [Qemu-devel] [PULL 16/35] libqos/ahci: adjust expected NCQ interrupts, John Snow, 2015/07/04
- [Qemu-devel] [PULL 18/35] libqos/ahci: Force all NCQ commands to be LBA48, John Snow, 2015/07/04
- [Qemu-devel] [PULL 19/35] qtest/ahci: simple ncq data test, John Snow, 2015/07/04
- [Qemu-devel] [PULL 20/35] qtest/ahci: ncq migration test, John Snow, 2015/07/04
- [Qemu-devel] [PULL 22/35] ahci: stash ncq command, John Snow, 2015/07/04
- [Qemu-devel] [PULL 23/35] ahci: assert is_ncq for process_ncq, John Snow, 2015/07/04
- [Qemu-devel] [PULL 24/35] ahci: refactor process_ncq_command, John Snow, 2015/07/04
- [Qemu-devel] [PULL 25/35] ahci: factor ncq_finish out of ncq_cb, John Snow, 2015/07/04
- [Qemu-devel] [PULL 21/35] ide: add limit to .prepare_buf(), John Snow, 2015/07/04