Commit Graph

44 Commits

Author SHA1 Message Date
tsutsui 7421586212 Restore Technical manual's URL. 2008-08-28 16:47:10 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
tsutsui 78a1d236b6 Split device_t/softc for MI ncr53c9x and some related devices,
with various cleanup.
2008-04-13 04:55:52 +00:00
cegger 9d57c80079 use aprint_*_dev and device_xname 2008-04-10 19:13:36 +00:00
ad a2a3828545 machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h 2007-10-19 11:59:34 +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
christos 168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
christos 4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
tsutsui 9c9326fb6d Free one more resource on attach failure. 2006-04-28 15:42:18 +00:00
tsutsui 0761a7c180 Free resources if attach fails. 2006-04-11 18:10:27 +00:00
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