Commit Graph

34 Commits

Author SHA1 Message Date
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
thorpej
d36c43c511 Use ANSI function decls and static. 2005-06-28 00:28:41 +00:00
tsutsui
62b7a35d2d Unload xfer dmamap in pscsp_dma_stop(). 2005-01-21 14:37:58 +00:00
tsutsui
2be3acc29a u_intNN_t -> uintNN_t 2005-01-02 12:03:12 +00:00
tsutsui
036acd9295 Use ANSI function decls. 2004-09-25 11:58:19 +00:00
itojun
6123043789 pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
2004-04-23 21:13:05 +00:00
tsutsui
1508a7290a Call bus_space_{read,write}_1() directly to access ncr53c9x common registers. 2003-11-23 04:34:26 +00:00
tsutsui
da9776152f Misc cleanup:
- tweak some attach messages
- establish interrupt after all dma resouces are successfully allocated
- wrap an assertion with #ifdef DIAGNOSTIC
- assume NCRCFG2_FE bit is always enabled
- call bus_dmamap_sync for mdldmap at POSTWRITE for consistency
- pass proper dmamapsize for mdldmap
2003-11-16 18:31:45 +00:00
tsutsui
8d36037f37 Utilize bus_dma(9) functions more efficiently.
pcscp(4) is the first device driver I wrote about five years ago,
but I still have to learn about bus_dma(9) implementation...
2003-10-19 10:25:42 +00:00
tsutsui
0a43b29b75 - Update technical manual's URL.
- Remove __P().
- Remove trailing whitespace.
2003-10-12 04:12:23 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
tsutsui
26f0714b7f sparc/tab cosmetics. 2002-12-28 07:11:24 +00:00
tsutsui
41f0cf8abc - Remove code to map PCI_MAPREG_TYPE_MEM, which is not supported by 53c974.
- Print PCI devinfo in the attachment message.
2002-11-25 13:41:35 +00:00
tsutsui
1d4122d78d Remove an entry for AMD PCNETS_PCI.
AMD Am79C974 PCnet-SCSI Ethernet and SCSI conrtoller is
a multi-function PCI device which has two device IDs
of Am53C974(PCscsi-PCI) and Am79C970(PCnet-PCI),
and there is no its own ID.
2002-11-15 22:13:11 +00:00
thorpej
b75a007d9f Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
thorpej
387fc6dc87 Use CFATTACH_DECL(). 2002-09-30 20:37:04 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
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