| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Noticed by: imp@FreeBSD.org
|
| |
|
|
|
|
|
|
|
| |
BIOS code will get this right (and some certainly doesn't).
Submitted by: W. Gerald Hicks <jhix@mindspring.com>
Approved by: jkh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Non-AST4 multiport cards were broken by bypassing the code that changes
`idev' to the multiport master device.
2) AST4 multiport cards apparently were broken by inverting the test for
the master device having an irq.
3) Error handling for nonexistent master devices was broken by removing a
check for a null pointer.
4) `int' error codes returned by bus_get_resource() were assigned directly
to the boolean variable com->no_irq. Probably harmless, since the
boolean is implemented as a u_char.
Submitted by: part 1) by Chris Radek <cradek@in221.inetnebr.com>
part 2) by yokota
Approved by: jkh
|
|
|
|
| |
Approved: jkh
|
|
|
|
|
|
| |
commands (enable/disable/modify lun && immediate notify) we're talking about.
Approved: jkh
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Andrew's problems with SCSI on some alphas- do not call isp_update
directly to update parameters- just mark them as being ready to
update for the next command- the system would just hang on a READ
CAPACITY for a drive. Really annoying because it wouldn't even timeout
(and it has a timeout) so either the SET PARAMETERS call was nuking
things or the f/w was really dropping the ball.
approved: jkh
Reviewed by: gallatin@freebsd.org
|
|
|
|
|
|
|
| |
made the initial queue entry a EXTENDED CMD queue entry, so we have to
go straight to continuation segments for any data segments.
approved: jkh
|
|
|
|
|
|
|
|
|
|
| |
is gone as a define. We just don't support fast posting for anything less
than the 1240/1080/1280/12160 or Fibre Channel cards.
Put in support for CDB's larger than 12 bytes for parallel SCSI (up to 44
bytes are allowed).
Approved: jkh
|
|
|
|
|
| |
Submitted by: nhibma
Approved by: jkh
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove all the code intended to deal with experimental
C1010 revisions. This code got useless due to commercial
chip revisions having been fixed.
Fixes:
- Rewrite/rework the WSR condition handling.
Previous drivers snooped on the BUS through the SBDL IO
register and this has been discovered to trigger a spurious
SCSI parity error when WSR had been set by chip and cleared
by SCRIPTS prior to reading SBDL bit [0...7].
On the other hand, the C1010 does not use the SWIDE register
when synchronous data transfers are taking place and
requires a CHMOV (1) WHEN DATA_IN to be performed in order
to move to memory the residual byte when WSR is set and
the residual byte is useful data.
BTW, the new WSR handling by the driver is simpler.
- No longer attempt to read from SCRIPTS the SBDL register.
This is intended to avoid to be victimized again by any other
issue regarding the handling of this register by 8xx chips.
Miscellaneous:
- The driver is now able to handle the WSR + IGN RESIDUE
condition at the end of a DATA IN I/O without need of a
programmed interrupt. It is a minor? optimization.
- A few other minor cosmetic changes.
This driver version fixes notably a permanent SCSI parity
error condition at boot that can be triggerred due to recent
changes in cam_xpt.c between 1.79 and 1.80.
Changes in CAM/XPT are fine, but the new handling of the full
INQUIRY may trigger the driver problem when a target returned
an odd value in the `additionnal length' field of the INQUIRY
response.
The diff against previous driver version is large, but it
consists approximatively in:
- 350 lignes removed and not compiled in previous drivers
(They addressed experimental C1010 revisions)
- 250 lignes added or changed, half being comments or empty
lines.
So, in fact, the real changes are about 120 lines of source.
About 80 lines address SCRIPTS changes and about 40 lines
address C code changes.
Approved by: jkh
New WSR handling reviewed by Pamela Delaney <pam.delaney@lsil.com>
(For back-porting to Linux sym53c8xx driver 1.6x series)
|
| |
|
|
|
|
|
|
| |
default to a non-FM tuner or FM radio is non-functional.
Approved by: jkh
|
|
|
|
|
|
| |
Approved: jkh@freebsd.org
PR: 16141
|
|
|
|
|
|
| |
now in isp.c
Approved: jkh@freebsd.org
|
|
|
|
| |
Approved: jkh@freebsd.org
|
|
|
|
|
|
|
| |
Add in definitions for the extended initialization control block
(2200 only again).
Approved: jkh@freebsd.org
|
|
|
|
| |
Approved: jkh@freebsd.org
|
|
|
|
| |
Approved: jkh@freebsd.org
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for 1020/1X80/12160/2X00- for readability. Add in 12160 (Ultra3)
support- but not with PPR just yet. Fix and clarify fetching of
return parameter for getting firmware rev which for the 2200 contains
the connection topology (Private Loop (NL-port), N-port, FL-port,
F-port). Synthesize the connection topology for the 2100 which can
only be Private Loop or FL-port. Handle a couple of new async
mailbox commands which signify connection in Point-to-Point mode
(N-port or F-port) or indicate various toe stubbing getting to same.
Approved: jkh@freebsd.org
|
|
|
|
|
|
| |
instead of FC-AL (2200 only).
Approved: jkh@freebsd.org
|
| |
|
|
|
|
|
|
|
| |
input queue is emptied when initializing the keyboard controller.
- Remove an unnecessary `if' statement.
Approved by: jkh
|
|
|
|
| |
Approved by: jkh
|
|
|
|
|
|
|
| |
won't appear on the screen, and "blinking" and "destructive" cursor
won't appear in the vty for which the text cursor is currently hidden.
Approved by: jkh
|
|
|
|
|
|
|
|
|
|
|
|
| |
problem was basically (for offset > 4096):
vtophys(addr) + offset != vtophys(addr + offset)
Also, use TD's with a maximum size of 4k instead of 8kb for OHCI
controllers.
This problem occurs in drivers that use large transfer sizes:
umass, host2host and ethernet with jumbo frames.
|
|
|
|
|
|
| |
(No changes to the driver code itself.)
Approved by: jkh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for optimizing the unpause operation no-longer exist, and this is much
safer.
When restarting the sequencer, reconstitute the free SCB list on the card.
This deals with a single instruction gap between marking the SCB as free
and actually getting it onto the free list.
Reduce the number of transfer negotiations that occur. In the past, we
renegotiated after every reported check condition status. This ensures
that we catch devices that have unexpectidly reset. In this situation,
the target will always report the check condition before performing a
data-phase. The new behavior is to renegotiate for any check-condition where
the residual matches the orginal data-length of the command (including
0 length transffers). This avoids renegotiations during things like
variable tape block reads, where the check condition is reported only
to indicate the residual of the read.
Revamp the parity error detection logic. We now properly report and
handle injected parity errors in all phases. The old code used to hang
on message-in parity errors.
Correct the reporting of selection timeout errors to the XPT. When
a selection timeout occurs, only the currently selecting command
is flagged with SELTO status instead of aborting all currently active
commands to that target.
Fix flipped arguments in ahc_match_scb and in some of the callers of this
routine. I wish that gcc allowed you to request warnings for enums passed
as ints.
Make ahc_find_msg generically handle all message types.
Work around the target mode data-in wideodd bug in all non-U2 chips.
We can now do sync-wide target mode transfers in target mode across the
hole product line.
Use lastphase exclusively for handling timeouts. The current phase
doesn't take the bus free state into account.
Fix a bug in the timeout handler that could cause corruption of the
disconnected list.
When sending an embedded cdb to a target, ensure that we start on a
quad word boundary in the data-fifo. It seems that unaligned stores
do not work correctly.
|
|
|
|
|
|
| |
the probe of external SRAM.
Approved by: jkh@FreeBSD.org
|
|
|
|
|
|
| |
(also called the "printer fiasco")
Approved by: jkh
|
| |
|
|
|
|
| |
Fixed...
|
|
|
|
| |
count_dev funtion by phk.
|
| |
|
| |
|
|
|
|
|
|
| |
PR: 16517
Submitted by: SAKIYAMA Nobuo <sakichan@lares.dti.ne.jp>
Approved by: jhk
|
|
|
|
|
|
|
|
|
|
| |
is initialised by usb_init.
This might solve problems with some controllers not being initiliased
properly, because a delay was effectively a tsleep that returned
immediately.
Approved by: jhk
|
|
|
|
|
|
|
|
|
|
| |
the PIRQD bit.
This fixes the problem of uhub0 hanging forever during boot when USB
keyboard support is switched on in the BIOS on motherboards with Intel
chipsets (UHCI).
Approved by: The Sheep
|
|
|
|
| |
Overlooked by: n_himba@FreeBSD.org but not bde@FreeBSD.org
|
|
|
|
| |
Broken by: gibbs
|
|
|
|
|
|
|
|
|
|
| |
fix support for multiple HPT & Promise controllers.
support mixed 33/66 devices on the Promise 66 controllers.
fix the refcount stuff in the atapi drivers.
misc cleanups.
|
|
|
|
|
|
|
|
| |
for USB.
Call uhci_power when suspending and resuming.
Approved by: The One.
|
| |
|
|
|
|
|
|
|
| |
support is also included for the ASC38C1600 Ultra160 chipset, but
as firmware is not yet available for this chip, it is disabled.
Approved by: jkh@FreeBSD.org
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also update wicontrol to enable/disable encryption, set WEP keys and set the
TX key index. Silver cards only have 40-bit keys. This is something of a quick
hack, but it works well enough for me to commit this from the LinuxWorld
exhibit floor.
The WEP support only shows up if you have a card that supports it.
Would have been approved by: jkh, if he hadn't wandered off somewhere
Approved in his place by: msmith, who's standing right here
|
|
|
|
| |
Approved by: jkh (who must be very sick of requests now :-)
|
|
|
|
| |
PR: 16642
|
|
|
|
|
|
|
|
|
| |
bus_delete_resource.
Fixes a problem when the probe succeeded, but the attach failed. The
release of the resources was done inproperly.
Approved by: jkh
|
| |
|