| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
ok mpi@ kspillner@
|
|
|
|
|
|
| |
of the ata stuff to properly handle.
found by dtucker@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this would have been difficult before because the ata completion
paths try to be helfpul by freeing xfers on the adapters behalf,
whch doesn't work in the new world scsi model where the layer that
allocated the thing is responsible for freeing it, and expects to
get it back and maybe use it again. however, deraadt@ added magic
flags for hibernate that im now using to keep ata xfers for the
scsi layers.
committing this now so itll be tested. i cant think of a better time
to handle fallout from diffs like this than hackathons.
discussed with deraadt@
|
|
|
|
| |
From Brad; no binary change on amd64.
|
|
|
|
|
|
| |
is causing problems when trying to boot sparc64 from an isp(4).
Verified to fix the sparc64/isp(4) regression by krw@; ok deraadt@
|
|
|
|
|
|
| |
saa_luns instead of adapter_buswidth and luns in the prototype link.
ok dlg@, miod@
|
|
|
|
|
| |
It's the last file referencing atapiscsi.h too, so might as well get
rid of the need-flags in files.atapiscsi.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
argument to wdcreset(), to have it skip waiting until active channels see
their BUSY bit clear in the status register.
Use this feature in the resume path, during the first reset operation. The
first reset is supposed to only wake up the controller, and the disks don't
come back until the second reset is issued, therefore waiting for them to
report themselves as ready after the first reset, but before the second, is
moot - and as a matter of fact some controllers, such as the AMD 754 and
clones/offspring (e.g. Geode) keep the BUSY bit asserted after the first
reset.
Last, but not least, make sure wd@ata invokes wd_get_params() again before
returning from the resume code, as we will still be using polled transfers
for a short while.
This causes the Lemote Yeelong to resume within less than one second, instead
of the lousy 30 seconds wait between the two resets; and the wd_get_params()
voodoo prevents it from getting spurious ide interrupts afterwards.
wd_get_params() magic from dlg; rest of the work by yours truly after enough
prodding by dlg@ and pirofti@, among others. ok deraadt@ dlg@
|
|
|
|
| |
ok krw@ deraadt@
|
|
|
|
| |
ok dlg@ matthew@
|
|
|
|
| |
tested by phessler
|
| |
|
|
|
|
|
|
| |
sparsely populated buses.
ok dlg@, krw@
|
|
|
|
|
|
|
|
| |
step in elminating 'struct scsi_device' entirely.
Spotted and initial diff from matthew@.
ok matthew@ dlg@ deraadt@ marco@ miod@
|
|
|
|
|
|
|
| |
ioctl requests, and dont pass the proc pointers around for any ioctl
requests in scsi land at all. neither were used, so trim the fat.
ok krw@ marco@
|
|
|
|
|
|
|
| |
low-hanging splbio/splx pairs that are no longer needed and see if
this reveals any hidden scsi flaws.
ok dlg@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
void. Use XS_NO_CCB error in the scsi command (xs) to report the
NO_CCB condition. Eliminates all SUCCESSFULLY_QUEUED and COMPLETE
confusion and untangles the midlayer from the adapter a bit more.
Eyes and some fixes by miod@
There may be some compile issues on little used (i.e. I don't have
any) drivers but the change is mechanical and thus easy to remedy.
ok dlg@
|
|
|
|
|
|
|
| |
possible references to xs which has been recycled. Slight tweak to
dlg's previous fix for atapiscsi.
ok dlg@ 'looks safe' miod@
|
|
|
|
| |
pointed out by miod@ and claudio@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bad.
this sort of worked before because the midlayer would sleep on the
ITSDONE flag in the scsi_xfer, which atapiscsi does set. however, with
the introduction of scsi_xs_sync, it now sleeps on a condition that is
only cleared if the adapter properly and correctly calls scsi_done when
it is in fact done with the xfer.
sorry guys.
ok krw@
|
|
|
|
| |
from Dawe.
|
|
|
|
| |
pointed out by miod
|
|
|
|
|
| |
atapiscsi* at umass?
without needing to have pciide or wdc attachments.
|
|
|
|
|
|
| |
as additional argument. This will allow intermediate layers between
scsi devices such as sd and scsi host adapters to take appropriate
action if necessary.
|
|
|
|
| |
"looks sane to me" marco@
|
|
|
|
| |
please commit deraadt@
|
| |
|
|
|
|
| |
ok miod@ jmc@
|
|
|
|
| |
ok kettenis@ cloder@ tom@ henning@
|
|
|
|
| |
ok miod@ marco@ deraadt@
|
|
|
|
|
| |
following the child device that attaches to us. this is cleaner than using
the scsibus member of the adapters sc_link to look up the correct unit.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Mainly remove space between locators parens, replace spaces with tabs
where appropriate and consistently align dependencies.
|
|
|
|
|
|
|
|
|
|
| |
requesting sense we reuse the same scsi xfer so flags lie and we should
check for C_SENSE too.
Eliminates pciide timeouts at the end of every burning with cdrecord.
Bug introduced, found and then fixed by costa@.
ok costa@ krw@
|
| |
|
|
|
|
|
|
|
|
|
| |
This solves a long standing problem with hangs during attaching
scsibus at atapiscsi on some i386 machines.
Help in debugging the problem pval@.
Testing pval@, deraadt@, david@ and me on several machines.
ok costa@ tdeval@ pb@ deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
moreluns field in scsi_link structure. Instead, treat an INQUIRY
result that duplicates the INQUIRY result of LUN 0 as proof the LUN
does not exist. Compensate for lack of SDEV_NOLUNS where necessary by
setting sc_link->luns to 1, which has the same effect. From Marco
Peereboom.
Don't issue Test Unit Ready command before INQUIRY command - not
necessary and potentially harmful to devices with ADEV_NOTUR quirk
since quirks have not been set yet. From mycroft@NetBSD
ok deraadt@, mvme* changes by miod@.
|
|
|
|
|
|
| |
tested on alpha, i386, powerpc, sparc64, m68k.
ok miod@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- do not stop/unload current DMA operation if an IRQ was not detected
by DMA engine unless the force flag was given, fixes DMA problems
in shared IRQ setups;
- ack interrupt before entering DMA codepath
Tested by many.
Work by niklas@ but he doesn't want to commit it for some reason.
|
|
|
|
| |
This makes creating debug kernels be much more easy.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
devices which only support PIO mode 2 or less. Use
atap_oldpiotiming to obtain supported mode for such devices.
Also use SET FEATURES only for PIO mode > 2.
Work by Alec Skelly <alec@dtkco.com> with my little help.
ok costa@
|
|
|
|
| |
ok costa@
|
|
|
|
|
|
| |
interferes with C99's anonymous stuff.
ok millert@
|
| |
|
|
|
|
|
| |
SET PIO mode. Heh, this might have been the cause of all those old
PIO mode aborts.
|
| |
|