Home | History | Annotate | Download | only in hpc
History log of /src/sys/arch/sgimips/hpc/hpcdma.c
RevisionDateAuthorComments
 1.22  13-Dec-2023  andvar Add (intptr_t) casts to fix "cast to pointer from integer of different size",
mainly for GENERIC64_32_* configs.
Also change segp->ds_len format specifier to %lld, which fixes DMA_DEBUG build.
 1.21  01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.20  25-Jan-2011  tsutsui Some KNF and cosmetics.
 1.19  25-Jan-2011  tsutsui u_intNN_t -> uintNN_t
 1.18  25-Jan-2011  tsutsui Small bus_dma(9) tweaks:
- call bus_dmamap_create(9) after bus_dmamem_alloc(9) and bus_dmamem_map(9)
return successfully
- no need to use PAGE_SIZE for size of descriptor dmamap
- use bus_addr_t to store DMA address
- BUS_DMASYNC_PREWRITE is enough for host-to-device only descriptors

Tested on R5000 Indy.
 1.17  14-Dec-2009  matt branches: 1.17.4; 1.17.6; 1.17.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.16  10-May-2008  martin branches: 1.16.16;
Backout previous: the license sweep touched these files in error, so
restore the old license.
 1.15  28-Apr-2008  martin branches: 1.15.2;
Remove clause 3 and 4 from TNF licenses
 1.14  17-Oct-2007  garbled branches: 1.14.20;
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.13  23-Jul-2007  he branches: 1.13.6;
After move to 64-bit paddr_t, cast via vaddr_t before casting to void*.
OK'ed by macallan@.
 1.12  04-Mar-2007  christos branches: 1.12.2; 1.12.10; 1.12.12; 1.12.14;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.11  11-Dec-2005  christos branches: 1.11.26;
merge ktrace-lwp.
 1.10  30-Dec-2004  rumble branches: 1.10.10;
Prepend HPC3 macros universally with "HPC3_" to distinctly recognise
the corresponding revision and maintain consistency with HPC1.

No functional change intended.
 1.9  29-Dec-2003  sekiya Fixes to HPC abstraction layer from Steve Rumble:

- hpc1_hdd_{ctl,bufptr} and hpc3_hdd_{ctl,bufptr} are
established in hpcreg.h. All references to these fields
are updated with the exception of if_sq: (haltwo,
hpcdma). This makes reading the code and spotting bugs
easier.
- hpcdma.c was applying EOCHAIN to the wrong descriptor
word for the hpc1 case.
- I added scsi_max_xfer to the abstraction layer, and it
allows some crusty #defines in wdsc.c to be removed.
hpc1 now doesn't waste descriptors as it once did.
- hpcreg.h was updated to reflect the lack of XMITDONE
bit in hpc1. HPC1_REV15 added for a test in hpc.c
- hpc.c now verifies HPC1 revisions (1.0 vs 1.5) and
prints the output a little prettier ;)
- power interrupts shouldn't establish on non-IP22
platforms.
 1.8  16-Dec-2003  sekiya Introduce abstraction layer for HPC registers and values, which addresses the
divergence between HPC revision 1.5 and revision 3.

The wdsc driver has been updated to reflect this layer (and may now work on
IP20). The sq driver needs a bit more work before it can be committed.
 1.7  15-Jul-2003  lukem __KERNEL_RCSID()
 1.6  02-Apr-2003  thorpej branches: 1.6.2;
Use PAGE_SIZE rather than NBPG.
 1.5  09-Nov-2002  thorpej Avoid a strict-aliasing warning from GCC 3.3.
 1.4  13-Mar-2002  simonb Replace lots of 8x<space> with <tabs> and other miscellaneous indentation
fixes.
Wrap a couple of long lines.
Use <return-type>\n<function name> as per KNF in a few places.
 1.3  18-Nov-2001  thorpej * Clean up HPC autoconfiguration a little. Pass device register and
DMA register offsets, as well as IRQ, to children. Use direct
config. Use machine type/subtype to determine which devices are
present.
* Add support for the second SCSI controller on the Indigo2.
 1.2  18-Nov-2001  thorpej * Add a callback to the front-end for the 33c93 driver to reset
the controller/SCSI bus.
* Implement controller/SCSI bus reset on SGI HPC3 SCSI using the
"channel reset" bit in the SCSI DMA channel control register.
 1.1  19-Aug-2001  wdk branches: 1.1.2; 1.1.8;
Initial implementation of WD33C9x SCSI driver for SGI IP22 platforms.

Based on mvme68k and Atari drivers for the same chipset with the
addition of bus_space support. Attempts have been made to seperate out the
machine dependent dma components and more work is required in this area.

Tested on SGI R4K Indy, but has little testing on other platforms.
 1.1.8.4  11-Nov-2002  nathanw Catch up to -current
 1.1.8.3  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.1.8.2  08-Jan-2002  nathanw Catch up to -current.
 1.1.8.1  19-Aug-2001  nathanw file hpcdma.c was added on branch nathanw_sa on 2002-01-08 00:27:27 +0000
 1.1.2.4  16-Mar-2002  jdolecek Catch up with -current.
 1.1.2.3  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.2  25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.1.2.1  19-Aug-2001  thorpej file hpcdma.c was added on branch kqueue on 2001-08-25 06:15:49 +0000
 1.6.2.4  17-Jan-2005  skrll Sync with HEAD.
 1.6.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.6.2.1  03-Aug-2004  skrll Sync with HEAD
 1.10.10.1  03-Sep-2007  yamt sync with head.
 1.11.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.12.14.1  15-Aug-2007  skrll Sync with HEAD.
 1.12.12.1  07-Aug-2007  matt Sync with HEAD.
 1.12.10.1  03-Oct-2007  garbled Sync with HEAD
 1.12.2.1  20-Aug-2007  ad Sync with HEAD.
 1.13.6.1  06-Nov-2007  matt sync with HEAD
 1.14.20.1  11-Mar-2010  yamt sync with head
 1.15.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.16.16.1  10-Sep-2009  matt Add preliminary LP64 support for sgimips
 1.17.8.1  08-Feb-2011  bouyer Sync with HEAD
 1.17.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.17.4.1  05-Mar-2011  rmind sync with head

RSS XML Feed