requires: 1434470575-21625-1-git-send-email-js...@redhat.com 1435016308-6150-1-git-send-email-js...@redhat.com [PATCH v2 0/4] ahci: misc fixes/tests for 2.4 [PATCH v2 00/16] ahci: ncq cleanup, part 1
This chunk gets NCQ migration and and resume support working. There's still some left to do, particularly around error handling and FIS semantics, but this should get us most of the way there. === v2: === Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/15:[0043] [FC] 'ide: add limit to .prepare_buf()' 002/15:[----] [--] 'ahci: stash ncq command' 003/15:[----] [--] 'ahci: assert is_ncq for process_ncq' 004/15:[----] [--] 'ahci: refactor process_ncq_command' 005/15:[----] [--] 'ahci: factor ncq_finish out of ncq_cb' 006/15:[down] 'ahci: add rwerror=stop support for ncq' 007/15:[----] [--] 'ahci: correct types in NCQTransferState' 008/15:[----] [--] 'ahci: correct ncq sector count' 009/15:[----] [--] 'qtest/ahci: halted NCQ test' 010/15:[----] [-C] 'ahci: add cmd header to ncq transfer state' 011/15:[0004] [FC] 'ahci: add get_cmd_header helper' 012/15:[0006] [FC] 'ahci: ncq migration' 013/15:[----] [--] 'ahci: Do not map cmd_fis to generate response' 014/15:[----] [--] 'qtest/ahci: halted ncq migration test' 015/15:[0001] [FC] 'ahci: fix sdb fis semantics' 01: Fixed limit parameter to int32_t to match existing implicit cap Removed is_write parameter. Nobody used it. Implemented PRD limit for BMDMA 06: Squashed what was patch 06/07. Adjusted where we clear ncq_tfs->halt. 11: Fixed port/slot bounds checking Removed ncq_tfs section from ahci_state_post_load moved ahead of what's now #12. 12: Picked up the truncated sections from what's now #11 Rely on get_cmd_header to do more error checking for us. 16: Comment explaining the IRQ mechanics for SDBFIS. ________________________________________________________________________________ For convenience, this branch is available at: https://github.com/jnsnow/qemu.git branch ahci-ncq-s2 https://github.com/jnsnow/qemu/tree/ahci-ncq-s2 This version is tagged ahci-ncq-s2-v2: https://github.com/jnsnow/qemu/releases/tag/ahci-ncq-s2-v2 John Snow (15): ide: add limit to .prepare_buf() ahci: stash ncq command ahci: assert is_ncq for process_ncq ahci: refactor process_ncq_command ahci: factor ncq_finish out of ncq_cb ahci: add rwerror=stop support for ncq ahci: correct types in NCQTransferState ahci: correct ncq sector count qtest/ahci: halted NCQ test ahci: add cmd header to ncq transfer state ahci: add get_cmd_header helper ahci: ncq migration ahci: Do not map cmd_fis to generate response qtest/ahci: halted ncq migration test ahci: fix sdb fis semantics hw/ide/ahci.c | 334 +++++++++++++++++++++++++++++++++--------------------- hw/ide/ahci.h | 9 +- hw/ide/core.c | 15 ++- hw/ide/internal.h | 4 +- hw/ide/macio.c | 2 +- hw/ide/pci.c | 21 +++- tests/ahci-test.c | 38 +++++-- 7 files changed, 269 insertions(+), 154 deletions(-) -- 2.1.0