Age | Commit message (Collapse) | Author |
|
silicon image 3124/3132/3531 sata chipsets eventually.
so far this is the autoconf glue, an actual match routine for the 3124, and
interrupt establishment code. it is split up between pci and ic cos there
are cardbus variants of these controllers that we can support in the
future.
thanks to jolan@ for the name, it was better liked than my initial
suggestion of siisl(4).
|
|
don't use xa->flags afterwards.
|
|
|
|
|
|
|
|
|
|
Zap all calls to simple_lock/unlock() on it (those calls are
#defined away though). Remove the LK_INTERLOCK from the calls
to vn_lock() and cleanup the filesystems wich implement VOP_LOCK().
(by remvoing the v_interlock from there calls to lockmgr()).
ok pedro@, art@, tedu@
|
|
OK deraadt@ mjc@ canacar@ krw@, with much input from Enache himself
|
|
generation of interrupts when they arrive.
|
|
Because you cannot have NCQ commands active at the same time as standard
(non-queued) commands, we must introduce a queueing scheme into the driver.
This scheme ensures that a standard command is only issued to the drive when
all currently active NCQ commands have finished, and that NCQ command issue
is delayed when we have a pending standard command.
Additionally, the queueing scheme adds a constraint to ensure that there are
never more than two standard commands issued on a port at once. This should
ensure that commands become active in the order they were submitted (regardless
of their command slot number) both initially and when the port is reactivated
after error recovery.
These points mean that issuing a standard command effectively serialises the
port, which may help us implement meaningful I/O barriers in the future.
|
|
JMB368 supported for now, multi port cards
that share PATA/SATA need to do a complicated
internal channel mapping dance I plan to look into next.
ok grange@
|
|
seeing things attach to the scsibus.
ok pascoe@
|
|
out for me.
|
|
everything into it" function, there are now 6 stages of tsleep with
an on-stack (remember that kernel stacks are not swappable now?)
structure that keeps track of the state.
This way we first setup the sleep, setup the events that might break the
sleep, finish the sleep (actually sleeping) and then take care of the
events that could wake us up.
In the future this will make it easier to implement functionality like:
setup sleep, release lock or check some condition, finish sleep, in a
race-free way and without duplicating or complicating the tsleep function
too much.
miod@, millert@ ok.
|
|
|
|
unless used on non-aligned data; ok deraadt@
|
|
C and asm code agree on this; this causes no functional change on r10k
and fewer wt invalidates on r5k. ok kettenis@
|
|
|
|
ok deraadt millert
|
|
if anyone can quickly try this on i386 i'll enable it there too.
ok deraadt@
|
|
it a bit easier to read. there are variations on this, but they can be
defined later.
|
|
reset with during error recovery. Also, ensure that that CCB has been
stopped on the chip before putting it back in the pool.
|
|
set and clear the device's MAC filter.
|
|
MULTIPROCESSOR. From now on sprg0 holds a pointer to struct cpuinfo, which
is used to spill registers to during trap instead of the globals we used to
use for that purpose. Bits and pieces from NetBSD. Help from drahn@ and art@.
Tested by xsa@, thib@, miod@, gwk@, deraadt@.
ok drahn@, gwk@
|
|
|
|
No exceptions.
|
|
`sort of ok' marco (before lock)
|
|
could pick up a previous ATA_F_POLL from a previous non-data command.
|
|
ALIGNBYTES32 has been gone for years.
ok art
|
|
|
|
|
|
Note that the ATA spec says we're should retry after error until we see no
more errors. This is not (yet) implemented.
|
|
error handling.
|
|
isn't sent to the device.
|
|
always return ATA_COMPLETE in the polled transfer case. Also, respect the
passed in timeout value when polling.
|
|
ok jmc@
|
|
these since last year, but i didnt see the point till the code would be
useful anywhere.
|
|
|
|
ok pedro@
|
|
something really big. The SCSI layer isn't yet ready for it.
|
|
in the inquiry error paths, as the HBA will have already completed the
ata_xfer with an error.
Reminder and ok dlg@
|
|
etc, just work.
|
|
For those people who have reported about broken MAC address at attach
time, this should fix the problem.
|
|
so that atascsi can deal with it.
|
|
|
|
passed; makes it less of nfs kind of code; henning@ ok
|
|
resetting it and stuff to avoid garbled dmesg output; found on some arm
|
|
|
|
|
|
routine, and check the return of the mapiodev, and dbdma_create functions.
Tested on Power Macintosh 9500MP and a 9600MP.
"the diff looks fine to me." dlg@
|