CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sun Oct 21 19:16:48 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq Log Message: testing done (including PMP on siisata(4) and ATAPI cd(4) on ahcisata/siisata) To generate a diff of this commit: cvs rdiff -u -r1.4.2.16 -r1.4.2.17 src/sys/dev/ata/TODO.ncq Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ic
Module Name:src Committed By: jdolecek Date: Sun Oct 21 18:13:14 UTC 2018 Modified Files: src/sys/dev/ic [jdolecek-ncqfixes]: siisata.c Log Message: decouple siisata_reset_channel() from siisata_reinit_port(); the former now needs channel lock, but we don't have it in siisata_init_port() during attach instead call siisata_reset_channel() when siisata_reinit_port() fails, and ignore the error during attach To generate a diff of this commit: cvs rdiff -u -r1.35.6.10 -r1.35.6.11 src/sys/dev/ic/siisata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Oct 20 21:08:23 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: satapmp_subr.c Log Message: hold lock during drive reset (new locking protocol) erase xfer before each reuse for read/write port commands To generate a diff of this commit: cvs rdiff -u -r1.14.2.1 -r1.14.2.2 src/sys/dev/ata/satapmp_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Wed Oct 17 18:03:27 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq Log Message: rechecked bad block handling under Parallels and it really doesn't set any error bits in any of the registers (neither IS nor SERR) for out-of-range block read nor write, while it works just fine under VMware, so not our bug To generate a diff of this commit: cvs rdiff -u -r1.4.2.15 -r1.4.2.16 src/sys/dev/ata/TODO.ncq Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev
Module Name:src Committed By: jdolecek Date: Mon Oct 15 21:18:53 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq ata.c ata_recovery.c ata_wdc.c atavar.h src/sys/dev/ic [jdolecek-ncqfixes]: ahcisata_core.c mvsata.c siisata.c src/sys/dev/usb [jdolecek-ncqfixes]: umass_isdata.c Log Message: change the SATA/NCQ recovery to run in the atabus thread To generate a diff of this commit: cvs rdiff -u -r1.4.2.14 -r1.4.2.15 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.141.6.17 -r1.141.6.18 src/sys/dev/ata/ata.c cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/sys/dev/ata/ata_recovery.c cvs rdiff -u -r1.110.4.3 -r1.110.4.4 src/sys/dev/ata/ata_wdc.c cvs rdiff -u -r1.99.2.11 -r1.99.2.12 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.62.2.9 -r1.62.2.10 src/sys/dev/ic/ahcisata_core.c cvs rdiff -u -r1.41.2.10 -r1.41.2.11 src/sys/dev/ic/mvsata.c cvs rdiff -u -r1.35.6.9 -r1.35.6.10 src/sys/dev/ic/siisata.c cvs rdiff -u -r1.36.6.1 -r1.36.6.2 src/sys/dev/usb/umass_isdata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sun Oct 14 16:13:51 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c Log Message: add comment to kthread_create() call to explain why atabus_thread is actually running under KERNEL_LOCK() To generate a diff of this commit: cvs rdiff -u -r1.141.6.16 -r1.141.6.17 src/sys/dev/ata/ata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev
Module Name:src Committed By: jdolecek Date: Sun Oct 14 14:50:55 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq src/sys/dev/ic [jdolecek-ncqfixes]: mvsata.c Log Message: adjust mvsata_bio_intr() so it recognizes the 'tfd' parameter as passed by recovery and hence works; use it also for passing state from mvsata_edma_handle() To generate a diff of this commit: cvs rdiff -u -r1.4.2.13 -r1.4.2.14 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.41.2.9 -r1.41.2.10 src/sys/dev/ic/mvsata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ic
Module Name:src Committed By: jdolecek Date: Sat Oct 13 09:31:46 UTC 2018 Modified Files: src/sys/dev/ic [jdolecek-ncqfixes]: mvsata.c Log Message: make compile again with MVSATA_WITHOUTDMA To generate a diff of this commit: cvs rdiff -u -r1.41.2.8 -r1.41.2.9 src/sys/dev/ic/mvsata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ic
Module Name:src Committed By: jdolecek Date: Sat Oct 13 07:23:34 UTC 2018 Modified Files: src/sys/dev/ic [jdolecek-ncqfixes]: mvsata.c Log Message: add C_TIMEOUT KASSERT() on fail path of mvsata_bio_poll() for clarity To generate a diff of this commit: cvs rdiff -u -r1.41.2.7 -r1.41.2.8 src/sys/dev/ic/mvsata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev
Module Name:src Committed By: jdolecek Date: Thu Oct 11 20:57:51 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq ata.c ata_subr.c atavar.h files.ata src/sys/dev/ic [jdolecek-ncqfixes]: ahcisata_core.c ahcisatavar.h mvsata.c mvsatavar.h siisata.c siisatavar.h Added Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata_recovery.c Log Message: refactor shared parts of the SATA error recovery into new function ata_recovery_resume() and use for ahcisata/siisata/mvsata, also replace per-controller hold/unhold with generic version move the shared recovery code into separate file ata_recovery.c To generate a diff of this commit: cvs rdiff -u -r1.4.2.12 -r1.4.2.13 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.141.6.15 -r1.141.6.16 src/sys/dev/ata/ata.c cvs rdiff -u -r0 -r1.1.2.1 src/sys/dev/ata/ata_recovery.c cvs rdiff -u -r1.6.2.7 -r1.6.2.8 src/sys/dev/ata/ata_subr.c cvs rdiff -u -r1.99.2.10 -r1.99.2.11 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.27 -r1.27.6.1 src/sys/dev/ata/files.ata cvs rdiff -u -r1.62.2.8 -r1.62.2.9 src/sys/dev/ic/ahcisata_core.c cvs rdiff -u -r1.18 -r1.18.6.1 src/sys/dev/ic/ahcisatavar.h cvs rdiff -u -r1.41.2.6 -r1.41.2.7 src/sys/dev/ic/mvsata.c cvs rdiff -u -r1.4 -r1.4.2.1 src/sys/dev/ic/mvsatavar.h cvs rdiff -u -r1.35.6.8 -r1.35.6.9 src/sys/dev/ic/siisata.c cvs rdiff -u -r1.7 -r1.7.6.1 src/sys/dev/ic/siisatavar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ic
Module Name:src Committed By: jdolecek Date: Sun Oct 7 15:44:48 UTC 2018 Modified Files: src/sys/dev/ic [jdolecek-ncqfixes]: ahcisata_core.c Log Message: move atastart() call after xfer deactivation during ATA command completion, so that it's executed after the slot is freed To generate a diff of this commit: cvs rdiff -u -r1.62.2.7 -r1.62.2.8 src/sys/dev/ic/ahcisata_core.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ic
Module Name:src Committed By: jdolecek Date: Sun Oct 7 15:42:47 UTC 2018 Modified Files: src/sys/dev/ic [jdolecek-ncqfixes]: siisata.c Log Message: call atastart() when ATA command completes without timeout or error, similar to AHCI To generate a diff of this commit: cvs rdiff -u -r1.35.6.7 -r1.35.6.8 src/sys/dev/ic/siisata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Oct 6 21:19:55 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c ata_subr.c atavar.h wd.c Log Message: actually, just make dump use the same queue skip as recovery, and remove the no longer necessary ata_queue_reset() call from wd(4) also for PR kern/47041 To generate a diff of this commit: cvs rdiff -u -r1.141.6.14 -r1.141.6.15 src/sys/dev/ata/ata.c cvs rdiff -u -r1.6.2.6 -r1.6.2.7 src/sys/dev/ata/ata_subr.c cvs rdiff -u -r1.99.2.9 -r1.99.2.10 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.441.2.11 -r1.441.2.12 src/sys/dev/ata/wd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Oct 6 20:27:28 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq Log Message: move the entry for error recovery on thread up, it will be done on ncqfixes branch To generate a diff of this commit: cvs rdiff -u -r1.4.2.11 -r1.4.2.12 src/sys/dev/ata/TODO.ncq Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Oct 6 20:27:36 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c atavar.h wd.c Log Message: remove AT_RST_EMERG, do the queue reset explicitly in wd(4) this should explicitly fix PR kern/47041 with sync during heavy disk activity, even thought it was actually already implicitly fixed by calling ata_thread_run() for drive reset in previous commit already, since the function already called ata_queue_reset() drop now unused ch_reset_flags and drive_reset_flags To generate a diff of this commit: cvs rdiff -u -r1.141.6.13 -r1.141.6.14 src/sys/dev/ata/ata.c cvs rdiff -u -r1.99.2.8 -r1.99.2.9 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.441.2.10 -r1.441.2.11 src/sys/dev/ata/wd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Oct 6 20:13:12 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c Log Message: remove extra newline To generate a diff of this commit: cvs rdiff -u -r1.141.6.12 -r1.141.6.13 src/sys/dev/ata/ata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Oct 6 20:12:37 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c Log Message: fix ata_thread_run() for drive reset to set and check correct drive_flags To generate a diff of this commit: cvs rdiff -u -r1.141.6.11 -r1.141.6.12 src/sys/dev/ata/ata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Oct 6 19:25:43 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: wd.c Log Message: fix dump to also hold channel lock for the drive reset To generate a diff of this commit: cvs rdiff -u -r1.441.2.9 -r1.441.2.10 src/sys/dev/ata/wd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Thu Oct 4 19:42:01 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq wd.c Log Message: relax the NOERROR + C_CHAOS, just rerun the xfer instead of panic, to handle another variant of bad/missing AHCI error recovery, this time under Parallels To generate a diff of this commit: cvs rdiff -u -r1.4.2.10 -r1.4.2.11 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.441.2.8 -r1.441.2.9 src/sys/dev/ata/wd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ic
Module Name:src Committed By: jdolecek Date: Thu Oct 4 17:59:35 UTC 2018 Modified Files: src/sys/dev/ic [jdolecek-ncqfixes]: ahcisata_core.c mvsata.c siisata.c Log Message: further channel locking pass for reset To generate a diff of this commit: cvs rdiff -u -r1.62.2.6 -r1.62.2.7 src/sys/dev/ic/ahcisata_core.c cvs rdiff -u -r1.41.2.5 -r1.41.2.6 src/sys/dev/ic/mvsata.c cvs rdiff -u -r1.35.6.6 -r1.35.6.7 src/sys/dev/ic/siisata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Thu Oct 4 17:53:23 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: wd.c Log Message: don't add +1 to retry on error To generate a diff of this commit: cvs rdiff -u -r1.441.2.7 -r1.441.2.8 src/sys/dev/ata/wd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev
Module Name:src Committed By: jdolecek Date: Wed Oct 3 19:20:48 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq ata.c atavar.h wd.c src/sys/dev/ic [jdolecek-ncqfixes]: ahcisata_core.c mvsata.c siisata.c wdc.c Log Message: change channel reset and drive reset for all ATA controllers to always run via thread, and with channel lock held the whole time; the queue is frozen while reset is pending for this repurpose ata_reset_channel() into new ata_thread_run() also adjust some device printfs to not leak xfer pointer, and avoid aprint_* for non-autoconf messages To generate a diff of this commit: cvs rdiff -u -r1.4.2.9 -r1.4.2.10 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.141.6.10 -r1.141.6.11 src/sys/dev/ata/ata.c cvs rdiff -u -r1.99.2.7 -r1.99.2.8 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.441.2.6 -r1.441.2.7 src/sys/dev/ata/wd.c cvs rdiff -u -r1.62.2.5 -r1.62.2.6 src/sys/dev/ic/ahcisata_core.c cvs rdiff -u -r1.41.2.4 -r1.41.2.5 src/sys/dev/ic/mvsata.c cvs rdiff -u -r1.35.6.5 -r1.35.6.6 src/sys/dev/ic/siisata.c cvs rdiff -u -r1.288.6.2 -r1.288.6.3 src/sys/dev/ic/wdc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev
Module Name:src Committed By: jdolecek Date: Mon Sep 24 21:19:50 UTC 2018 Modified Files: src/sys/dev/isa [jdolecek-ncqfixes]: files.isa src/sys/dev/isapnp [jdolecek-ncqfixes]: files.isapnp src/sys/dev/pci [jdolecek-ncqfixes]: files.pci src/sys/dev/pcmcia [jdolecek-ncqfixes]: files.pcmcia Log Message: partial HEAD sync - ISDN device removal To generate a diff of this commit: cvs rdiff -u -r1.169 -r1.169.6.1 src/sys/dev/isa/files.isa cvs rdiff -u -r1.38 -r1.38.166.1 src/sys/dev/isapnp/files.isapnp cvs rdiff -u -r1.400 -r1.400.2.1 src/sys/dev/pci/files.pci cvs rdiff -u -r1.58 -r1.58.42.1 src/sys/dev/pcmcia/files.pcmcia Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Mon Sep 24 19:48:02 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq ata.c Log Message: replace KASSERT() for READ LOG EXT returning without error indication with just log to avoid triggering panic under QEMU - it doesn't implement the command for AHCI emulation To generate a diff of this commit: cvs rdiff -u -r1.4.2.8 -r1.4.2.9 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.141.6.9 -r1.141.6.10 src/sys/dev/ata/ata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Sep 22 17:52:24 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq Log Message: one more To generate a diff of this commit: cvs rdiff -u -r1.4.2.7 -r1.4.2.8 src/sys/dev/ata/TODO.ncq Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Sep 22 17:50:09 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq ata_subr.c atavar.h wd.c wdvar.h Log Message: remove explicit ata_channel_start() calls, it's no longer necessary now that ata_xfer's are allocated via pool and not really limited; replace by just a callout to restart the processing for rare cases where system runs out of memory To generate a diff of this commit: cvs rdiff -u -r1.4.2.6 -r1.4.2.7 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.6.2.5 -r1.6.2.6 src/sys/dev/ata/ata_subr.c cvs rdiff -u -r1.99.2.6 -r1.99.2.7 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.441.2.5 -r1.441.2.6 src/sys/dev/ata/wd.c cvs rdiff -u -r1.46.6.3 -r1.46.6.4 src/sys/dev/ata/wdvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Sep 22 16:14:25 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq ata.c atavar.h wd.c wdvar.h Log Message: fix use-after-free in wd(4) dump, detected by switch to the pool change code in wd_dumpblocks() to use it's own non-pool ata_xfer, which skips the deallocation step and thus keeps the contents when the I/O is finished To generate a diff of this commit: cvs rdiff -u -r1.4.2.5 -r1.4.2.6 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.141.6.8 -r1.141.6.9 src/sys/dev/ata/ata.c cvs rdiff -u -r1.99.2.5 -r1.99.2.6 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.441.2.4 -r1.441.2.5 src/sys/dev/ata/wd.c cvs rdiff -u -r1.46.6.2 -r1.46.6.3 src/sys/dev/ata/wdvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Sep 22 12:20:32 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c Log Message: revert atabus_alloc_drives() to use KM_NOSLEEP again - it's called with ch_lock held hence cannot actually sleep, fixing is out of scope of the branch To generate a diff of this commit: cvs rdiff -u -r1.141.6.7 -r1.141.6.8 src/sys/dev/ata/ata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Sep 22 09:26:49 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq ata.c Log Message: use KM_SLEEP in atabus_alloc_drives() to avoid spurious failures; this is not called from interrupt context To generate a diff of this commit: cvs rdiff -u -r1.4.2.4 -r1.4.2.5 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.141.6.6 -r1.141.6.7 src/sys/dev/ata/ata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev
Module Name:src Committed By: jdolecek Date: Sat Sep 22 09:23:00 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq ata.c ata_subr.c atavar.h satapmp_subr.c wd.c wdvar.h src/sys/dev/ic [jdolecek-ncqfixes]: ahcisata_core.c mvsata.c siisata.c src/sys/dev/scsipi [jdolecek-ncqfixes]: atapi_wdc.c src/sys/dev/usb [jdolecek-ncqfixes]: umass_isdata.c Log Message: separate ata_xfer slot allocation and the memory allocation, so that there can be more queued xfers than number of supported slots by controller, and use a pool instead of custom pre-allocation primarily to help PR kern/52614 remove no longer needed custom wd(4) logic for flush cache switch also wd(4) trim/suspend/setcache/wdioctlstrategy to sleep waiting for the memory, they are all called from process context and this avoids spurious failures To generate a diff of this commit: cvs rdiff -u -r1.4.2.3 -r1.4.2.4 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.141.6.5 -r1.141.6.6 src/sys/dev/ata/ata.c cvs rdiff -u -r1.6.2.4 -r1.6.2.5 src/sys/dev/ata/ata_subr.c cvs rdiff -u -r1.99.2.4 -r1.99.2.5 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.14 -r1.14.2.1 src/sys/dev/ata/satapmp_subr.c cvs rdiff -u -r1.441.2.3 -r1.441.2.4 src/sys/dev/ata/wd.c cvs rdiff -u -r1.46.6.1 -r1.46.6.2 src/sys/dev/ata/wdvar.h cvs rdiff -u -r1.62.2.4 -r1.62.2.5 src/sys/dev/ic/ahcisata_core.c cvs rdiff -u -r1.41.2.3 -r1.41.2.4 src/sys/dev/ic/mvsata.c cvs rdiff -u -r1.35.6.4 -r1.35.6.5 src/sys/dev/ic/siisata.c cvs rdiff -u -r1.129.6.3 -r1.129.6.4 src/sys/dev/scsipi/atapi_wdc.c cvs rdiff -u -r1.36 -r1.36.6.1 src/sys/dev/usb/umass_isdata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Mon Sep 17 20:54:41 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq ata.c ata_raid.c ata_raid_adaptec.c ata_raid_intel.c ata_raid_jmicron.c ata_raid_nvidia.c ata_raid_promise.c ata_raid_via.c ata_subr.c ata_wdc.c ld_ataraid.c wd.c Log Message: convert from malloc()/free() to kmem_zalloc()/kmem_free() To generate a diff of this commit: cvs rdiff -u -r1.4.2.2 -r1.4.2.3 src/sys/dev/ata/TODO.ncq cvs rdiff -u -r1.141.6.4 -r1.141.6.5 src/sys/dev/ata/ata.c cvs rdiff -u -r1.40 -r1.40.4.1 src/sys/dev/ata/ata_raid.c cvs rdiff -u -r1.10 -r1.10.6.1 src/sys/dev/ata/ata_raid_adaptec.c cvs rdiff -u -r1.8 -r1.8.6.1 src/sys/dev/ata/ata_raid_intel.c \ src/sys/dev/ata/ata_raid_via.c cvs rdiff -u -r1.6 -r1.6.6.1 src/sys/dev/ata/ata_raid_jmicron.c cvs rdiff -u -r1.3 -r1.3.6.1 src/sys/dev/ata/ata_raid_nvidia.c cvs rdiff -u -r1.12 -r1.12.6.1 src/sys/dev/ata/ata_raid_promise.c cvs rdiff -u -r1.6.2.3 -r1.6.2.4 src/sys/dev/ata/ata_subr.c cvs rdiff -u -r1.110.4.2 -r1.110.4.3 src/sys/dev/ata/ata_wdc.c cvs rdiff -u -r1.45 -r1.45.4.1 src/sys/dev/ata/ld_ataraid.c cvs rdiff -u -r1.441.2.2 -r1.441.2.3 src/sys/dev/ata/wd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev
Module Name:src Committed By: jdolecek Date: Mon Sep 17 19:30:26 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: atavar.h src/sys/dev/ic [jdolecek-ncqfixes]: ahcisata_core.c mvsata.c siisata.c src/sys/dev/scsipi [jdolecek-ncqfixes]: atapi_wdc.c Log Message: move ATAPI-only members of ata_xfer to an union struct to further save space To generate a diff of this commit: cvs rdiff -u -r1.99.2.3 -r1.99.2.4 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.62.2.3 -r1.62.2.4 src/sys/dev/ic/ahcisata_core.c cvs rdiff -u -r1.41.2.2 -r1.41.2.3 src/sys/dev/ic/mvsata.c cvs rdiff -u -r1.35.6.3 -r1.35.6.4 src/sys/dev/ic/siisata.c cvs rdiff -u -r1.129.6.2 -r1.129.6.3 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.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Mon Sep 17 19:00:43 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c ata_subr.c atavar.h Log Message: switch from TAILQ to SIMPLEQ for ata_xfer pending queue to save space, don't need doubly linked queue To generate a diff of this commit: cvs rdiff -u -r1.141.6.3 -r1.141.6.4 src/sys/dev/ata/ata.c cvs rdiff -u -r1.6.2.2 -r1.6.2.3 src/sys/dev/ata/ata_subr.c cvs rdiff -u -r1.99.2.2 -r1.99.2.3 src/sys/dev/ata/atavar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev
Module Name:src Committed By: jdolecek Date: Mon Sep 17 18:36:14 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c ata_subr.c ata_wdc.c atavar.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: move low-level protocol handlers hooks from ata_xfer to separate struct, initialized statically primarily to reduce ata_xfer struct size, but also improves readibility, and enforces consistency To generate a diff of this commit: cvs rdiff -u -r1.141.6.2 -r1.141.6.3 src/sys/dev/ata/ata.c cvs rdiff -u -r1.6.2.1 -r1.6.2.2 src/sys/dev/ata/ata_subr.c cvs rdiff -u -r1.110.4.1 -r1.110.4.2 src/sys/dev/ata/ata_wdc.c cvs rdiff -u -r1.99.2.1 -r1.99.2.2 src/sys/dev/ata/atavar.h cvs rdiff -u -r1.62.2.2 -r1.62.2.3 src/sys/dev/ic/ahcisata_core.c cvs rdiff -u -r1.41.2.1 -r1.41.2.2 src/sys/dev/ic/mvsata.c cvs rdiff -u -r1.35.6.2 -r1.35.6.3 src/sys/dev/ic/siisata.c cvs rdiff -u -r1.288.6.1 -r1.288.6.2 src/sys/dev/ic/wdc.c cvs rdiff -u -r1.129.6.1 -r1.129.6.2 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.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ic
Module Name:src Committed By: jdolecek Date: Sat Sep 1 10:13:41 UTC 2018 Modified Files: src/sys/dev/ic [jdolecek-ncqfixes]: ahcisata_core.c siisata.c Log Message: only call ata_deactivate_xfer() once completely done with the active xfer in controller code (i.e. after bus_dmamap_sync() et.al.), so that the command slot is safe to be reused immediatelly after deactivate To generate a diff of this commit: cvs rdiff -u -r1.62.2.1 -r1.62.2.2 src/sys/dev/ic/ahcisata_core.c cvs rdiff -u -r1.35.6.1 -r1.35.6.2 src/sys/dev/ic/siisata.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Sat Sep 1 09:48:32 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: ata.c wd.c Log Message: stop assuming c_slot is immutable, use the xfer pointer rather than c_slot in printfs() To generate a diff of this commit: cvs rdiff -u -r1.141.6.1 -r1.141.6.2 src/sys/dev/ata/ata.c cvs rdiff -u -r1.441.2.1 -r1.441.2.2 src/sys/dev/ata/wd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Fri Aug 31 19:23:54 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq Log Message: fix comment - dynamically allocated yes, per-drive not To generate a diff of this commit: cvs rdiff -u -r1.4.2.1 -r1.4.2.2 src/sys/dev/ata/TODO.ncq Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Fri Aug 31 19:15:04 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq Log Message: list goals for the jdolecek-ncqfixes branch To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.4.2.1 src/sys/dev/ata/TODO.ncq Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [jdolecek-ncqfixes] src/sys/dev
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.