| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
the drivers.
* Remove legacy inx/outx support from chipset and replace with macros
which call busspace.
* Rework pci config accesses to route through the pcib device instead of
calling a MD function directly.
With these changes it is possible to cleanly support machines which have
more than one independantly numbered PCI busses. As a bonus, the new
busspace implementation should be measurably faster than the old one.
|
| |
|
|
|
|
|
| |
mdvec structure, removal of printf/CFGPRINTF in place of isp_prt
calls. Parameterization of RQUEST_QUEUE_LEN/RESULT_QUEUE_LEN.
|
|
|
|
| |
for target mode for cleanliness and accuracy.
|
|
|
|
| |
for indexing off of handles to get dma maps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Force alphas to prefer mem mapping as the default.
Basically, we have a pointer to a function which we can call which will
return us a pointer to firmware for the card we have. We call this function
(if it's non-NULL) with the address of our mdvec f/w pointer.
The way this works is that if ispfw (as a module or a static) is loaded,
it initializes the pointer in isp_pci, so we can call into to it to fetch
a pointer to a f/w set.
If ispfw is MOD_UNLOADed, it's retained a pointer to our mdvec f/w pointers,
which then get zeroed out so we don't have any references to data that's
now gone from kernel memory. Removing the f/w saves ~360KBytes.
Alas, there is no autounload mechanism that works for is here.
|
|
|
|
| |
approved: JKH
|
|
|
|
|
|
|
| |
made the initial queue entry a EXTENDED CMD queue entry, so we have to
go straight to continuation segments for any data segments.
approved: jkh
|
|
|
|
|
|
| |
Approved: jkh@freebsd.org
PR: 16141
|
| |
|
|
|
|
|
| |
in the not so odd case of Moving Data *AND* Sending Status in last CTIO *AND*
status is a CHECK CONDITION *AND* we have Sense Data to send.
|
|
|
|
| |
printouts for clarity.
|
|
|
|
|
|
| |
dma mapping callback routines to select from as target mode
entries are handled a fair bit differently from normal initiator
mode entries.
|
| |
|
|
|
|
|
|
| |
out of the PCI CLASS reg and store it in the softc. Use the getenv_quad
function to get a WWN override from the environment. Look for a config
value for same. Make slightly less lame the wwn seed construction.
|
|
|
|
|
|
| |
changes, it no longer exists and is preventing alpha kernels from building.
reviewed by: msmith
|
|
|
|
| |
firmware a bit better.
|
|
|
|
|
|
|
| |
have you is prototyped). Removed code versions in md struct- not used
any more. Allocate transfer dma maps and xflist stuff in mbxdmasetup based
upon isp->isp_maxcmds. Allow for multiple calls to mbxdmasetup (for
isp_reset cases).
|
| |
|
| |
|
|
|
|
| |
versa. Cosmetic.
|
|
|
|
| |
otherwise.
|
|
|
|
| |
don't care about the alignment, set it to 1, meaning single byte alignment.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
isp_io_map, isp_no_fwload, isp_fwload, isp_no_nvram, isp_fcduplex
which are all bitmaps of isp instances that should or shouldn't
map memory space, I/O space, not load f/w, load f/w, ignore nvram,
not ignore nvarm, set full duplex mode. Also have an isp_seed value
that we can use to generate a pseudo seed for a synthetic WWN.
Other minor cosmetic cleanup. Add in support for the Qlogic ISP
2200. Very important change where we actually check now to see
whether we were successful in mapping request and response queues
(and fibre channel scratch space).
|
| |
|
|
|
|
|
|
| |
after some of the previous commits). Add in support for the 1240
dual channel ISP card. Try the dance of unmapping a PCI interrupt
if we don't configure (if that ever works it'll be helpful).
|
|
|
|
|
|
|
|
| |
#define COMPAT_PCI_DRIVER(name,data) DATA_SET(pcidevice_set,data)
.. to 2.2.x and 3.x if people think it's worth it. Driver writers can do
this if it's not defined. (The reason for this is that I'm trying to
progressively eliminate use of linker_sets where it hurts modularity and
runtime load capability, and these DATA_SET's keep getting in the way.)
|
|
|
|
| |
hurt the driver portability to 3.x too much for where drivers are shared.
|
| |
|
|
|
|
|
| |
for early revision 2100 boards. Make sure to turn ROM off for these
boards.
|
| |
|
|
|
|
|
|
| |
gave yet another internal register layout model for what is
*still* the same architecture. I hope they saved billyuns of gates
'coz otherwise this is *really* annoying.
|
|
|
|
| |
allow us via config options prefer mem space to I/O space.
|
| |
|
|
|
|
| |
for the 1XX0 cards. That cost > 50% performance.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.
These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.
Reviewed by: Bruce Evans <bde@zeta.org.au>
Reviewed by: Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by: Mike Spengler <mks@networkcs.com>
|
| |
|
|
|
|
|
| |
that had depended on it for compilation within or without CAM to use
__FreeBSD_version instead).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ Change some messages about CCB memory allocation
+ Turn a failure to DMA map all of a transaction due to lack of
ISP queue entries into a requeue operation (instead of the
case where it had been treated the same as a DMA too big
operation).
+ put back splsoftvm around bus_dmamap_load calls.
+ cleanup (and fix a glaring bug) in the and of the dma setup
routine. Also, the dma setup routines either return CMD_QUEUED
(for success) or CMD_COMPLETE (for failure) or CMD_EAGAIN
(for requeuing for resource shortage reasons).
|
|
|
|
| |
Submitted by: dfr
|
|
|
|
| |
Convert ncr driver to CAM.
|
|
|
|
|
|
|
| |
pointers.
This finishes fixing conversions between pointers and integers of
possibly different sizes in GENERIC.
|
| |
|