History log of /src/sys/arch/atari/dev/atari5380.c |
Revision | | Date | Author | Comments |
1.66 |
| 06-Jan-2023 |
tsutsui | TAB/spaces/indents cleanup.
|
1.65 |
| 04-Oct-2021 |
andvar | follow fcambus steps by fixing typos for "unknown" in few more error messages.
|
1.64 |
| 27-Dec-2019 |
msaitoh | s/transfered/transferred/
|
1.63 |
| 07-Oct-2017 |
jdolecek | branches: 1.63.4; 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.62 |
| 18-Oct-2014 |
snj | branches: 1.62.8; src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
1.61 |
| 05-Jul-2014 |
tsutsui | Appease gcc48 -Wunused-but-set-variable warning.
|
1.60 |
| 24-Mar-2014 |
christos | branches: 1.60.2; - remove unused - use cpu_{g,s}etmodel() (not committed yet)
|
1.59 |
| 12-Feb-2012 |
matt | branches: 1.59.6; 1.59.10; Change old-style function defintions to C89 prototypes.
Approved by releng.
|
1.58 |
| 17-Jul-2011 |
joerg | branches: 1.58.2; 1.58.6; Retire varargs.h support. Move machine/stdarg.h logic into MI sys/stdarg.h and expect compiler to provide proper builtins, defaulting to the GCC interface. lint still has a special fallback. Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and derive va_list as required by standards.
|
1.57 |
| 05-Jun-2011 |
tsutsui | Split device_t/softc. No crash on TT030.
|
1.56 |
| 17-Apr-2010 |
tsutsui | branches: 1.56.2; 1.56.6; extern inline -> static inline
|
1.55 |
| 13-Apr-2010 |
tsutsui | Misc KNF and cosmetics.
|
1.54 |
| 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.53 |
| 20-Oct-2009 |
snj | branches: 1.53.2; 1.53.4; Remove 3rd and 4th clause on Leo Weppelman's license. OK leo@.
|
1.52 |
| 08-Jul-2009 |
tsutsui | Merge local <atari/atari/intr.h> into common <machine/intr.h>.
|
1.51 |
| 18-Mar-2009 |
cegger | Ansify function definitions w/o arguments. Generated with sed.
|
1.50 |
| 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.49 |
| 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.48 |
| 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.47 |
| 24-Jan-2009 |
tsutsui | branches: 1.47.2; Replace multi-statement macro using GCC extension `({})' with static inline functions to avoid possible side effects or confusion.
Tested on TT030 by David Ross and on Falcon by Tuomo Makinen on port-atari.
|
1.46 |
| 29-Oct-2008 |
abs | branches: 1.46.2; Cleanup spelling and syntax in a comment
|
1.45 |
| 20-Jul-2008 |
tsutsui | branches: 1.45.2; Specify volatile to some pointers to access DMA registers.
|
1.44 |
| 20-Jul-2008 |
tsutsui | No need to specify '&' to get array's address. No binary changes.
|
1.43 |
| 20-Jul-2008 |
tsutsui | Fix pointer arithmetic botch in rev 1.37.
|
1.42 |
| 04-Mar-2007 |
christos | branches: 1.42.40; 1.42.44; 1.42.46; 1.42.48; 1.42.50; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.41 |
| 10-May-2006 |
skrll | branches: 1.41.12; 1.41.14; Fix a bunch of cast lvalues.
|
1.40 |
| 24-Dec-2005 |
perry | branches: 1.40.4; 1.40.6; 1.40.8; 1.40.10; 1.40.12; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
1.39 |
| 24-Dec-2005 |
perry | Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.38 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.37 |
| 04-Jun-2005 |
he | branches: 1.37.2; Adapt to compiling with -Wshadow and -Wcast-qual, by adding const qualification in places and renaming a few local variables. Also adds a couple uses of __UNVOLATILE() to allow passing volatile variables to functions wanting e.g. caddr_t.
|
1.36 |
| 15-Jul-2003 |
lukem | __KERNEL_RCSID()
|
1.35 |
| 03-May-2003 |
wiz | branches: 1.35.2; DMA, not dma nor Dma.
|
1.34 |
| 01-Apr-2003 |
thorpej | Use PAGE_SIZE rather than NBPG.
|
1.33 |
| 16-Sep-2001 |
wiz | branches: 1.33.4; Spell 'occurred' with two 'r's.
|
1.32 |
| 09-Jul-2001 |
leo | branches: 1.32.2; 1.32.4; defopt atari scsi options.
|
1.31 |
| 29-Mar-2000 |
leo | Nuke a bunch of cf_unit abuses.
|
1.30 |
| 06-Aug-1999 |
leo | branches: 1.30.2; Change the way that bit's are cleared in the InterruptPending register of the 68901. Do this now by _assigning_ ~<bit_to_clear> instead of the previously used 'andb ~<bit_to_clear>'. The latter caused a rwm-cycle that caused a race condition to happen when an interrupt arrived between the Read and Modify-Write. Anyway, this solved my hanging keyboard problem.
|
1.29 |
| 06-Oct-1998 |
leo | branches: 1.29.6; Disable SCSI interrupts while polling for the transfer to finish. This fixes spurious panics while booting my Hades. This bug could also occur on a TT030.
|
1.28 |
| 27-Aug-1997 |
bouyer | branches: 1.28.4; Merge scsipi branch in the mainline. This add support for ATAPI devices (currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2 busses to which devices can attach (scsibus and atapibus). This needed to change some include files and structure names in the low level scsi drivers.
|
1.27 |
| 27-Aug-1997 |
leo | Don't enable the dma-interrupt while polling for dma to end. This sometimes caused a system panic on the Hades while probing the SCSI devices.
|
1.26 |
| 04-Jun-1997 |
leo | branches: 1.26.2; 1.26.4; Use m68k cacheops
|
1.25 |
| 06-Apr-1997 |
leo | Make Hades DMA transfers work in polling mode with all interrupts disabled. This makes dumps to scsi work.
|
1.24 |
| 30-Mar-1997 |
leo | Remove a hardcoded interrupt handler. Now uses intr_establish() for the SCSI-drq handler on the Hades.
|
1.23 |
| 12-Jan-1997 |
leo | Use the mask register to block the interrups, not the enable register. This enables the interrupt to be shared (with IDE for example ;-) ).
|
1.22 |
| 04-Jan-1997 |
leo | Fix a rather nasty thinko that made the keyboard useless on the Falcon. Thanks to Markus Kilbinger for finding it.
|
1.21 |
| 17-Nov-1996 |
leo | Make splbio really splbio. All holes now seem to be plugged. At least on the Hades & TT030.
|
1.20 |
| 13-Oct-1996 |
christos | backout previous kprintf changes
|
1.19 |
| 11-Oct-1996 |
christos | printf -> kprintf, sprintf -> ksprintf
|
1.18 |
| 16-Sep-1996 |
leo | Add support for Hades platform.
|
1.17 |
| 16-Aug-1996 |
leo | Revert to polled-DMA on Falcon.
|
1.16 |
| 05-Jul-1996 |
leo | During a rather lengthy debug session with Markus Kilbinger (Thanks again!), we managed to kill the following SCSI-driver bugs for the Falcon: - The Byte_Count_zero bit of the falcon DMA controller does not always tell the truth! This caused the SCSI-driver to choke on devices that disconnected in the middle of a DMA-transfer (mostly removables). - Printing debug info about the 5380 on the Falcon is *only* permitted when DMA is not active. - Some functions forgot to remove possibly pending sofware interrupts - Some debug options didn't allow debugging a single target while they could easily be made to do so. This is fixed.
|
1.15 |
| 18-Jun-1996 |
leo | Pull down from release. Sorry, should have been the other way around....
|
1.14 |
| 15-May-1996 |
leo | branches: 1.14.4; Prototype + -Wall fixes.
|
1.13 |
| 26-Apr-1996 |
leo | - Fixup the ipending function for the Falcon. This seemed to be the source of a lot of instability problems on the Falcon. I also enabled DMA on interrupt basis for the Falcon. - Try to handle targets that request too much data more sanely. - Some fixups for strict prototypes + -Wall
Thanks to Markus Kilbinger for providing the debugging support.
|
1.12 |
| 18-Apr-1996 |
leo | Yet more prototyping and -Wall fixes.
|
1.11 |
| 12-Apr-1996 |
leo | Prototyping.
|
1.10 |
| 17-Mar-1996 |
thorpej | New device attachment scheme:
- split softc size and match/attach out from cfdriver into a new struct cfattach.
- new "attach" directive for files.*. May specify the name of the cfattach structure, so that devices may be easily attached to parents with different autoconfiguration semantics.
|
1.9 |
| 08-Mar-1996 |
leo | Just prototyping.
|
1.8 |
| 22-Feb-1996 |
leo | A bit of reshuffling. Also some stricter prototyping.
|
1.7 |
| 14-Feb-1996 |
leo | Oops, should have been updated in conjunction with ncr5380.c .
|
1.6 |
| 02-Feb-1996 |
mycroft | Fix #includes.
|
1.5 |
| 14-Jan-1996 |
leo | The changes frpm Paul Goyette with respect to the driver trace require DBG_PID to be defined to an interger value....make it so.
|
1.4 |
| 05-Oct-1995 |
leo | Get in sync with the mac68k version to incorporate Allen Briggs' changes - emit MSG_ABORT/MSG_REJECT at the right times: - make MIN_PHYS machine dependent.
|
1.3 |
| 16-Sep-1995 |
leo | - Handle devices that do not support identify messages (Allen Briggs) - Add pdma_ready() hook (Allen Briggs) - Increase timeout to 1000 (Matthias Pfaller)
|
1.2 |
| 19-Aug-1995 |
leo | - Add 'restbyte' handling for TT. - Don't _ever_ do DMA for less than 512 bytes on the Falcon - Fix bug in autosense-handling. Now asks for the correct number of bytes. Now it won't read ghost bytes on the tape anymore. - Add missing braces as suggested by Matthias Pfaller - Make it possible to debug requests on a specified number of targets - Add debug option to show only transaction with error code != 0
|
1.1 |
| 11-Aug-1995 |
leo | New version of NCR5380-SCSI driver. This version is far more generic than the previous version. The machine dependent part contains the configuration for both the TT and FALCON. The configuration files have been changed to select SCSI-support for either TT, Falcon or both. The configuration file for the Atari-Falcon will only get _really_ usefull when the Falcon video part is finished.
|
1.14.4.4 |
| 06-Sep-1996 |
jtc | Pulled up rev 1.17 by request from leo
|
1.14.4.3 |
| 31-Jul-1996 |
jtc | Pulled up from rev 1.16 by request from Leo Weppelman
|
1.14.4.2 |
| 20-Jul-1996 |
jtc | Pulled up from rev 1.15 by request from Leo Weppelman
|
1.14.4.1 |
| 18-Jun-1996 |
leo | Get rid of some spurious interrupts caused by pending software interrupts.
|
1.26.4.1 |
| 27-Aug-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.26.2.1 |
| 01-Jul-1997 |
bouyer | Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
|
1.28.4.1 |
| 30-Oct-1998 |
cgd | pull up rev 1.29 from trunk (leo)
|
1.29.6.1 |
| 16-Dec-1999 |
he | Pull up revision 1.30 (requested by leo): Change the way that bits are cleared in the InterruptPending register of the 68901, avoiding a read-modify-write cycle. Solves a "hanging keyboard" problem.
|
1.30.2.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.32.4.1 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.32.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.33.4.2 |
| 16-Sep-2001 |
wiz | Spell 'occurred' with two 'r's.
|
1.33.4.1 |
| 16-Sep-2001 |
wiz | file atari5380.c was added on branch nathanw_sa on 2001-09-16 16:34:29 +0000
|
1.35.2.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.35.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.35.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.35.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.37.2.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.37.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.40.12.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.40.10.1 |
| 11-May-2006 |
elad | sync with head
|
1.40.8.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.40.6.1 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.40.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.41.14.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.41.12.3 |
| 13-Nov-2008 |
snj | Pull up following revision(s) (requested by abs in ticket #1223): sys/arch/atari/dev/atari5380.c: revision 1.45 Specify volatile to some pointers to access DMA registers.
|
1.41.12.2 |
| 13-Nov-2008 |
snj | Pull up following revision(s) (requested by abs in ticket #1223): sys/arch/atari/dev/atari5380.c: revision 1.44 No need to specify '&' to get array's address. No binary changes.
|
1.41.12.1 |
| 13-Nov-2008 |
snj | Pull up following revision(s) (requested by abs in ticket #1223): sys/arch/atari/dev/atari5380.c: revision 1.43 Fix pointer arithmetic botch in rev 1.37.
|
1.42.50.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.42.50.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.42.48.1 |
| 28-Jul-2008 |
simonb | Sync with head.
|
1.42.46.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.42.44.4 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.42.44.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.42.44.2 |
| 18-Jul-2009 |
yamt | sync with head.
|
1.42.44.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.42.40.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.42.40.1 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.45.2.3 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.45.2.2 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.45.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.46.2.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.47.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.53.4.2 |
| 12-Jun-2011 |
rmind | sync with head
|
1.53.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.53.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.56.6.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.56.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.58.6.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.58.2.2 |
| 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.58.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.59.10.1 |
| 18-May-2014 |
rmind | sync with head
|
1.59.6.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.59.6.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.60.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.62.8.1 |
| 27-Sep-2017 |
jdolecek | pass ata channel interlock to st_dmagrab() so that it can release and reacquire it if it sleeps
|
1.63.4.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|