Module Name: src Committed By: jdolecek Date: Fri Aug 31 19:08:03 UTC 2018
Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c ata_subr.c ata_wdc.c atavar.h wd.c wdvar.h src/sys/dev/ic [jdolecek-ncqfixes]: ahcisata_core.c mvsata.c siisata.c wdc.c src/sys/dev/scsipi [jdolecek-ncqfixes]: atapi_wdc.c Log Message: refactor ata_xfer to be just dumb structure; move all callouts/condvars out retry callout to wd(4); reset callout and the active/cmd finish condvars to channel queue; change code using the condvars so it works if there are multiple waiters simplify the async wait code for cmds, replace ata_wait_xfer()/ata_wake_xfer() with ata_wait_cmd() fix the callout_invoking/ack race handling code for timeouts to actually have chance to work; change mvsata(4) to use generic timeout func towards resolution of kern/52614 To generate a diff of this commit: cvs rdiff -u -r1.141 -r1.141.6.1 src/sys/dev/ata/ata.c cvs rdiff -u -r1.6 -r1.6.2.1 src/sys/dev/ata/ata_subr.c cvs rdiff -u -r1.110 -r1.110.4.1 src/sys/dev/ata/ata_wdc.c cvs rdiff -u -r1.99 -r1.99.2.1 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.441 -r1.441.2.1 src/sys/dev/ata/wd.c cvs rdiff -u -r1.46 -r1.46.6.1 src/sys/dev/ata/wdvar.h cvs rdiff -u -r1.62 -r1.62.2.1 src/sys/dev/ic/ahcisata_core.c cvs rdiff -u -r1.41 -r1.41.2.1 src/sys/dev/ic/mvsata.c cvs rdiff -u -r1.35 -r1.35.6.1 src/sys/dev/ic/siisata.c cvs rdiff -u -r1.288 -r1.288.6.1 src/sys/dev/ic/wdc.c cvs rdiff -u -r1.129 -r1.129.6.1 src/sys/dev/scsipi/atapi_wdc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.