History log of /src/sys/dev/ata/satafisvar.h |
Revision | | Date | Author | Comments |
1.4 |
| 07-Oct-2017 |
jdolecek | Merge support for SATA NCQ (Native Command Queueing) from jdolecek-ncq branch
ATA subsystem was changed to support several outstanding commands, and use NCQ xfers if supported by both the controller and the disk, including NCQ error recovery. Set NCQ high priority for BPRIO_TIMECRITICAL xfers if supported. Added FUA support.
Done some work towards MP-safe, all ATA code tsleep()/wakeup() replaced by condvars, and switched most code from spl* to mutexes (separate wd(4) and ata channel lock).
Introduced new option WD_CHAOS_MONKEY to facilitate testing of error handling, fixed several uncovered issues. Also fixed several problems with kernel dump to wd(4) disk.
Tested with ahcisata(4), mvsata(4), siisata(4), piixide(4) on amd64, with and without port multiplier, both disk and ATAPI devices; other drivers and archs mechanically adjusted and compile-tested. NCQ is supported for ahcisata(4) and siisata(4) for any controller, for mvsata(4) only Gen IIe ones for now. Also enabled ATAPI support in mvsata(4).
Thanks to Matt Thomas for initial ATA infrastructure patch, and Jonathan A.Kollasch for siisata(4) NCQ changes and general testing.
Also fixes PR kern/43169 (wd(4)); and PR kern/11811, PR kern/47041, PR kern/51979 (kernel dump)
|
1.3 |
| 07-Apr-2010 |
jakllsch | branches: 1.3.2; 1.3.20; 1.3.50; satafis: - Add function to parse RDH FIS for use in implementing AT_READREG. - Correct and clean up some structure definitions. - Sprinkle a bit of const. - Remove dependency on <dev/ic/wdcreg.h>, WDCTL_4BIT doesn't seem to be specified by any recent ATA standard, and it seems to make no difference in practice. - Stop using WDSD_IBM, these bits have been obsolete since before SATA.
siisata: - Implement AT_READREG. - Reap now-unneeded <dev/ic/wdcreg.h>. - Whitespace and slight debug code cleanup. - Some possibly-uncessary code reordering.
ahcisata: - Implement AT_READREG. - Reap now-unneeded <dev/ic/wdcreg.h>.
|
1.2 |
| 04-Jul-2009 |
jakllsch | branches: 1.2.2; 1.2.4; 1.2.6; Further corrections for siisata.
Reset ch_status and ch_error at the beginning of any operation.
The chip only writes the RDH FIS to the SRAM when the error bit is set in a RDH FIS (per the datasheet). Thus, satafis_sdb_parse() is replaced with satafis_rhd_parse(). A valid FIS type field seems to not be written to the SRAM, so don't bother checking it for the correct magic.
Additionally, append 2009 to copyright year set, and remove obsolete CVS Id lines from when this was in my repository.
|
1.1 |
| 17-Jun-2009 |
jakllsch | branches: 1.1.2; ahcisata(4) and siisata(4) use similar SATA FIS functions, share them.
|
1.1.2.4 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.1.2.3 |
| 18-Jul-2009 |
yamt | sync with head.
|
1.1.2.2 |
| 20-Jun-2009 |
yamt | sync with head
|
1.1.2.1 |
| 17-Jun-2009 |
yamt | file satafisvar.h was added on branch yamt-nfs-mp on 2009-06-20 07:20:20 +0000
|
1.2.6.1 |
| 30-May-2010 |
rmind | sync with head
|
1.2.4.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.2.2.3 |
| 28-Sep-2009 |
snj | Pull up following revision(s) (requested by jakllsch in ticket #1023): sys/dev/ata/satafis_subr.c: revision 1.3 sys/dev/ata/satafisvar.h: revision 1.2 sys/dev/ic/siisata.c: revision 1.7 sys/dev/ic/siisatareg.h: revision 1.4 Further corrections for siisata. Reset ch_status and ch_error at the beginning of any operation. The chip only writes the RDH FIS to the SRAM when the error bit is set in a RDH FIS (per the datasheet). Thus, satafis_sdb_parse() is replaced with satafis_rhd_parse(). A valid FIS type field seems to not be written to the SRAM, so don't bother checking it for the correct magic. Additionally, append 2009 to copyright year set, and remove obsolete CVS Id lines from when this was in my repository.
|
1.2.2.2 |
| 28-Sep-2009 |
snj | Pull up following revision(s) (requested by jakllsch in ticket #1023): sys/conf/files: revision 1.947 sys/dev/ata/files.ata: revision 1.21 sys/dev/ata/satafis_subr.c: revision 1.1 sys/dev/ata/satafisreg.h: revision 1.1 sys/dev/ata/satafisvar.h: revision 1.1 ahcisata(4) and siisata(4) use similar SATA FIS functions, share them.
|
1.2.2.1 |
| 04-Jul-2009 |
snj | file satafisvar.h was added on branch netbsd-5 on 2009-09-28 00:13:02 +0000
|
1.3.50.1 |
| 19-Jul-2017 |
jdolecek | tighen and expand error handling, mostly for NCQ use cases: - make retry timeout callout per xfer, i.e. retry separately - zero whole bio struct on retry to avoid more stale state - add a REQUEUE option, which doesn't bump retry count - add ata_read_log_ext_ncq() for NCQ recovery - adjust logic for activating xfers - allow next command only when it's for same drive, several concurrent are only supported when HBA and driver support FIS-based switching - add new ata_timeout() which handles race between callout_stop() and the invokation, add appropriate handling on deactivate/free paths - stop using ch_status/ch_error in non-wdc code; later it will be dropped completely
|
1.3.20.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.3.2.3 |
| 24-Mar-2014 |
matt | Merge satafis changes from HEAD for ahcisata
|
1.3.2.2 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.3.2.1 |
| 07-Apr-2010 |
matt | file satafisvar.h was added on branch matt-nb5-mips64 on 2010-04-21 00:27:34 +0000
|