Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/amiga/dev/sbic.c
RevisionDateAuthorComments
 1.75  09-Mar-2016  christos PR/50928: David Binderman: Clarify precedence with parentheses.
 1.74  19-Jan-2015  phx Make it compile with -DDEBUG again.
 1.73  07-Aug-2014  joerg branches: 1.73.2; 1.73.4; 1.73.8;
Drop extra ().
 1.72  22-Jan-2014  christos branches: 1.72.2;
gcc-4.8.x unused variable fixes
 1.71  27-Oct-2012  chs branches: 1.71.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.70  07-Jul-2011  mrg branches: 1.70.2; 1.70.12;
apply some parens around an expression to get the desired behaviour,
as suggested by gcc 4.5
 1.69  20-Dec-2010  matt Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
 1.68  18-Oct-2010  phx opt_m68k_arch.h can only be included when compiling for amiga/68k.
 1.67  06-Jun-2010  mrg fix PR 6724 - convert m68k options to defflag's. this means that
M680[12346] are now available from opt_m68k_arch.h. FPSP meantioned
in the PR has already been fixed, and i could not find any more.

i built these kernels to ensure i did not break their builds:

amiga: GENERIC DRACO
atari: HADES FALCON MILAN-PCIIDE
mac68k: GENERIC
sun2: GENERIC
sun3: GENERIC GENERIC3X
cesfic: attempted GENERIC, does not build due to lack of machine/bus.h
hp300: GENERIC
luna68k: GENERIC
mvme68k: GENERIC
news68k: GENERIC
next68k: GENERIC
x68k: GENERIC
 1.66  05-Feb-2010  phx branches: 1.66.2; 1.66.4;
Added two new macros to device.h:
amiga_membarrier() enforces a reorder protection on memory read/writes.
amiga_cpu_sync() makes sure the instruction pipelines are flushed.
Both macros may be used in all amiga device drivers for compatibility with
amigappc. For the start I fixed some SCSI drivers.
cbiiisc and ahsc were tested and seem to work really fast with DMA now.
Some stability problems with amigappc remain nevertheless (spontaneous
kernel DSI traps with high CPU/SCSI load).
 1.65  26-Oct-2009  cegger kill extra whitespaces
reviewed by tsutsui@
 1.64  18-Mar-2009  cegger bcopy -> memcpy
 1.63  18-Mar-2009  cegger bzero -> memset
 1.62  17-Oct-2007  garbled branches: 1.62.20; 1.62.28; 1.62.34;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.61  20-Aug-2007  is branches: 1.61.2;
First part of amigappc support patches by Frank Wille.
 1.60  09-Jul-2007  ad branches: 1.60.4; 1.60.8;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.59  04-Mar-2007  christos branches: 1.59.2; 1.59.4; 1.59.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.58  13-Sep-2006  spz branches: 1.58.6;
change the variable name in the CSR_TRACE macro so it doesn't collide with
a previous definition of 's' (which makes gcc4 warn)
Reviewed by <is>.
 1.57  08-Mar-2006  lukem branches: 1.57.10;
Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
 1.56  11-Dec-2005  christos branches: 1.56.4; 1.56.6; 1.56.8; 1.56.10;
merge ktrace-lwp.
 1.55  13-Jun-2005  jmc branches: 1.55.2;
Fix a ton of const/volatile issues shown with new warning flags
 1.54  22-May-2005  christos No 0x in front of %p...
 1.53  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.52  18-Jun-2003  drochner branches: 1.52.2;
don't #include <sys/dkstat.h> where it is (appearently) unused
 1.51  03-May-2003  wiz DMA, not dma nor Dma.
 1.50  01-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.49  27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.48  30-May-2002  thorpej Remove unnecessary assignments (for which the operation may be
undefined).
 1.47  30-May-2002  thorpej Nuke a trigraph.
 1.46  28-Jan-2002  aymeric branches: 1.46.8; 1.46.10;
add __KERNEL_RCSID as suggested by Luke Mewburn
 1.45  26-Jan-2002  aymeric - ANSIfy
- remove some trailing spaces/tabs
- minor style nits
 1.44  22-Jul-2001  wiz branches: 1.44.6;
seperate -> separate
 1.43  25-Apr-2001  bouyer branches: 1.43.2;
Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.42  29-Jun-2000  mrg branches: 1.42.2;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.41  27-Jun-2000  mrg remove redudant <vm/pmap.h> includes. <vm/pmap.h> -> <uvm/uvm_pmap.h>
 1.40  26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.39  23-Mar-2000  thorpej New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.38  18-Jan-2000  thorpej Remove one line of junk.
 1.37  01-Nov-1999  is Don't call the sc->sbic_dmago() function if the data length is zero.
This avoids a zero pointer dereference, which fixes PR 8571.
Make sbic_dmago() report selection timeouts to the upper layer.
This makes sbic really work again with 1.4L.
 1.36  04-Oct-1999  is branches: 1.36.2; 1.36.4; 1.36.6;
Make this compile with -DDEBUG again.
 1.35  30-Sep-1999  thorpej Update for SCSIPI changes.
 1.34  05-Nov-1998  frueauf branches: 1.34.6;
Add braces to make egcs happy.
 1.33  21-Aug-1998  is Prepare for support of Apollo-cpuboard-reworked A3000 mainboard SCSI.
 1.32  04-Jul-1998  jonathan defopt DDB.
 1.31  24-May-1998  is Back out the defopt for M680?0. As pointed out to me, this breaks ports which
dont use the M680?0 the way Amiga, Atari, Mac68k, and X68k do. I must have
missed this in the past discussion about this project.
 1.30  23-May-1998  is Move M680[2346]0 to opt_m68kcpu.h.
XXX Some explicit dependencies could be removed now from the individual
arch/$ARCH/conf/Makefile.$ARCH files, but this is still to be done.
 1.29  27-Aug-1997  bouyer branches: 1.29.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.28  13-Oct-1996  christos branches: 1.28.8; 1.28.10;
backout previous kprintf change
 1.27  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.26  10-Jun-1996  is Activate M68040 cache flushing code also in 68060 only kernels.
 1.25  12-May-1996  mhitch branches: 1.25.4;
Remove old-style disk instrumentation now that iostat, systat, and
vmstat are fixed.
 1.24  01-May-1996  mhitch More cleanup for -Wall with DEBUG.
 1.23  21-Apr-1996  veego - Cleanup for -Wall and -Wstrict-prototypes
- Added support for multiple floppy drives
- CyberVision64:
- has now a real console mode
- another bugfix for boards with the new S3 chip
- Ariadne:
- fixed crashes with aeput (mbuf failure)
 1.22  23-Mar-1996  is It looks like the sense_data structure lost the extended_ prefix in the
name of some of its members. Adapt sbic.c to this. (Fixes PR 2245)
 1.21  07-Jan-1996  thorpej New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
 1.20  30-Nov-1995  jtc merge in changes from 1.1 release branch
 1.19  05-Oct-1995  chopps branches: 1.19.2;
Only enable timeouts (debugging) when actually transfering data.
from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.18  29-Sep-1995  chopps move 040 to hp300 style, use new MI lance ethernet driver
a few minor fixes WRT prototypes.
if_le from Charles rest from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.17  16-Sep-1995  chopps Add minimal dumpfile support.
Fix a bug in pt_enter_ptpage which caused MMU faults on low-mem conditions.
Change siop drivers to better handle sync.
Remove diag. done for ide -- its redundant as the ROM does similar.
fixed ite_filter to not panic if typing before the device is fully setup
All thanks to osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.16  04-Sep-1995  chopps sbic and board changes from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.15  24-Aug-1995  chopps couple fixes from Eduardo E. Horvath eeh@btr.com
 1.14  18-Aug-1995  chopps SCSI disconnects: siop from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
and sbic from "Eduardo E. Horvath eeh@btr.com" <eeh@btr.btr.com>

Other cleanup (remove cpu040) and enabling IVS A500 support
from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.13  12-Aug-1995  mycroft minphys() functions really should return void.
 1.12  24-Jul-1995  cgd update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
 1.11  02-Mar-1995  chopps fix long standing bug with A2091 and dma.
Move the copy from bounce buffer after dmafree() in the case of
the A2091 this allows the dma fifo to be flushed.
from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.10  12-Feb-1995  chopps Many changes from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
Now use amiga HW for soft interrupts, non-contig options (2 or many chunks),
interrupt handler lists, 4066 ethernet, 1291 scsi, option to defer level 6
interrupts to level 4 (deal with icky built-in serial port)
 1.9  26-Jan-1995  chopps apply patch to fix some renagade drives. from Eduardo E. Horvath (eeh@btr.com)
also enable sync by default.
 1.8  05-Jan-1995  chopps catchup with scsi changes from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.7  28-Dec-1994  chopps consolidate the zbusses. le support for multiple tx buffs and full use of 32k
RAM. AGA dbl PAL mode added for console. Many changes to siop--most not
yet done. All from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.6  26-Oct-1994  cgd new RCS ID format.
 1.5  20-Jun-1994  chopps don't set 040 specific flush flag if not 040 system.
 1.4  15-Jun-1994  chopps clock now uses passed in frequency if present protect dma cache
flush calls from non 040. don't compile ite_xx if not used.
 1.3  14-Jun-1994  chopps don't flush cache on context switches for 040's, reduce flushing
on dma operations. code from me and Michael Hitch
 1.2  12-May-1994  chopps ifdef out use of scsi_xfer->req_sense_length for now..
 1.1  08-May-1994  chopps resistance is futile, you will be assimilated.
amiga goes: config.new *and* /sys/scsi.
clock code coerced into a single .c file adding an accurate usec delay().
disklabel.c updated to DTRT, code to write RDB's to be added soon.
sbic (old scsi) converted over to new scsi and config this covers about
90% of users. Other drivers soon.
 1.19.2.1  24-Nov-1995  chopps add sync flag to booter and use in scsi devs instead of binpatch
 1.25.4.1  10-Jun-1996  is Pull up bug fix from main branch:
activate M68040 style dma flush also on M68060 only kernels.
 1.28.10.1  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.28.8.1  01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.29.4.1  19-Jan-1999  cgd pull up rev 1.33 from trunk (is)
 1.34.6.1  05-Oct-1999  he Pull up revision 1.36 (requested by is):
Make this compile with -DDEBUG.
 1.36.6.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.36.4.1  15-Nov-1999  fvdl Sync with -current
 1.36.2.3  29-Mar-2001  bouyer Make these pass a compile test on i386.
 1.36.2.2  29-Mar-2001  bouyer Port to thorpej_scsipi.
 1.36.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.

I updated the amiga SCSI drivers, but completely untested yet (may not even
compile)
 1.42.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.43.2.4  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.43.2.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.43.2.2  11-Feb-2002  jdolecek Sync w/ -current.
 1.43.2.1  03-Aug-2001  lukem update to -current
 1.44.6.4  18-Oct-2002  nathanw Catch up to -current.
 1.44.6.3  20-Jun-2002  nathanw Catch up to -current.
 1.44.6.2  28-Feb-2002  nathanw Catch up to -current.
 1.44.6.1  22-Jul-2001  nathanw file sbic.c was added on branch nathanw_sa on 2002-02-28 04:06:58 +0000
 1.46.10.1  30-May-2002  tv Pull up revision 1.47 (requested by thorpej in ticket #96):
Nuke a trigraph.
 1.46.8.1  09-Jul-2002  gehenna catch up with -current.
 1.52.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.52.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.52.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.52.2.1  03-Aug-2004  skrll Sync with HEAD
 1.55.2.3  03-Sep-2007  yamt sync with head.
 1.55.2.2  30-Dec-2006  yamt sync with head.
 1.55.2.1  21-Jun-2006  yamt sync with head.
 1.56.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.56.8.2  14-Sep-2006  yamt sync with head.
 1.56.8.1  13-Mar-2006  yamt sync with head.
 1.56.6.1  22-Apr-2006  simonb Sync with head.
 1.56.4.1  09-Sep-2006  rpaulo sync with head
 1.57.10.1  18-Nov-2006  ad Sync with head.
 1.58.6.1  12-Mar-2007  rmind Sync with HEAD.
 1.59.10.1  03-Oct-2007  garbled Sync with HEAD
 1.59.4.1  11-Jul-2007  mjf Sync with head.
 1.59.2.2  09-Oct-2007  ad Sync with head.
 1.59.2.1  15-Jul-2007  ad Sync with head.
 1.60.8.1  03-Sep-2007  jmcneill Sync with HEAD.
 1.60.4.1  03-Sep-2007  skrll Sync with HEAD.
 1.61.2.1  06-Nov-2007  matt sync with HEAD
 1.62.34.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.62.28.1  28-Apr-2009  skrll Sync with HEAD.
 1.62.20.3  11-Aug-2010  yamt sync with head.
 1.62.20.2  11-Mar-2010  yamt sync with head
 1.62.20.1  04-May-2009  yamt sync with head.
 1.66.4.2  05-Mar-2011  rmind sync with head
 1.66.4.1  03-Jul-2010  rmind sync with head
 1.66.2.2  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.66.2.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.70.12.3  03-Dec-2017  jdolecek update from HEAD
 1.70.12.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.70.12.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.70.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.70.2.1  30-Oct-2012  yamt sync with head
 1.71.2.1  18-May-2014  rmind sync with head
 1.72.2.1  10-Aug-2014  tls Rebase.
 1.73.8.1  18-Jan-2017  skrll Sync with netbsd-5
 1.73.4.2  19-Mar-2016  skrll Sync with HEAD
 1.73.4.1  06-Apr-2015  skrll Sync with HEAD
 1.73.2.1  03-Jan-2017  snj Pull up following revision(s) (requested by mlelstv in ticket #1345):
sys/arch/amiga/dev/sbic.c: revision 1.74
Make it compile with -DDEBUG again.

RSS XML Feed