Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/atari/dev/dma.c
RevisionDateAuthorComments
 1.29  06-Jan-2023  tsutsui TAB/spaces/indents cleanup.
 1.28  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.27  12-Apr-2010  tsutsui branches: 1.27.18; 1.27.48;
- more cosmetics
- use queue(3) macro properly
 1.26  12-Apr-2010  tsutsui KNF and cosmetics.
 1.25  10-Apr-2010  tsutsui Always schedule callback functions via add_sicallback(),
which calls softint_schedule(9).

We cannot use BASEPRI() to check recursive calls any longer
since softint(9) has been reorganized to use kernel thread.
 1.24  20-Oct-2009  snj branches: 1.24.2; 1.24.4;
Remove 3rd and 4th clause on Leo Weppelman's license. OK leo@.
 1.23  08-Jul-2009  tsutsui Merge local <atari/atari/intr.h> into common <machine/intr.h>.
 1.22  18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.21  14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.20  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.19  14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.18  04-Mar-2007  christos branches: 1.18.44; 1.18.52; 1.18.54; 1.18.58;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17  11-Dec-2005  christos branches: 1.17.26;
merge ktrace-lwp.
 1.16  15-Jul-2003  lukem branches: 1.16.16;
__KERNEL_RCSID()
 1.15  27-Sep-2002  provos branches: 1.15.6;
remove trailing \n in panic(). approved perry.
 1.14  27-Jan-1997  leo branches: 1.14.40; 1.14.44;
Add option to sleep until ST_DMA becomes available.
 1.13  12-Jan-1997  leo branches: 1.13.2;
Fix return value of the interrupt function.
 1.12  01-Jan-1997  leo The ST-DMA driver now uses intr_establish.
 1.11  13-Oct-1996  christos backout previous kprintf changes
 1.10  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.9  05-Jul-1996  leo Add missing spl0() call.
 1.8  18-Jun-1996  leo Pull down from release. Sorry, should have been the other way around....
 1.7  19-Apr-1996  leo branches: 1.7.4;
Prototypes.
 1.6  22-Feb-1996  leo First bunch of changes due to stricter prototype checking.
 1.5  06-Nov-1995  leo The Falcon needs a delay after writing the dma_data register (Thomas Gerner)
 1.4  14-May-1995  leo branches: 1.4.2;
- Remove race condition from DMA interrupt handler
- Add function to get current DMA address for Falcon SCSI.
 1.3  30-Apr-1995  leo Complete rewrite, made necessary because Falcon SCSI needs to share
NCR5380 and DMA access with floppy.
 1.2  22-Apr-1995  leo - Remove register access functions from dma.c -> fd.c and inline them
- Add write protect checking (mistereously disapeared during port)
- Make fdclose() return a sensible value
- Prefix 'dma-defines' with DMA_
 1.1  26-Mar-1995  leo branches: 1.1.1;
Initial revision
 1.1.1.1  26-Mar-1995  leo NetBSD/Atari, port by Leo Weppelman.
 1.4.2.1  06-Nov-1995  leo Update from main branch.
 1.7.4.2  19-Jul-1996  jtc Pulled up from rev 1.9 by request from Leo Weppelman
 1.7.4.1  18-Jun-1996  leo Get rid of some spurious interrupts caused by pending software interrupts.
 1.13.2.1  30-Jan-1997  thorpej update from trunk
 1.14.44.1  18-Oct-2002  nathanw Catch up to -current.
 1.14.40.1  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.15.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.15.6.1  03-Aug-2004  skrll Sync with HEAD
 1.16.16.1  03-Sep-2007  yamt sync with head.
 1.17.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.18.58.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.54.1  20-Nov-2010  riz Pull up following revision(s) (requested by tsutsui in ticket #1373):
sys/arch/atari/dev/dma.c: revision 1.25
sys/arch/atari/dev/atari5380.c: revision 1.54
Always schedule callback functions via add_sicallback(),
which calls softint_schedule(9).
We cannot use BASEPRI() to check recursive calls any longer
since softint(9) has been reorganized to use kernel thread.
 1.18.52.1  28-Apr-2009  skrll Sync with HEAD.
 1.18.44.4  11-Aug-2010  yamt sync with head.
 1.18.44.3  11-Mar-2010  yamt sync with head
 1.18.44.2  18-Jul-2009  yamt sync with head.
 1.18.44.1  04-May-2009  yamt sync with head.
 1.24.4.1  30-May-2010  rmind sync with head
 1.24.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.27.48.1  27-Sep-2017  jdolecek pass ata channel interlock to st_dmagrab() so that it can release
and reacquire it if it sleeps
 1.27.18.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed