queued.
Perform dma segment setup outside of splcam protection as this can take
some time and the protection is not necessary.
Inline a function.
Clean up some whitespace.
routines are necessary to allow the use of certain types of hardware on
the alpha, particularly a Myrinet card.
Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
reported bug.
At using tcpdump for cs interface, tcpdump only dump packet which
src or dst MAC-address is cs interface. cs interface can't look up
packet between others.
Submitted by: MIHIRA "Sanpei" Yoshiro <sanpei@sanpei.org>
add support for Vibra16X, OPTi925, and bring in several assorted
fixes to the code and documentation.
Also present here are apm hooks so that laptops can properly
reconfigure the hardware after suspend (tested on the Libretto50).
Reviewed by: jordan
- Express various sizes in bytes, rather than Kbytes, in the video
mode and adapter information structures.
- Fill 0 in the linear buffer size field if the linear frame buffer
is not available.
- Remove SW_VESA_USER ioctl. It is still experimetal and was not meant
to be released.
- Fix missing cast operator.
- Correctly handle pointers returned by the VESA BIOS. The pointers
may point to the area either in the BIOS ROM or in the buffer supplied
by the caller.
- Set the destructive cursor at the right moment.
o Use the board id command to find out what kind of board
we're talking to. If we're talking to a board that is has
an ID that is shared between boards supported by the aha
driver and the bt driver, then use the bt's geometry
register to weed out the bt cards. Otherwise assume that we
support this card.
o Remove bt esetup command sending to the card. It seems to
wedge too many cards.
o Revert to doing a soft reset after an invalid command. This
change didn't fix anything, so I'm backing it out. The
whole issue of card resetting needs to be revisisted at some
point so that we can do it properly on all hardware.
o GC unused stuff in some places.
o Unlock mailbox interface if we have a new card. Before only newer cards
(B or newer) that had the BIOS disabled would probe. Cards with the
BIOS enabled would fail to probe in the mailbox initialization code.
o Increase the number of ccbs and sg to 17 from 16 to support 64k I/O
on a non page aligned boundary. Ideas for dynamic determination of this
value welcomed, as more of these are better.
o Took credit for this driver, even though I derived it from Justin's code.
Made sure that Justin's copyright from bt.c was preserved, along with
his name, since the error handling code is nearly identical. Add my
own, identical copyright. Point people to aha_isa.c.
Cards tested: 1542C and 1542CF. The B and CP might work now as well,
but logistical problems precluded me from testing them this evening
(if you have jumper settings for the B card, please send me private
mail).
- there were too many global variables (there still are :-).
- the data section was bloated by explicit initializations of static
variables to 0 (only fixed the recently changed ones).
- WRAPHIST() had silly parentheses around foo->bar.
- the comment about inline functions was stale.
- the comment about Userconfig presumes too much about the boot environment.
- `i' was reused confusingly in scioctl().
- the declaration of `butmap' used a deprecated K&R misfeature.
- the initializeation of `butmap' had an unnecessary line break.
- `unsigned char' was not consistently (mis)spelled as u_char.
- English was poor in a comment in videoio.c.
Submitted by: bde
- Handle pixel (raster text) mode properly.
- Clear screen and paint border right.
- Paint text attribute (colors).
- Fix off-by-one errors.
- Add some sanity checks.
- Fix some function prototypes.
- Add some comment lines.
- Define generic text mode numbers so that the user can just give
"80x25", "80x60", "132x25"..., rather than "VGA_xxx", to `vidcontrol'
to change the current video mode. `vidoio.c' and `vesa.c' will map
these numbers to real video mode numbers appropriate and available
with the given video hardware. I believe this will be useful to make
syscons more portable across archtectures.
Bump the lun field in the eata ccb to 5 bits. We still only
use 3 of them, but we may use the rest at a later date.
dpt_scsi.c:
Default to only 32 S/G segments.
Bzero our CCB array after allocation.
- ppbus was released before checking if still in disk_mode by vpoio and immio:
the microseq (in_disk_mode) was never executed. Fixed.
- nlptintr() renamed to nlpt_intr(). spltty() inserted in nlptintr() before
nlpt_intr() call
those extra ones yet, anyway.
In dpttimeout, expect that the controller will complete aborted CCBs through
the interrupt handler. This corrects a panic that was caused by completing
the same transaction twice during timeout recovery.
Honor the tag times types expressed by the user and pass them down to
the controller.
a timeout, we must remove the pending SCB from the disconnected list
or risk list corruption when our BDR request using the same SCB is placed
on the waiting list.
Eradicate some silly uses of u_int8_t that just serve to slow the code down.
+ 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).