summaryrefslogtreecommitdiff
path: root/sys/dev/ic/aic7xxx_openbsd.h
AgeCommit message (Collapse)Author
2012-02-12use the barrier before the inb; not instead ofTheo de Raadt
prompted by kettenis, ok miod, tested on the troublesome machine
2012-02-11This code used to do a register read to force a barrier -- that is notTheo de Raadt
sufficient. Now, use bus_space_barrier explicitly. This was exposed by newer gcc on DS20 alpha with ahc(4) controllers using any drives other than Seagates. During initial probe the drive vendor/product string would be empty. diff from miod; tested by myself and henning
2011-07-17Backout a bunch of my SCSI commits from c2k11. At least one of theseMatthew Dempsky
is causing problems when trying to boot sparc64 from an isp(4). Verified to fix the sparc64/isp(4) regression by krw@; ok deraadt@
2011-07-04Use the SDEV_2NDBUS flag like isp(4) instead of the currentMatthew Dempsky
scsi_link::scsibus hack to determine which channel the link is associated with. "looks sane" dlg@, but haven't found any testers yet; committing so further SCSI refactorings can go in. dlg@ or I will back out or fix if anything breaks.
2007-09-15replace ctob and btoc with ptoa and atop respectivelyMartin Reindl
help and ok miod@ thib@
2007-05-02Eliminate unused inline functions and replace ahc_lock() whichKenneth R Westerback
resolves to s = splbio() and ahc_unlock() which resolves to splx(s) with splbio/splx calls. ok marco@ dlg@
2005-12-28Oops. Missed file from previous commit.Kenneth R Westerback
2005-12-10{en,re}trys -> {en,re}tries; eyeballed by jmc@Miod Vallat
2005-06-01De-inline a few functions if option SMALL_KERNEL, and do not compileMiod Vallat
ahc_print_scb() unless option AHC_DEBUG. Saves about 3KB on alpha RAMDISK{,B}. ok deraadt@
2005-02-12Fix crashes during probe by ensuring that SCSI_IS_SCSIBUS_B() returnsKenneth R Westerback
false until scsi bus b is initialized. Set TWIN_CHNLB bit that is used elsewhere. Missed chunk from last code sync. Problem found and fixes tested on HP Proliant ML310 by Valov Oleg.
2004-10-24Shuffle defines around so that ahc and ahd use the aic_ names thatKenneth R Westerback
come with the freebsd sources, rather than duplicating those names in the ahd_ and ahc_ namespaces. Big reduction in delta to freebsd sources, which reduces noise when updating the code. No .o differences found on i386. ok marco@.
2004-08-01Fold in relevant bits of the most recent two updates fromKenneth R Westerback
gibbs@freebsd. Large commit messages detailing all changes can be read at revisions 1.97 and 1.100 of aic7xxx.c: www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/aic7xxx/aic7xxx.c Tested by marco, nate and pefo. Fixed broken system for nate. ok marco@
2004-01-17Major stability improvement. Fix a variety of systems and problemsKenneth R Westerback
by dealing with various error conditions. Testing by Marco Peereboom, Olivier Cherrier, Alex Holst, Daniel Lucq, deraadt@, beck@ and others. ok deraadt@.
2003-12-28Give i/o's requeued as a result of aborts, timeouts, etc. a status ofKenneth R Westerback
XS_RESET rather than XS_NOERROR. This prevents unfinished i/o's from being treated as successfully completed ones. Don't bother setting SCB_REQUEUE in scb->flags since the scb is immediately thrown away. Make setting TAG_ENB a little more correct by doing it somewhere both the initial scb setup and subsequent tag resets have access to. Fix a typo. ok miod "I'm not an authoritative person on SCSI issues... though I'm learning!" @.
2003-12-24Sync ahc with NetBSD, which was in turn updated from FreeBSD by PascalKenneth R Westerback
Renauld of Network Storage Solutions, Inc. Many fixes, wider device support. In particular, the notorious 'Target 0' problem seems to be fixed. Does *not* include any updates to isa or eisa code beyond what was necessary to compile. Known issues: 1) Tagged Queuing is probably not optimal. 2) PPR negotiation may not be fully functional. 3) No support yet for freezing devices or channels. 4) The mechanism for preventing 'A' and 'B' channel confusion during probe can fail if scsibus > 254 found. 5) Requeuing I/O's not working. A workaround will be committed almost immediately. At the moment timeouts, SCSI message rejects, aborting SCB's and trying to freeze a device may cause incomplete i/o's to be reported as complete. 6) Verbosity and probe messages need work. 7) Last disk on bus seems to go through an extra re-negotiation. 8) >16 devices on an adapter will trigger the usual problems of total openings exceeding available SCB's under heavy load. Tested by deraadt@, beck@, miod@, naddy@, drahn@, marc@ amoung others. ok deraadt@.
2003-10-21typos from Tom Cosgrove;Jason McIntyre
Tom: I did not commit a couple of your changes. i did not include some punctuation fixes (full stops, etc.) mnemorable -> mnemonic: i decided memorable was probably better instrunctions -> instruction: i kept the plural
2002-07-05attempt to make ahc smaller. change PCI interrupt handler.Steve Murphree
2002-07-01Ensure scb is setup correctly. Add debugging info.Steve Murphree
2002-06-28Return of new ahcSteve Murphree
2002-03-19revert to older ahc driver until the new one's bugs are fixedTodd C. Miller
2002-03-14First round of __P removal in sysTodd C. Miller
2002-03-14Fix *some* problems with new ahc driver that were surfaced withKenneth R Westerback
the recent changes to scsiconf.c. a) Restore marking of appropriate devices as tagged b) Fix an off-by-one error that sprayed bits around c) Use correct field (quirks) when setting SDEV_NOTAGS bit d) Use TAG_ENB define instead of MSG_SIMPLE_Q_TAG when manipulating hscb->control. Both were defined to the same value, but TAG_ENB is the define used to extract the bit later on. This leaves problems, most often seen as faults when accessing a CD drive and disk drive on the same bus. ok smurph@
2002-02-16New port of FreeBSD's ahc driverSteve Murphree