mfi_scsi_io does. Do not tsleep in mfi_mgmt waiting for completion;
let the caller handle it. If mfi_mgmt() is called with a non-NULL scsipi_xfer
have mfi_mgmt_done() wake it up, else wake up the mfi_ccb.
mfi_poll()/mfi_post() is up to the caller.
mfi_scsipi_request(): handle SCSI_SYNCHRONIZE_CACHE_10 as we do for other
commmands: have mfi_mgmt() fill in the ccb, queue of poll the ccb and
return.
Introduce mfi_mgmt_internal() which behaves like mfi_mgmt() did (tsleep
waiting for completion). Use it for internal and ioctl management
requests.
Fix kern/39297 from Greg Oster (mfi calls tsleep() from mfi_intr()),
tested by Mark Davies.
80x25 mode.
XXX This doesn't handle odd modes like 80x30 on 640x480, but the driver
didn't allow that selection previously so at least it's an improvement
over the previous behaviour.
Bump CISS_MAX_CDB from 12 to 16 bytes. For volumes larger than 2TB,
the scsipi layer will have to use 16 bytes SCSI commands, which would be
rejected by ciss. The cdb buffer already 16 bytes long, and a look at the
FreeBSD driver shows there's no reasons to limit SCSI commands to 12 bytes.
Don't set infinite burst on SBus cards.
Changes based on information in the `Sbus GEM Specification':
http://mediacast.sun.com/users/Barton808/media/gem_sbus-1.pdf
SBus-based GEM cards (i.e. Sun X1140A) now work!
Tested with a X1140A card in a U1 and in a U2.
Thanks for martin@ for testing.
No functional changes intended (except maybe un-reseting the chip a bit later
in attach).
- pass fewer arguments to local functions where arguments can be derived from
an existing argument
- some coding style fixes
- more abstraction for PRB activation and deactivation
- bus_dma(9) properification in error cases
- undefine SIISATA_DEBUG, and cleanup variables used only for DEBUG_PRINT()s
To paraphrase:
Some ciss(4) firmwares use different physical drive addressing, resulting
in bioctl(8) functions not being available.
Tested on both types of controller.
"poll" flag when called from ld_shutdown().
This is the infrastructure part of kern/38655 - in itself it doesn't
fix the panic referenced in that PR.
XXX: At least ld_twa.c and perhaps ld_iop.c and ld_icp.c need to
check for this new poll flag and do something useful.
where transmit fragmentation is concerned.
Extract from ath_tx_start() the code for subtracting padding from
the packet length, creating subroutine deduct_pad_bytes(). Note
that the arithmetic in deduct_pad_bytes() is suspicious.
Use deduct_pad_bytes() to repair the computation of the 802.11
Duration field for fragments. The computation used to leave out
the FCS, among other things.
Some discrepancies between ath(4) operation and the standard may
still remain. According to my observations, the gaps between
transmitted fragments may be approximately 8 microseconds too long.
bank registers from the PCI host bridge. Previously the RAM size was
hardcoded to 64MB.
Also fill out ibm82660reg.h with more definitions from the PowerPC to
PCI Bridge and Memory Controller User's Manual.
Many thanks to Tim Rightnour for helping with this patch.