summaryrefslogtreecommitdiff
path: root/sys/dev/ic/adw.c
AgeCommit message (Collapse)Author
2001-04-11Update the adw driver to use the latest version of firmware (3.3f).Kenneth R Westerback
Move the microcode files to dev/microcode/adw/*.
2001-02-22Typo police:Kenneth R Westerback
Replace last ADV/ASC/Adv, etc. uses with ADW/Adw as appropriate. Delete comments about non-existant structure members, correct references to existing structure members to use correct structure names or typedefs.
2001-02-20Tone down the verbosity level slightly on the adw driver, printKenneth R Westerback
negotiation results on one line, during boot polling only, in same format as now used in siop. Move one check for probe INQUIRY commands to poll loop rather than checking every good I/O twice.
2001-01-22Initialize xs->stimeout, even when pollingKenneth R Westerback
2001-01-15Use xs->stimeout instead of adding a struct timeout to ccbKenneth R Westerback
2000-12-08This update should cause the adw driver to:Kenneth R Westerback
- actually check the returned scsi_status value and act accordingly instead of ALWAYS returning XS_NOERROR - always return the scsi status value in xs->status for completed requests - no longer reference ccb->xs and ccb->dmamap_xfer if an 'unallocated' ccb is encountered - immediately remove the ccb adw_isr_callback is working on from the pending list, leaving it in limbo until it is put on the free list just before any return - 'freeze' a target only when a scsi_status indicating it is busy is encountered, and 'thaw' a target whenever a bus reset is done or a request completes - check done_status, host_status and scsi_status in that order as is done in the linux driver and was done here until very recently, which seems cleaner to me. But opinions may vary. The only behaviour change that should result is that done_status of QD_NO_STATUS no longer causes a check of host_status values, but is an error causing a XS_DRIVER_STUFFUP - produce a more general error message with actual values for host_status, scsi_status and done_status values, with references to adw(4) for more details on the error where appropriate (man page update coming) - take what seems like appropriate action for all known host_status, scsi_status and done_status values with more use of XS_RESET where appropriate - use adw_reset_bus() instead of AdwResetSCSIBus() in adw_async_callback() so pending requests are requeued and devices left unfrozen when this happens - print an error message with the code # when adw_async_callback is called with an unknown code.
2000-11-10This fixes a problem that caused DMA errors from shortly beforeKenneth R Westerback
2.7 through the released 2.8. As NetBSD describes the problem: DMA failure still arise when AdvanSys U[2]W host adapters are used in conjunction with Intel 82443BX Host Bridge/Controller (rev. 0x03). With a correct sg_cnt, scatter/gather lists with >1 element no longer reference random(?) memory. Now the mystery is why this didn't cause more problems on other chipsets. Installs of 2.7 and 2.8 to a drive on an adw bus now work even if the motherboard uses the 82443BX. So many problems from one character ...
2000-10-15Reseting -> ResettingKenneth R Westerback
2000-09-06Remove #ifdef/#endif around various bits of INQUIRY responseKenneth R Westerback
information. Left over from old attempt to fit adw with U3W on floppyxx.fs instead of floppyBxx.fs. Puts 'sdx at ...' msgs back at the start of their own lines so the drives can be found during (I)nstall or (U)pgrade!
2000-07-22sync to NetBSD:Kenneth R Westerback
- remove #include <vm/vm_param.h> and #include <vm/pmap.h> as they are already included with #include <vm/vm.h> - more Adv -> Adw, ADV -> ADW adjustments & other minor formatting corrections plus: - put 'Carrier Ready failure!' warning message inside #ifdef ADW_DEBUG/#endif as it appears under heavy load but is nothing but a reminder the card was too busy to notice a 'tickle' from the driver.
2000-06-29Sync adw files with (almost) latest NetBSD versions:Kenneth R Westerback
adw.c synched with v1.23 (from v1.14) adw.h v1.9 ( v1.5 ) adwlib.c v1.17 ( v1.7 ) adwlib.h v1.13 ( v1.7 ) adwmcode.c v1.5 ( v1.2 ) adwmcode.h v1.5 ( v1.2 ) microcode for cards is updated to latest version, loss of carrier problems are solved in a more robust manner than before, lots of code cleanup. first support for upcoming U3W cards added, as a result of which the driver is now too large for RAMDISK and has been moved to RAMDISKB. Most of the work done by dante@ NetBSD.
2000-04-29add $ tagKenneth R Westerback
2000-04-02adw_intr should only claim adw interrupts. Two typos.Kenneth R Westerback
2000-02-19If we got an xfer from our backlog queue, don't allow sleeping; we're inTodd C. Miller
interrupt context. thorpej@netbsd.org
2000-02-05support new u2w cards; dante@mclink.it, merged by kwesterback@home.comTheo de Raadt
1999-08-04new bus_dma API, match itNiklas Hallqvist
1998-11-17Add adw device driver, from NetBSD.Jason Downs