| History log of /src/sys/dev/ata/atareg.h |
| Revision | | Date | Author | Comments |
| 1.46 |
| 05-Jul-2022 |
andvar | s/retrys/retries/ in comments.
|
| 1.45 |
| 15-May-2020 |
jdolecek | remove unused atacmd_tostatq()
|
| 1.44 |
| 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.43 |
| 30-Oct-2013 |
drochner | branches: 1.43.18; -recognize CF cards by the magic value in inquiry data -kill CFG_ATAPI_MASK, didn't see anything in the specs supporting that it exists
|
| 1.42 |
| 09-Jan-2013 |
riastradh | branches: 1.42.2; Name the ATA SECURITY commands.
|
| 1.41 |
| 19-Oct-2012 |
drochner | Implement experimental support to pass notifications that a file was deleted from the filesystem to the disk driver, commonly known as "discard" or "trim". fs/driver support is in ffs and ata wd for now. This is what was posted here: http://mail-index.netbsd.org/tech-kern/2012/02/28/msg012813.html with minor cleanup, and the global switch replaced by a mount option.
|
| 1.40 |
| 24-Oct-2011 |
jakllsch | branches: 1.40.2; 1.40.12; SATA_SIGNAL_GEN3 definition for Serial ATA capabilities word in IDENTIFY DEVICE structure.
|
| 1.39 |
| 24-Oct-2011 |
jakllsch | Add defines for SET FEATURES for the SATA, PUIS and AAM feature sets.
|
| 1.38 |
| 25-Jan-2010 |
jakllsch | Add some more elements to struct ataparams.
These mostly concern the new Long Physical Sectors and Long Logical Sectors feature sets.
Information from a draft of ACS-2, with some additional in-between members and bits being borrowed from OpenBSD.
There's lots more in ACS-2 we could add, but for the most part it would be superfluous.
XXX: Some elements marked as reserved no longer are, and some elements we still reference are now obsolete.
|
| 1.37 |
| 22-Jan-2010 |
jakllsch | Correct an error in previous commit.
|
| 1.36 |
| 21-Jan-2010 |
jakllsch | Convert to C99 types. Make whitespace more consistent.
|
| 1.35 |
| 10-Jan-2010 |
tsutsui | Provide atacmd_to48() in case of #if defined(_STANDALONE) too because standalone wdc driver in cobalt bootloader requires it for LBA48 support.
|
| 1.34 |
| 19-Oct-2009 |
bouyer | Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
|
| 1.33 |
| 08-Jun-2009 |
jakllsch | Add atap_max_lba member to ataparams for LBA48 Maximum Address. From OpenBSD. While here, renumber some __reserved member names to be sequential. Also, add a member for the World Wide Name.
Use atap_max_lba in wd.c instead of offsets into a __reserved member.
|
| 1.32 |
| 25-Dec-2007 |
perry | branches: 1.32.10; 1.32.20; 1.32.24; 1.32.28; Convert many of the uses of __attribute__ to equivalent __packed, __unused and __dead macros from cdefs.h
|
| 1.31 |
| 18-Nov-2007 |
christos | branches: 1.31.2; 1.31.6; From Marco Trillo (marcotrillo at gmail dot com): Add Advanced power management in atactl(8)
|
| 1.30 |
| 21-Aug-2007 |
bouyer | branches: 1.30.2; 1.30.6; 1.30.8; Improved SATA support, from Jonathan A. Kollasch in PR bin/36772: * use full 5-bit command queue depth that SATA supports * decode SATA bits
|
| 1.29 |
| 16-Nov-2006 |
christos | branches: 1.29.8; 1.29.18; 1.29.22; __unused removal on arguments; approved by core.
|
| 1.28 |
| 30-Sep-2006 |
itohy | A little effort against kernel bloat.... Exclude ATA DMA support if no ATA DMA capable drivers are compiled in.
|
| 1.27 |
| 24-Sep-2006 |
xtraeme | Typo: WCDD_SECURITY_FREEZE -> WDCC_SECURITY_FREEZE
Noticed by Sergey Svishchev.
|
| 1.26 |
| 16-Feb-2006 |
perry | branches: 1.26.14; 1.26.16; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
| 1.25 |
| 24-Dec-2005 |
perry | branches: 1.25.2; 1.25.4; 1.25.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
| 1.24 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
| 1.23 |
| 12-Apr-2005 |
drochner | branches: 1.23.2; add definition for "security freeze"
|
| 1.22 |
| 27-Feb-2005 |
perry | branches: 1.22.2; nuke trailing whitespace
|
| 1.21 |
| 23-Aug-2004 |
he | branches: 1.21.4; 1.21.6; Put an #ifdef _KERNEL around inline functions using panic(). Fixes compile problem for the atactl program for the vax target.
|
| 1.20 |
| 21-Aug-2004 |
thorpej | - Move to48() to atareg.h and rename it atacmd_to48(). - Add an atacmd_tosataq() that converts a 32-bit command to a Native SATA Queued command.
|
| 1.19 |
| 12-Aug-2004 |
thorpej | Add SATA queued read/write commands.
|
| 1.18 |
| 03-May-2004 |
bouyer | When using LBA48, use Flush cache extended command if supported. From Christos Zoulas in PR 25366, with minor adjustements from me.
|
| 1.17 |
| 14-Mar-2004 |
wiz | branches: 1.17.2; It's extension, not extention. From Miod Vallat (miod at online fr).
|
| 1.16 |
| 30-Dec-2003 |
thorpej | Move the register definitions for ATA Task File registers to atareg.h; they are also used by controllers that do not map the registers into the system address space, and are thus distinct from the "controller" registers.
|
| 1.15 |
| 30-Dec-2003 |
thorpej | SMART info is logically part of the register set; move it from atavar.h to atareg.h
|
| 1.14 |
| 30-Nov-2003 |
yamt | add definitions of new feature bits.
|
| 1.13 |
| 30-Nov-2003 |
yamt | - rename WDC_CAP_LBA48 to ATA_CMD2_LBA48. - remove WDC_CAP_QUEUE. (there's already ATA_CMD2_RWQ.)
as discussed on tech-kern@.
|
| 1.12 |
| 26-Nov-2003 |
yamt | remove ATA_CMD2_SMART, which seems wrong and isn't used.
|
| 1.11 |
| 02-Nov-2003 |
wiz | Fix two typos. From Tom Cosgrove via jmc@openbsd.
|
| 1.10 |
| 23-Sep-2003 |
skd | Additional definitions as per SATA specifications. Approved by Manuel Bouyer.
|
| 1.9 |
| 05-Aug-2002 |
soren | branches: 1.9.6; Add ATA SMART reporting support from Ben Collver in kern/12787.
|
| 1.8 |
| 13-Jan-2002 |
christos | branches: 1.8.8; 1.8.10; Add LBA48 support based on patches from Keisuke YOSHIDA. KNF a bit while I am there.
|
| 1.7 |
| 05-Jul-2001 |
toshii | branches: 1.7.2; Fix typo. s/extention/extension/
|
| 1.6 |
| 29-Mar-2000 |
augustss | branches: 1.6.6; Fix a couple of misspelled comments.
|
| 1.5 |
| 18-Jan-1999 |
bouyer | branches: 1.5.2; 1.5.8; move wd.c:print_wderror() to ata.c:ata_perror(). In wdc_probe_caps() add code to guess the ATA revision supported (if ATA4 if Ultra-DMA, ATA2 if PIO mode > 2). We can't rely on param.atap_ata_major here, at last one Ultra-DMA drive claims to support only ATA-3. Use the ATA version in ata_perror(), and to try a flush cache command in a shutdown hook for IDE drives.
|
| 1.4 |
| 01-Dec-1998 |
tsubai | struct ataparam has endian dependence, so add big-endian case.
|
| 1.3 |
| 18-Nov-1998 |
kenh | Don't protect this with #ifdef _KERNEL
|
| 1.2 |
| 12-Oct-1998 |
bouyer | Merge bouyer-ide
|
| 1.1 |
| 04-Jun-1998 |
bouyer | branches: 1.1.2; file atareg.h was initially added on branch bouyer-ide.
|
| 1.1.2.1 |
| 04-Jun-1998 |
bouyer | Commit changes to the IDE system in a branch. This allows a better separation between higth-level and low-level (i.e. registers read/write) and generalize the queue for all commands. This also add supports for IDE DMA.
|
| 1.5.8.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
| 1.5.2.1 |
| 07-Jul-2000 |
he | Apply patch (requested by bouyer): Add support for the following PCIIDE controllers: o AMD 756 o CMD PCI0648 and PCI0649 o Hightpoint HPT366 o OPTi 82c621 (and a few of its derivatives) o Promise Ultra/33 and Ultra/66 o Intel 82801 (ICH/ICH0) Also fix PR#10437 (detect more ATAPI devices).
|
| 1.6.6.3 |
| 13-Aug-2002 |
nathanw | Catch up to -current.
|
| 1.6.6.2 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
| 1.6.6.1 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
| 1.7.2.2 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
| 1.7.2.1 |
| 11-Feb-2002 |
jdolecek | Sync w/ -current.
|
| 1.8.10.1 |
| 14-May-2004 |
jdc | Pull up revision 1.14 via patch (requested by bouyer in ticket #1690)
add definitions of new feature bits.
|
| 1.8.8.1 |
| 29-Aug-2002 |
gehenna | catch up with -current.
|
| 1.9.6.7 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
| 1.9.6.6 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
| 1.9.6.5 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
| 1.9.6.4 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
| 1.9.6.3 |
| 25-Aug-2004 |
skrll | Sync with HEAD.
|
| 1.9.6.2 |
| 12-Aug-2004 |
skrll | Sync with HEAD.
|
| 1.9.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
| 1.17.2.1 |
| 09-May-2004 |
jdc | Pull up revision 1.18 (requested by bouyer in ticket #262)
When using LBA48, use Flush cache extended command if supported. From Christos Zoulas in PR 25366, with minor adjustements from me.
|
| 1.21.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
| 1.21.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
| 1.22.2.1 |
| 15-Apr-2005 |
tron | Pull up revision 1.23 (requested by drochner in ticket #156): add definition for "security freeze"
|
| 1.23.2.4 |
| 21-Jan-2008 |
yamt | sync with head
|
| 1.23.2.3 |
| 07-Dec-2007 |
yamt | sync with head
|
| 1.23.2.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
| 1.23.2.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
| 1.25.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
| 1.25.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
| 1.25.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
| 1.26.16.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
| 1.26.16.1 |
| 22-Oct-2006 |
yamt | sync with head
|
| 1.26.14.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
| 1.29.22.2 |
| 21-Nov-2007 |
joerg | Sync with HEAD.
|
| 1.29.22.1 |
| 03-Sep-2007 |
jmcneill | Sync with HEAD.
|
| 1.29.18.1 |
| 03-Sep-2007 |
skrll | Sync with HEAD.
|
| 1.29.8.1 |
| 09-Oct-2007 |
ad | Sync with head.
|
| 1.30.8.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
| 1.30.8.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
| 1.30.6.1 |
| 18-Nov-2007 |
bouyer | Sync with HEAD
|
| 1.30.2.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
| 1.31.6.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
| 1.31.2.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
| 1.32.28.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
| 1.32.24.1 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
| 1.32.20.1 |
| 10-Jan-2010 |
snj | Pull up following revision(s) (requested by dsl in ticket #1231): sys/dev/ata/atareg.h: revision 1.33 sys/dev/ata/wd.c: revision 1.378 Add atap_max_lba member to ataparams for LBA48 Maximum Address. From OpenBSD. While here, renumber some __reserved member names to be sequential. Also, add a member for the World Wide Name. Use atap_max_lba in wd.c instead of offsets into a __reserved member.
|
| 1.32.10.2 |
| 11-Mar-2010 |
yamt | sync with head
|
| 1.32.10.1 |
| 20-Jun-2009 |
yamt | sync with head
|
| 1.40.12.5 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.40.12.4 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.40.12.3 |
| 25-Feb-2013 |
tls | resync with head
|
| 1.40.12.2 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
| 1.40.12.1 |
| 09-Oct-2012 |
bouyer | Support transfers of up to MACHINE_MAXPHYS in all pciide variants, and ahci. wd(4) limits its maxphys depending on the drives's capability (64k sectors for LBA48, 256 sectors for LBA and 128 sectors for older devices).
I assumed all pciide controllers could do MACHINE_MAXPHYS transfers, but this may not be true. The capabilities of each controller variants should be looked at more closely.
|
| 1.40.2.3 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.40.2.2 |
| 23-Jan-2013 |
yamt | sync with head
|
| 1.40.2.1 |
| 30-Oct-2012 |
yamt | sync with head
|
| 1.42.2.1 |
| 18-May-2014 |
rmind | sync with head
|
| 1.43.18.3 |
| 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.43.18.2 |
| 24-Apr-2017 |
jdolecek | set NCQ priority field to 'high' for BPRIO_TIMECRITICAL transfers if drive supports it
|
| 1.43.18.1 |
| 19-Apr-2017 |
jdolecek | add ATA FUA support
|