summaryrefslogtreecommitdiff
path: root/sys/arch/next68k/dev/esp.c
AgeCommit message (Collapse)Author
2023-02-03Make local functions static.tsutsui
2023-02-03Misc cleanup.tsutsui
- use C99 designated initializer - misc KNF - TAB/space cleanup
2023-01-27next68k: Fix silent stall of next68k esp(4) SCSI.tsutsui
next68k esp(4) driver requires nextdma(4) interrupts at ipl 6 during ncr53c9x_intr() for esp(4) at ipl 3. It worked on netbsd-5 and prior, but on netbsd-5 splbio() was changed from ipl 3 to 6 for SMP support and on netbsd-6 ncr53c9x driver was changed to use mutex(9) instead of simple_lock(9), so nextdma interrupts were no longer raised during ncr53c9x interrupt handler. For now, just call mutex_exit(9) and mutex_enter(9) during waiting nextdma(4) interrupts in MD esp_dma_intr() handler. This could be wrong and the interrupt handler for nextdma should be reorganized, but it just works. Should be pulled up to netbsd-10 and netbsd-9.
2017-03-31 Remove extra 0x. This bug was added when replacing bitmask_snprintf(9) withmsaitoh
snprintb(3) (in between NetBSD 5 and 6). Old bitmask_snprint(9) didn't add 0x" automatically for hexadecimal value, so old code used it with "0x%s".
2014-03-29fix misplaced linechristos
2014-03-27correct/add protection against snprintf overflow.christos
2014-03-25fix sprintf debugging mess.christos
2012-10-27split device_t/softc for all remaining drivers.chs
replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
2009-11-23Use lwp_getpcb() on m68k ports, clean from struct user usage.rmind
2009-09-02Some backends may use ncr53c9x_abort(), so remove static declaration fromtsutsui
the function and explicitly declare it in ncr53c9xvar.h. Noticed by he@.
2008-12-16replace bitmask_snprintf(9) with snprintb(3)christos
2008-04-28Remove clause 3 and 4 from TNF licensesmartin
2008-04-13Split device_t/softc for MI ncr53c9x and some related devices,tsutsui
with various cleanup.
2007-03-05Fix caddr_t fallout. Well, this driver is too ugly to read...tsutsui
2007-03-04Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.christos
2006-03-08Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.lukem
Add a space between numbers and Hz unit.
2005-12-11merge ktrace-lwp.christos
2005-05-17Yes, it was a cool trick >20 years ago to use "0123456789abcdef"[a] tochristos
implement, xtoa(), but I think defining the samestring 50 times is a bit too much. Defined HEXDIGITS and hexdigits in subr_prf.c and use it...
2005-01-19de-__P, remove register, ansify.chs
2004-02-24occured -> occurred. From Peter Postma.wiz
2003-12-04netbsd.org -> NetBSD.orgkeihan
All "netbsd.org" is now gone from src/sys/arch.
2003-09-27make gcc3's `deprecated use of label at end of compound statement' go awaycl
2003-07-15__KERNEL_RCSID()lukem
2003-05-03DMA, not dma nor Dma.wiz
2003-04-02Use PAGE_SIZE rather than NBPG.thorpej
2002-10-02Use CFATTACH_DECL().thorpej
2002-09-27Declare all cfattach structures const.thorpej
2002-09-27remove trailing \n in panic(). approved perry.provos
2002-09-21Force synchronous negotiation off even if the target initiates it, by settingmycroft
minsync to 0. It may be possible to make this work, but I don't know how.
2002-09-11Comprehensive patches from Christian Limpach:mycroft
* Fix problems with the DMA and SCSI drivers. * Make turbo machines sort of work. Additional fixes from me: * Determine if we're a turbo at boot time, by looking at the ROM machine type. * Set the display size correctly (1120 pixels wide, but padded to 1152 only on non-turbo machines). Caveats: * SCSI doesn't work on the turbo (or at least it blows chunks with no devices attached). * Media selection doesn't work on the turbo (the BMAP stuff doesn't exist on turbo machines). * The boot block is prone to timing out.
2002-07-11Apply patches from Christian Limpach:christos
- NeXT label reading support - SCSI dma fixes - media support for if_xe.c Some of these need more cleanup, but at least make SCSI support usable on the NeXT.
2002-05-20Adapt this to post thorpej-scsipi world.jdolecek
Fix provided by Christian Limpach in port-next68k/16928.
2001-05-23fix printf format strings and the call to ncr53c9x_attach() so thatchs
this compiles again.
2001-04-17increase maxsegs of esp main dma map by one to avoid errordbj
tweak esp glue to read xfer_len from dma map add some debugging checks for dma driver invariants read DD_LIMIT instead of DD_SAVED_LIMIT on scsi dma shutdowns
2001-04-16add receive ethernet bpf tapdbj
keep receive ethernet crc and set M_HASFCS change bus_dma MD fields to keep xfer_len for entire map instead of per segment turn off automatic dma restarts in preparation for changing scsi driver to handle them. add dma debugging routines to keep history of dma states tweak checking for unusual dma limit register
2001-04-07continue to tweak nextdma detection of xfer lengthdbj
add check to esp driver for incomplete transfers, but still does not handle them.
2001-04-02reenabled flushcount diagnostic check.dbj
tweaked formatting on hex dump debugging routine
2001-03-31comment out device register structure definitions, used for reference only.dbj
remove unnecessary BUS_SPACE_MAP_LINEAR when mapping ethernet dma registers.
2001-03-29use NCR_F_DMASELECT instead of ncr53c9x_dmaselectpetrov
2000-08-09%b -> bitmask_snprintf()tv
2000-06-05Have MI ncr53c9x_attach() the 2nd and 3rd arguments for scsipi_adaternisimura
and scsipi_device respectively, with size reduction of ncr53c9x_softc. Specifying NULL instructs the driver to use default adapter and default device codes. Every target port has ncr53c9x_attach(sc, NULL, NULL) anyway.
2000-06-04Implement the more flexiable `evcnt' interface as discussed (briefly) oncgd
tech-kern and now documented in evcnt(9).
1999-08-28discovered the purpose of another bit in the dma control register.dbj
DMACSR_READ is now a CSR status bit which can be used to know if current transfer is from cpu to device. the old DMACSR_READ bit is renamed DMACSR_SETREAD. This is a control bit that tells the dma transfer to be from cpu to device.
1999-03-23more minor changes, mostly in minor tweaks to debuggin output.dbj
tweaks to handling dmasize != dmalen correctly. changed minimum dma segment length for tail buffer.
1999-03-14changed dma start alignment from 4 to 16 so that the cache flushdbj
functions always have cache line aligned segments. continued experimentation with scsi driver.
1999-03-03continued experimentation trying to understand why we dropdbj
scsi write completion interrupts (the dma appears to complete ok) Now copy read tail buffer after we bus_dma_sync it and not before.
1999-03-02turn on diagnostic check in dma for controller bits at shutdown.dbj
adjusted esp overrun to avoid diagnostic check triggering.
1999-02-14Continue hacking on esp driver. Seems relatively stable in read only mode.dbj
write operations appear to lose scsi interrupts and causes timeouts. changes in this checkin include: a nextdma bugfix causing a diagnostic check to erroneously trigger Changed tail strategy to only use tail buffer for the minimal end slop changed expected write dma overrun to 32 bytes. turned on nextdma diagnostic check for dma end address since it no longer gets triggerred by ethernet dma and helps debug scsi dma. Added esp debugging printout and support.
1999-02-13Continued work on esp scsi driver. Now can at least do enough i/o to create ↵dbj
and mount a filesystem, but is not stable enough yet for general use. increased priority of ethernet interrupts, mostly useful to aid debugging of scsi interrupts while using an nfs disk. added additional debugging output in the next dma driver. perform extranneous cache flushes/purges before dma reads/ after dma writes to aid debugging of scsi dma.
1999-02-03overhalt of scsi driver.dbj
it still probes the disks ok, but is having trouble with 0xdeadbeef in buffers read from the disk. Suspected problems with DMA alignment and toggling the secret ninja dma control register