summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp
Commit message (Collapse)AuthorAgeFilesLines
* Annoying little nigglet- apparently *some* Qlogic temporarily ignoremjacob1999-03-261-2/+10
| | | | | | settings you've just sent them and return random values if you follow the set by a get. This causes problems when you latter run a Tag-enabled command when you've command tagged mode off.
* enable 1080 LVD supportmjacob1999-03-251-21/+19
|
* Add in 1080 LVD support and some basis also for the 1240. The port databasemjacob1999-03-256-302/+413
| | | | printout is now enabled.
* roll internal tag levelmjacob1999-03-251-3/+2
|
* roll internal tag levelmjacob1999-03-252-4/+4
|
* Prep for 1080/1240 support. Those fine h/w engineers at Qlogicmjacob1999-03-171-80/+185
| | | | | | 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.
* A wad of changes- prepping for 1080/1240 support (which caused a massivemjacob1999-03-179-350/+2918
| | | | | | thwank in register layout goop). A different mboxcmd approach. Some PDB change infrastructure. Some better management of loopdown/loopup events (keep them distinct from resource starvation for simq freeze/unfreeze actions).
* Cleanup. Set all PCI parameters of importance. Set a define that willmjacob1999-02-091-15/+105
| | | | allow us via config options prefer mem space to I/O space.
* Roll internal release tag. Roll core version minor. Fix broken DPARM_DEFAULTmjacob1999-02-091-5/+8
| | | | | | | | | | | | define. Add a new config flag param (ISP_CFG_NONVRAM) whose intent it is to cause NVRAM to be ignored. Add ISPASYNC_LOOP_DOWN and ISPASYNC_LOOP_UP isp_async enums. Amazingly enough, I did all my scsi_sa work recently without realizing that I had a broken isp card whose (unchangeable- it's an old old old isp1020) NVRAM has sync mode enabled, but disconnect/reconnect disabled- the ISP_CFG_NONVRAM is definitely warranted when you want to bloody well ignore the NVRAM and set something sensible.
* clean up some NVRAM definesmjacob1999-02-091-9/+5
|
* Add in defines that disable (temp) fast posting.mjacob1999-02-091-3/+7
|
* Allow fibre channel 'bus resets' to go through. Handle Loop Down/Loop Upmjacob1999-02-091-13/+43
| | | | | events by freezing/unfreezing the simq- nice to have such control at this level! Do bus resets in attach layer (non-CAM defined code).
* Roll internal release tag. Print out if we're in a 64 bit PCI slot.mjacob1999-02-091-59/+156
| | | | | | | | | | | | Use fast memory timing NVRAM parameter. Clean up and fix establishment of default target parameters. Don't use NVRAM if are flagged as not to do so (I had a busted NVRAM setup which I couldn't edit that enabled SYNC mode but disabled disconnect/reconnect and wide!!). Fix delays after resets. BUS resets not done in isp_init anymore- relegated to OS specific outer layers. Fix a buglet where you can get in a loop for a NULL xs in the completion list in isp_intr. Add in some defines that can disable fast posting. Add in code for Loop Up/Loop Down events that call into the outer layers as to what to do.
* roll internal release tagmjacob1999-02-094-10/+14
|
* Implement and use Fast Posting for both parallel && fibre. Redo a bit ofmjacob1999-01-307-205/+410
| | | | | | | the startup code. Implement a call to outer framework function so that asynchronous events can be handled (e.g., speed negotiation, target mode). Roll internal release tags.
* Grrr.. Do the *correct* and *usable* 1.31 firmware. You have to powermjacob1999-01-301-1135/+3100
| | | | | | | | | | cycle to get rid of the old 1.31 firmware. *@!$&^@&$!&^&^!!!!! But anyway comment it out and use new SBus 7.55 firmware. We get fast posting with this as well as 32 luns and target mode support. (not that this is used yet in FreeBSD, but it's ready for FreeBSD-sparc whenever it happens....)
* roll internal release tagmjacob1999-01-301-2/+2
|
* roll internal release tagmjacob1999-01-301-2/+2
|
* Suggested by bde@freebsd.org- memcpy not necessarily good to use. D'oh- not inmjacob1999-01-103-13/+15
| | | | | the BSD DKI. Stop being lazy and finish the defines so MEMCPY becomes bzero for FreeBSD.
* Add some prototype deadchip detection. Set FIFO bursting (1XX0 only-mjacob1999-01-101-48/+88
| | | | | | | | it's already on for the 2XX0) and detect the broken 1040A FIFO. Change bzero to MEMZERO (portability with **nux). Use memcpy for same reason. Finally detect QUEUE FULL conditions and return this as an error that will get cam_periph_error to do it's 'tagged openings now XXX' dance.
* up isp_fifo_threshold NVRAM storage to 3 bits (for future 128 bit)mjacob1999-01-101-3/+3
|
* add MEMZERO portability definesmjacob1999-01-102-4/+8
|
* Amazingly stupid forgetfullness had me forgetting to turn on FIFO burstsmjacob1999-01-101-4/+4
| | | | for the 1XX0 cards. That cost > 50% performance.
* clarify headers;ansifymjacob1998-12-281-60/+22
|
* clarify headers;move uninit to outer layer;remove watchdogmjacob1998-12-289-136/+173
|
* probe function changed from returning char * to const char *.dillon1998-12-141-2/+2
|
* oops on lastmjacob1998-12-051-3/+3
|
* Remove the Target mode functions until they're in better shape. Implement somemjacob1998-12-051-91/+534
| | | | | | | suggested compilation cleanups from Eklund. Wire down a hard loop id if we are not on a platform that has the ability to get to a PCI BIOS (it still will float to the ID it gets after a LIP but at least we can try). Clarify that the expanded lun is based upon SCCLUN defines (in f/w).
* make a real "done" func; clarify some LUN widthsmjacob1998-12-051-8/+51
|
* compilation fixes from Eklundmjacob1998-12-051-2/+3
|
* compilation fixes from Eklund && move XS_CMD_DONE to be a real functionmjacob1998-12-051-28/+5
|
* do a bit of cleanup on some target mode structures and clarify a couple ↵mjacob1998-12-051-179/+428
| | | | other minro things
* roll core version minor and wire a non-i386 default Loop ID to 113mjacob1998-12-051-3/+7
|
* offset was wrong for HARDLOOPID in NVRAMmjacob1998-12-051-2/+3
|
* Roll to 1.15 f/w level for Qlogic 2100. Leave all flavors in, but control whichmjacob1998-12-051-9947/+12433
| | | | one gets compiled in by default. The default is private loop, non-expanded lun.
* roll to 1.31 levelmjacob1998-12-051-35/+1170
|
* trivial header fixmjacob1998-12-051-0/+5
|
* Examine all occurrences of sprintf(), strcat(), and str[n]cpy()archie1998-12-041-1/+1
| | | | | | | | | | | | | | 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>
* -Wunused cleanup.gibbs1998-10-151-1/+1
| | | | Submitted by: Poul-Henning Kamp <phk@freebsd.org>
* Honor CAM_TAG_ACTION_NONE.gibbs1998-10-151-1/+2
|
* Andrew Gallatin reported some internal queue overflows with MAXISPREQUESTmjacob1998-10-141-1/+1
| | | | | at 256. So- to be safe, let's roll back to 64 while we do some more investigating.
* Add hooks so that the alpha can detect which disk has the root partition.dfr1998-09-261-0/+3
|
* Bump request queue size up to full amount (now that we havemjacob1998-09-181-1/+1
| | | | a contiguous CCB memory allocation).
* (requested by gibbs) Remove the SCSI_CAM option (and rework the isp drivermjacob1998-09-183-22/+19
| | | | | that had depended on it for compilation within or without CAM to use __FreeBSD_version instead).
* per bde (who is right about this) that an inlined fucntion with constmjacob1998-09-172-21/+25
| | | | | char * strings being returned defined in a header file included several places but only used in one module, is, uh, silly.
* Cleanliness. Don't leave defined a const char array that's only usedmjacob1998-09-171-2/+4
| | | | if target mode is defined (which it isn't, yet).
* A major amount of cleaning up:mjacob1998-09-171-44/+32
| | | | | | | | | | | | | + 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).
* Clean up a comment. Make the default debugging level contingent upon CAMDEBUG.mjacob1998-09-171-8/+4
|
* Remove commented out and no longer pertinent EAGAIN message. Redo CMD_COMPLETEmjacob1998-09-171-11/+6
| | | | | logic for returns from inner layer (just make sure that a CAM_REQ_INPROG doesn't get xpt_done'd).
* ISP_DMASETUP now returns a value to be possibly punted to outer layers.mjacob1998-09-171-13/+25
| | | | | Turn request queue overflow messages into debug messages. Ensure on isp_restarts that we nullify the xflist array.
OpenPOWER on IntegriCloud