Commit Graph

105 Commits

Author SHA1 Message Date
tsutsui
d851aeff1e Set DCR_TFT[01] and DCR_RFT[01] bits of DCR register for TX/RX thresholds
in each MD attachment since optimized values could be machine dependent.
2007-06-08 17:08:46 +00:00
he
881084c9ed Well, as pointed out by is@ for the amiga port, the added indirection
is wrong.  Restore previous behaviour, and add the now appropriate cast.
2007-03-11 17:39:02 +00:00
he
582dc91458 More fixes after the caddr_t removal.
Mostly cast to char* for pointer arithmetic,
but also one missing indirection, and one "void *v, x;" fix.
2007-03-06 13:54:44 +00:00
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
gdamore
34537908ab Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@.  Fixes PR port-evbmips/32362.
2006-07-13 22:56:00 +00:00
tsutsui
0aa05e92ff Remove unused struct abus stuff. 2006-06-25 16:46:15 +00:00
tsutsui
2a8a21a021 Misc minor cleanup for arc interrupt handlers:
- always enable options MIPS3_ENABLE_CLOCK_INTR and just clear the compare
  register in cpu_intr() to make CLKF_BASE() works
  properly
- prepare only possible number of cpu_inttab
- use macro for interrupt priority number passed to arc_set_intr()
  to avoid confusion
- merge arc_hardware_intr() into cpu_intr()
- check independent timer interrupt first in cpu_intr()
- tweak MIPS_SR_INT_IE before calling hardclock timer handlers so that
  spllowersoftclock(9) will be invoked properly in hardclock(9)
- reenable interrupt for timer in cpu_intr() rather than each timer handlers

okay'ed by soda.

Note the real fix is to make CLKF_BASE() check all independent
interrupt sources including jazz and isa devices.
2006-06-24 03:50:38 +00:00
tsutsui
ec9a7dcbfd - don't forget to set _dm_vmspace in BUS_DMA_ALLOCNOW case
- also set ARC_DMAMAP_COHERENT hint in the case if buf is in KSEG1
  (I'm not sure if ALLOCNOW is worth for linear buffer, i.e. nsegs=1 case)
2006-06-15 17:06:19 +00:00
tsutsui
c51f229f25 Detect FAS216 chip on some Olivetti machines. (untested)
Based on a patch for old asc driver from Maki Kato:
http://mail-index.netbsd.org/port-arc/2000/10/07/0003.html
2006-04-15 12:41:45 +00:00
tsutsui
c234c43a71 Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file. 2006-04-15 08:49:47 +00:00
blymn
3c0adb7d99 Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.
2006-04-14 13:09:05 +00:00
yamt
ec5a93183a merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate.
  the latter is more natural to specify an address space.
  (and less likely to be abused for random purposes.)
- fix a swdmover race.
2006-03-01 12:38:10 +00:00
thorpej
458b3e43f7 Use device_parent(). 2006-02-23 05:37:46 +00:00
perry
5f1c88d70d Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:06:46 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
tsutsui
d9a0be54d3 Explicitly enable interrupts before softintr is handled as noted
in the TODO file. At least this fixes "sn0: receive buffers exhausted"
messages on my NEC-JC94.

XXX: does anyone know what "Dont reenable" comment means, which was
XXX: there since initial import of pica (not arc).
2005-11-15 15:07:36 +00:00
tsutsui
a452ef42e4 constify 2005-11-15 12:12:21 +00:00
tsutsui
5c3034f5b3 - <machine/param.h> says:
"XXX Maxphys temporary changed to 32K while SCSI driver is fixed."
  I (and soda) don't know what the "SCSI driver" is, but add local
  asc_minphys() to limit max xfer size only for asc.c for now.
- According to old asc.c driver, DMA_START() is called before NCR_CMD_DMA
  command. I'm not sure which DMAC or ASC should be started first, but
  move DMA command from asc_dma_go() to asc_dma_setup().
- Disable NCR_F_DMASELECT (which allows DMA xfer for select command)
  since it caused some problem on PICA.

Now gxemul-0.3.6.2 reaches mountroot() sd0 (but can't exec /sbin/init yet).
2005-11-06 11:09:17 +00:00
tsutsui
fdb3b14bb4 Adapt arc port to the new MI mips3 wired map functions.
Tested on NEC-RD94 with several PCI and jazzio devices.
2005-11-05 09:50:50 +00:00
yamt
aec75b1cc6 - change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
  have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
  from sys/bufq.h to sys/bufq_impl.h.
  (is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c.  (not tested)
2005-10-15 17:29:10 +00:00
tsutsui
54713c08ec Count jazzio timer interrupts by evcnt(9). 2005-08-20 17:58:49 +00:00
tsutsui
09ae8cb89e - constify
- remove arg names from prototypes
2005-06-03 12:31:38 +00:00
tsutsui
da084245a6 Add const. 2005-06-03 12:30:53 +00:00
matt
a6db24a485 Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create).  dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
2005-03-09 19:04:43 +00:00
tsutsui
ec0d5b6338 Use TAILQ_* macro. 2005-01-22 11:08:18 +00:00
tsutsui
7310abde32 Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
2005-01-22 08:43:02 +00:00
tsutsui
66f3c84b7a bzero -> memset 2005-01-22 07:44:33 +00:00
tsutsui
6f188aed1d Use M_ZERO flag for malloc(9) and remove bzero(9). 2005-01-22 07:44:08 +00:00
tsutsui
7fe2a5a003 - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
2005-01-22 07:35:33 +00:00
tsutsui
a8633fb248 Unload xfer dmamap in asc_dma_stop(). 2005-01-22 07:32:05 +00:00
yamt
05f25dcc2a move buffer queue related stuffs from buf.h to their own header, bufq.h. 2004-10-28 07:07:35 +00:00
drochner
cf8b697c65 remove license clauses 3 and 4 from my cpoyright notices 2004-03-24 17:06:57 +00:00
bjh21
dff5222d3a Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it.  This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111.  The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers.  To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned.  Thy just use rather more function pointers than before.  Tested
on i386 and (with a new host driver) acorn32.  Compiled on several other
affected architectures.
2004-03-13 17:31:33 +00:00
tsutsui
18b32ac5ba Switch arc to use MI mc146818 tod driver. 2003-10-29 18:17:49 +00:00
tsutsui
e6a659ad96 The 6th argument to extent_create() is size_t, don't pass NULL in it. 2003-10-21 16:19:04 +00:00
tsutsui
cdb8e31d33 - Count jazzio interrupts with evcnt(9).
- Misc cleanup.
2003-10-08 18:12:24 +00:00
tsutsui
143adabe3d If BUS_DMA_ALLOCNOW is specified with nsegments > 1
in jazz_bus_dmamap_create() disable BUS_DMA_ALLOCNOW for now
rather than return ENOMEM.  Required by some PCI devices (like pciide(4)).
XXX needs re-think how BUS_DMA_ALLOCNOW should be handled.
XXX (we should use another flag for the jazz internal DMAC?)
2003-08-14 09:35:26 +00:00
agc
aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
lukem
a418360342 __KERNEL_RCSID() 2003-07-15 00:04:39 +00:00
fvdl
d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
darrenr
960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
drochner
1a03e79900 don't #include <sys/dkstat.h> where it is (appearently) unused 2003-06-18 08:58:34 +00:00
tsutsui
30f71213c8 Remove unused file since asc.c switched to MI ncr53c9x. 2003-05-18 04:28:33 +00:00
tsutsui
ff776a0f93 Remove (deprecated) DMA functions in jazz/dma.c which are no longer used.
jazz/dma.h now only contains DMAC register definitions.
2003-05-04 10:07:50 +00:00
tsutsui
0bcf529e7f Rewrite jazzio asc SCSI driver to use MI ncr53c9x and bus_dma(9) with
BUS_DMA_ALLOCNOW flag for jazzio bus DMAC.

Tested on Soda's NEC Image RISCstation (which is an OEM of Acer PICA),
and should fix port-arc/13388.
2003-05-04 10:01:19 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
tsutsui
8e19dfb2ae Remove register declarations. 2003-04-27 17:05:55 +00:00
tsutsui
f640b8f9fc Add MD attachment of the 53c700 SCSI controller on arc jazzio. 2003-04-06 09:55:50 +00:00
tsutsui
3e78f52de4 Switch fdc_jazzio.c to use bus_dma(9) with BUS_DMA_ALLOCNOW flag
and to use bus_space(9) for jazzio DMAC access.
2003-02-10 15:19:44 +00:00
tsutsui
438b17bf15 Changes needed to bus_dma'fy fdc_jazzio.c and asc.c:
Modify jazz_bus_dmamap_create() to allocate jazz dmatlb
 if BUS_DMA_ALLOCNOW flag is specified and nsegment is 1.
 In this case, jazz_bus_dmamap_load() just call
 jazz_dmatlb_map_va() to map CPU VA space into jazzio
 VA space with pre-allocated TLB entries (like dma.c does).
 bus_dmamap_load_{mbuf,uio,raw} functions are not allowed
 if dmamap is created with BUS_DMA_ALLOCNOW flag.
 (i.e. ALLOCNOW is valid only for linear buffers.)
2003-02-10 14:58:37 +00:00