Commit Graph

201 Commits

Author SHA1 Message Date
eeh 0d30ddb30a Properly initialize sc->sc_bustag and sc->sc_dmatag; 2001-09-12 20:09:53 +00:00
eeh 317da99cfe Properly initialize sc->sc_bustag. 2001-09-12 19:35:35 +00:00
pk 88dc67b3e1 The `ESC' DMA chip must be reset before we can access the esp registers. 2001-09-11 10:50:52 +00:00
mjacob 6bb9f4a949 Add support for 2 Gigabit cards (2300/2312). This necessitated a change
in how interrupts are down- the 23XX has not only a different place to check
for an interrupt, but unlike all other QLogic cards, you have to read the
status as a 32 bit word- not 16 bit words. Rather than have device specific
functions as called from the core module (in isp_intr), it makes more sense
to have the platform/bus modules do the gruntwork of splitting out the
isr, semaphore register and the first outgoing mailbox register (if needed)
*prior* to calling isp_intr (if calling isp_intr is necessary at all).
2001-09-01 07:12:23 +00:00
mjacob 48e09f672e twiddle isp_xflist calculation to match more closes isp_pci.c 2001-07-06 16:09:38 +00:00
mrg c13e3a6693 use _KERNEL_OPT 2001-05-30 11:40:35 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
bouyer 937a7a3ed9 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
2001-04-25 17:53:04 +00:00
mjacob f13ec50e47 Clean up bus dma code for request/response queues. 2001-04-12 21:40:56 +00:00
jdolecek 745ab257dc Put back all header files defining ioctls 2001-04-11 19:07:36 +00:00
jdolecek 372e5956ef Only install headers which are actually used by our userland. This
saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@
recently.

I HOPE to get the list right. The headers I left in are ones
used for MI tools and those whose usage I discovered by grep over tree sources.
Feel free to put needed includes back in if you encounter anything which
should not be removed from lists.
2001-04-11 07:42:31 +00:00
christos 95fda43dd5 make all debugging messages conditional on sc->sc_debug. 2001-03-30 17:30:18 +00:00
petrov b0605f71d5 fas support added 2001-03-29 02:58:38 +00:00
pk 4cefebdf8d Fix fall-out from previous change: the map's DMA address is valid only
after bus_dmamap_load().
2001-03-20 15:39:20 +00:00
mjacob 272082c697 ansify code 2001-03-14 06:58:25 +00:00
thorpej c8f050a7f1 Use bus_dmamap_load(), not bus_dmamap_load_raw(), and add
BUS_DMA_STREAMING to data transfer map loads.
2001-03-08 02:21:44 +00:00
thorpej 00ddf90164 Use bus_dmamap_load(), not bus_dmamap_load_raw(). 2001-03-08 02:20:39 +00:00
mrg 7fa2fd24b4 match SUNW,qfe; PR#12301 from Rob Quinn <rquinn@sprint.net> 2001-02-28 14:52:48 +00:00
mjacob 0adf4d13bb Oh, god, make the pain stop. "Fix" this one more time- but for the next
to last time.

It turns out that in fact, sparc64 was *not* working. There is a discussion
within the tech-kern@netbsd.org mail list as of just prior to this date
that contains the details.

Suffice to say that for sparc64 we have to add back in the usage
of BUS_DMA_COHERENT again to the call to bus_dmamap_load_raw. PK
added the usage of bus_dmamap_load_raw- which agrees with the
man page description of it- but now does not match what the
original BusDma author seems to think it's supposed to do.

While we're at it, do a specific set of steps for setting up and,
if necessary, tearing down, mailbox dma mappings.
2001-02-28 05:46:46 +00:00
mjacob 0dce6b45bc this was *still* wrong 2001-02-25 01:49:18 +00:00
mjacob 9d2a3fb24d More Kudos to Izumi: fix another argument to bus_dmamap_sync 2001-02-25 01:44:02 +00:00
mjacob d5f967e27f Now that the underlying code for bus_dmamap_sync appears to do the
right thing, don't use the illegal and "just worked by chance" addition
of BUS_DMA_COHERENT to bus_dmamap_load_raw. There still is a necessity
to add to the architecture to allow one to hint that this should be
a cache coherent mapping.

Fix offset argument to be zero for flushing data tranfers. Kudos to Izumi
for spotting this.
2001-02-24 23:30:01 +00:00
mjacob e8ae80a071 Add missing BUS_DMA_COHERENT to bus_dmamap_load_raw calls for request
and response queues- this makes this work on UltraSparc now.
2001-02-23 23:57:47 +00:00
mjacob 3744fa3f33 Implement bootverbose recognition. Move interrupt registry up a bit so we can
use interrupting mailbox commands for isp_init. Set default HBA role.
Rename request/response dma maps to be more consistent with PCI version.
Enable bus_dmamap_sync on request queue- we already do this for response
queue- better do it for the request queue as well.

Checked to be working against a Sparc10.
2001-02-23 17:28:58 +00:00
thorpej 372338915a Use splnet() to block network interrupts, not splimp(). 2001-01-14 17:37:41 +00:00
mrg c5802f9f90 avoid unused variables if not RASTERCONSOLE 2001-01-07 05:41:50 +00:00
wiz c8b0b91e7e Fix pathnames in comment. 2000-12-23 01:37:57 +00:00
thorpej a64a0f8137 ALTQ'ify. 2000-12-14 07:15:45 +00:00
martin d9d7c42e0c Remove esp specific function from ddb when esp @ sbus is not included
in the kernel config. Makes compiling sbus-less kernels possible again.
2000-12-08 17:29:12 +00:00
fvdl 245940b894 Clean up warnings in 32bit compile (bus_space_handle_t is 64bit wide
but will only contain 32bit values; casting via u_long is safe)
2000-12-04 20:17:10 +00:00
fvdl e58fff48bf Avoid compile warning on sparc64 32bit. sc_buffer doesn't seem to be
used at all, this line can probably be removed.
2000-12-04 20:12:55 +00:00
eeh 2a50931a1c Turn on TAG QUEUE support and add some debug stuff. 2000-12-03 23:31:13 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
eeh 507aaec04c Adapt to the new line discipline scheme. 2000-11-02 00:01:44 +00:00
eeh 55fd5a2fb0 Pass along the bus frequency too, for devices that need it. 2000-11-01 06:18:45 +00:00
eeh 34ed153955 Fix warning in a debug printf. 2000-11-01 06:17:32 +00:00
eeh f9a51c7b15 Clean up a #define that doesn't belong. Oops. That's what I get for
working this late.
2000-10-31 08:06:14 +00:00
eeh 37486bb837 Get the bpp driver to work properly. 2000-10-31 06:32:06 +00:00
mjacob 0a481d850d fix SBus bursting *correctly* this time 2000-10-22 03:04:50 +00:00
mrg 0c6aa8d3ed ensure DMA mappings are not mapped streamable. fixes ethernet problems on
ultrasparc sbus class machines.  from eeh.
2000-10-20 06:08:02 +00:00
mrg 3af567c485 rework to use bus_dmamem_map() then bus_dmamem_load(), rather than
bus_dmamem_load_raw() then bus_dmamem_map().

tested on SS2 and SS5 and sbus cards.
2000-10-20 05:57:50 +00:00
mjacob cecccb23b2 quiet chatty boot messages 2000-10-17 17:39:10 +00:00
mjacob 7cc31292b3 Turn on 32 byte bursting for ISP 2000-10-16 05:13:13 +00:00
pk aa6df7169b yank error. 2000-09-12 19:13:30 +00:00
pk 17e5f7b17c Declare drivers moved here from arch/sparc. 2000-08-22 21:31:16 +00:00
pk d29f2ce630 Get tcxreg.h from the correct location. 2000-08-22 21:18:57 +00:00
pk 124d256269 Move these SBus drivers here from arch/sparc. 2000-08-20 22:27:07 +00:00
pk 5a308cf392 Split & move cgthree sbus attachment from arch/sparc. 2000-08-20 19:59:46 +00:00
pk 7857ad0b81 Move cgsix and bwtwo Sbus attach code here from arch/sparc. 2000-08-20 14:33:25 +00:00
mjacob d8aef491c1 Add a maintenance note. Add a bus specific isp_sbus_intr function- this is
so we, ahem, note we're on an interrupt stack so we don't try and sleep
on any mailbox commands we might want to run.
2000-08-14 07:00:08 +00:00