Commit Graph

17 Commits

Author SHA1 Message Date
lukem 9048aaae21 add RCSID 2001-11-13 07:48:40 +00:00
thorpej 44e529fecc Use BUS_DMA_READ and BUS_DMA_WRITE in some obvious places. 2001-07-19 16:36:14 +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
petrov ae964a3f9b use NCR_F_DMASELECT instead ncr53c9x_dmaselect 2001-03-29 03:26:52 +00:00
thorpej 6665b106a3 Add BUS_DMA_STREAMING to data transfer map loads. 2001-03-08 02:36:35 +00:00
sommerfeld 851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
thorpej cfe0892ed3 NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
tsutsui 8c4d1bf1f9 Adapt MI ncr53c9x changes. 2000-06-05 15:08:00 +00:00
tsutsui f44619d89d KNF some lines. 2000-06-02 18:34:05 +00:00
tsutsui 979d79d931 Use sc_cfg4 for the Am53c974. 2000-03-20 05:48:28 +00:00
tsutsui 7fcb8a3a8c minor cosmetic 2000-01-14 13:20:17 +00:00
thorpej 3716f21b7e Use htole32(). 1999-12-12 02:50:40 +00:00
thorpej 63b8530b4e Update for SCSPI changes. 1999-09-30 23:04:39 +00:00
mhitch 7460a0be93 Set sc_cfg3_fscsi for the AMD53C974 to match the change in ncr53c9x.c. 1999-09-22 03:32:00 +00:00
thorpej 4c7a2ee3b0 Fix a couple of problems in the PCscsi-PCI driver:
* resid in pcscp_dma_intr() should also be set in the data out phase.
* Don't set up DMA in the transfer pad operations.
* Change URL of the PDF technical manual to the index page.
* include <machine/bswap.h> on big endian machines.

Fixes timeouts writing large blocks to tapes.  From Izumi Tsutsui,
PR 7252.
1999-04-25 01:20:02 +00:00
thorpej c35b8b591b One more cosmetic change, from Izumi Tsutsui. 1999-01-08 19:55:17 +00:00
thorpej 671d0ae88d Device driver for the AMD Am53c974 PCscsi-PCI SCSI chip (i.e. the chip used
on the Tekram DC-390 SCSI cards), from Izumi Tsutsui, PR#6654.  Minor
cosmetic changes by me.
1999-01-06 23:23:33 +00:00