| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Adding missing dependancies for loading hptiop(4), hptmv(4) and isp(4) as modules.
PR: kern/166239
Approved by: cperciva (implicit)
Notes:
svn path=/stable/7/; revision=236657
|
| |
|
|
|
|
|
|
|
| |
Hook up some wires that were forgotten a few months ago and restore
the zombie device timeout code and the loop down time code and the fabric
hysteresis code.
Notes:
svn path=/stable/7/; revision=208579
|
| |
|
|
|
|
|
|
| |
On sparc64 obtain the initiator ID from the Open Firmware device tree
in order to match what the PROM built-in driver uses.
Notes:
svn path=/stable/7/; revision=207893
|
| |
|
|
|
|
|
|
|
|
|
| |
Put gone device timer into a structure tag that can hold more than 32 seconds. Oops.
Untangle some of the confusion about what role means when it's in the FCPARAM/SDPARAM
or isp_fc/isp_spi structures. This fixed a problem about seeing targets appear if you've
turned off autologin and find them, or rather don't, via camcontrol rescan.
Notes:
svn path=/stable/7/; revision=207172
|
| |
|
|
|
|
|
| |
D'oh- isp_handle_index' logic was reversed (not used in FreeBSD).
Notes:
svn path=/stable/7/; revision=206203
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Clean up some printing stuff so that we can have a bit finer control
on debug output. Add a new platform function requirement to allow
for printing based upon the ITL nexus instead of the isp unit plus
channel, target and lun. This allows some printouts and error messages
from the core code to appear in the same format as the platform's
subsystem (in FreeBSD's case, CAM path).
Notes:
svn path=/stable/7/; revision=206200
|
| |
|
|
| |
Notes:
svn path=/stable/7/; revision=204525
|
| |
|
|
| |
Notes:
svn path=/stable/7/; revision=204443
|
| |
|
|
|
|
|
|
|
|
| |
MFC 198822 200089 201325 201408 202418
MFC 203444 203463 203478 204050
Move back into RELENG_7 the current state of isp.
Notes:
svn path=/stable/7/; revision=204252
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Change uses of the struct ccb_hdr timeout_ch missed when isp(4) was
adapted to MPSAFE cam(4) to a isp(4) specific callout structure.
Thanks to Florian Smeets for providing access to a machine exhibiting
this problem for debugging.
Approved by: mjacob
Notes:
svn path=/stable/7/; revision=192060
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't try reading the SXP_PINS_DIFF on the 10160 and 12160 SCSI
controllers. Reading this register, for which there are indications
that it doesn't really exist, returns 0 on at least some 12160
and doing so on Sun Fire V880 causes a data access error exception.
Reported and tested by: Beat Gaetzi
Approved by: mjacob
Obtained from: OpenBSD (modulo setting isp_lvdmode)
Notes:
svn path=/stable/7/; revision=190079
|
| |
|
|
|
|
|
| |
Spelling fix for interupt -> interrupt
Notes:
svn path=/stable/7/; revision=180878
|
| |
|
|
|
|
|
| |
Add missing locking for SBus controllers.
Notes:
svn path=/stable/7/; revision=175724
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Both WWNN and WWPN are 64-bit unsigned integers and they are prefixed
with "0x", which requires two more bytes each.
Submitted by: Danny Braniss (danny at cs dot huji dot ac dot il)
via Matthew Jacob (lydianconcepts at gmail dot com)
Approved by: re (bmah)
MFC after: 3 days
Notes:
svn path=/head/; revision=171997
|
| |
|
|
|
|
|
|
| |
Approved by: re (kensmith)
MFC after: 3 days
Notes:
svn path=/head/; revision=171936
|
| |
|
|
|
|
|
|
| |
Approved by: re (Ken)
MFC after: 3 days
Notes:
svn path=/head/; revision=171337
|
| |
|
|
|
|
|
|
| |
Approved by: re (ken)
MFC after: 3 days
Notes:
svn path=/head/; revision=171336
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, we were never correctly checking for a 24XX Status Type 0
response- that cased us to fall through to evaluate status for
commands as if this were a 2100/2200/2300 Status Type 0 response.
This is *close*, but not quite the same. This has been reported
to be apparent with some wierd lun configuration problems with
some arrays. It became glaringly apparent on sparc64 where none
of the correct byte swap things were done.
Fixing this omission then caused a whole universe shifting debug
cycle of endian issues for the 2400. The manual for 24XX f/w turns
out to be wrong about the endianness of a couple of entities. The
lun and cdb fields for the type 7 request are *not* unconditionally
big endian- they happen to be opposite of whatever the endian of
the current machine type is. Same with the sense data for the
24XX type 0 response.
While we're at it investigate and resolve some NVRAM endian
issues.
Approved by: re (ken)
MFC after: 3 days
Notes:
svn path=/head/; revision=171159
|
| |
|
|
|
|
|
| |
Approved by: re (ken, implicit)
Notes:
svn path=/head/; revision=171057
|
| |
|
|
|
|
|
|
|
|
|
| |
put out a ispreqt2e_t structure onto the request queue- not a ispreqt2_t
structure. I forgot that the 23XX can use a t2 structure.
Approved by: re (ken, implicitly)
MFC after: 3 days
Notes:
svn path=/head/; revision=171051
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to put out a ispreqt3e_t structure onto the request queue-
not a ispreqt3_t structure. We weren't. This turns out only
to really matter for big endian machines.
Approved by: re (ken)
MFC after: 3 days
Notes:
svn path=/head/; revision=171028
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
request queues rather than shove it down a word at a time, we have
to remember to put it into little endian format. Use the macros
ISP_IOXPUT_{16,32} for this purpose. Otherwise, on sparc the firmware
is loaded garbled and we get a (not surprisingly) firmware checksum
failure and the card won't start and we don't attach it.
Approved by: re (bruce)
MFC after: 3 days
Notes:
svn path=/head/; revision=171014
|
| |
|
|
|
|
|
|
|
|
| |
now takes a device_t to be the parent of the bus that is being created.
Most SIMs have been updated with a reasonable argument, but a few exceptions
just pass NULL for now. This argument isn't used yet and the newbus
integration likely won't be ready until after 7.0-RELEASE.
Notes:
svn path=/head/; revision=170872
|
| |
|
|
|
|
|
|
|
| |
impact as no softwware using these ioctls was ever committed.
Redo locking for ispioctl.
Notes:
svn path=/head/; revision=170570
|
| |
|
|
| |
Notes:
svn path=/head/; revision=170563
|
| |
|
|
| |
Notes:
svn path=/head/; revision=170412
|
| |
|
|
|
|
|
| |
right away.
Notes:
svn path=/head/; revision=169530
|
| |
|
|
| |
Notes:
svn path=/head/; revision=169472
|
| |
|
|
|
|
|
|
|
|
|
| |
sparc64.
Candidate for immediate MFC.
Noticed by: Everyone-maxim contacted.
Notes:
svn path=/head/; revision=169459
|
| |
|
|
|
|
|
|
|
|
|
| |
Seems to work on RELENG_4 through -current and also on sparc64
now. There may still be some issues with the auto attach/detach
code to sort out.
MFC after: 3 days
Notes:
svn path=/head/; revision=169292
|
| |
|
|
|
|
|
| |
couple of associated error checks.
Notes:
svn path=/head/; revision=168831
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
use to synchornize and protect all data objects that are used for that
SIM. Drivers that are not yet MPSAFE register Giant and operate as
usual. RIght now, no drivers are MPSAFE, though a few will be changed
in the coming week as this work settles down.
The driver API has changed, so all CAM drivers will need to be recompiled.
The userland API has not changed, so tools like camcontrol do not need to
be recompiled.
Notes:
svn path=/head/; revision=168752
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the linux port changes were imported which split the
target command list to be separate from the initiator command
list and the handle format changed to encode a type in the handle
the implications to the function isp_handle_index (which only
the NetBSD/OpenBSD/FreeBSD ports use) were overlooked.
The fault is twofold: first, the index into the DMA maps
in isp_pci is wrong because a target command handle with
the type bit left in place caused a bad index (and panic)
into dma map. Secondly, the assumption of the array
of DMA maps in either PCS or SBUS attachment structures is
that there is a linear mapping between handle index and
DMA map index. This can no longer be true if there are
overlapping index spaces for initiator mode and target
mode commands.
These changes bandaid around the problem by forcing us
to not have simultaneous dual roles and doing the appropriate
masking to make sure things are indexed correctly. A longer
term fix is being devloped.
Notes:
svn path=/head/; revision=168240
|
| |
|
|
| |
Notes:
svn path=/head/; revision=168160
|
| |
|
|
| |
Notes:
svn path=/head/; revision=168030
|
| |
|
|
|
|
|
|
|
| |
Very Pointy Dunce Cap T o: me.
Submitted by: Marcel
MFC after: 3 days
Notes:
svn path=/head/; revision=167992
|
| |
|
|
|
|
|
|
|
|
| |
b) Split default param fetching/setting into scsi and fibre functions
and retry the fibre fetch more than once.
MFC after: 1 week
Notes:
svn path=/head/; revision=167821
|
| |
|
|
|
|
|
|
|
|
| |
cause confusion with at least the 23XX chipsets where the output
queue index pointer just gets a bit whacko.
MFC after: 1 day
Notes:
svn path=/head/; revision=167521
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
tokens into the common isp_osinfo structure instead of being
in bus specific structures. This allows us to implement
a SYNC_REG MEMORYBARRIER call (using bus_space_barrier)
and also reduce the amount of bus specific wrapper structure
usages in isp_pci && isp_sbus.
MFC after: 3 days
Notes:
svn path=/head/; revision=167501
|
| |
|
|
|
|
|
| |
MFC after: 3 days
Notes:
svn path=/head/; revision=167500
|
| |
|
|
|
|
|
| |
diffs back to -current to keep versions identical.
Notes:
svn path=/head/; revision=167473
|
| |
|
|
| |
Notes:
svn path=/head/; revision=167403
|
| |
|
|
|
|
|
| |
multi-release support.
Notes:
svn path=/head/; revision=166935
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
an ICB. This shows up on card restarts, and usually for
2200-2300 cards. What happens is that we start up,
attempting to acquire a hard address. We end up instead
being an F-port topology, which reports out a loop id
of 0xff (or 0xffff for 2K Login f/w). Then, if we restart,
we end up telling the card to go off an acquire this loop
address, which the card then rejects. Bah.
Compilation fixes from Solaris port.
Notes:
svn path=/head/; revision=166929
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many
Approved by: re@
Notes:
svn path=/head/; revision=166901
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
attachment of new devices that arrive (and we notice them
via async Fibre Channel events). We've always had the
right thing (of sorts) happen when devices go away- this
is the corollary function that makes multipath failover
actually work.
MFC after: 2 weeks
Notes:
svn path=/head/; revision=166897
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
early, we haven't set board type, so we can't correctly check for
some options. Fix this by splitting option setting/getting into
generic, pci and then later board specific, option setting/getting.
This was noticed when setting 'iid' (or 'hard loop id') didn't work
all of a sudden.
Noticed by: Mike Drangula (thanks!) via Jung-uk Kim (thanks!)
Notes:
svn path=/head/; revision=166895
|
| |
|
|
|
|
|
|
| |
during loop rescans. They're not bad so much as unstable, so
don't print this stuff out unless ISP_LOGSANCFG is set.
Notes:
svn path=/head/; revision=166894
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a version that i posted earlier on the -current mailing list,
and subsequent feedback received.
The core of the change is just in sys/firmware.h and kern/subr_firmware.c,
while other files are just adaptation of the clients to the ABI change
(const-ification of some parameters and hiding of internal info,
so this is fully compatible at the binary level).
In detail:
- reduce the amount of information exported to clients in struct firmware,
and constify the pointer;
- internally, document and simplify the implementation of the various
functions, and make sure error conditions are dealt with properly.
The diffs are large, but the code is really straightforward now (i hope).
Note also that there is a subtle issue with the implementation of
firmware_register(): currently, as in the previous version, we just
store a reference to the 'imagename' argument, but we should rather
copy it because there is no guarantee that this is a static string.
I realised this while testing this code, but i prefer to fix it in
a later commit -- there is no regression with respect to the past.
Note, too, that the version in RELENG_6 has various bugs including
missing locks around the module release calls, mishandling of modules
loaded by /boot/loader, and so on, so an MFC is absolutely necessary
there. I was just postponing it until this cleanup to avoid doing
things twice.
MFC after: 1 week
Notes:
svn path=/head/; revision=166756
|
| |
|
|
| |
Notes:
svn path=/head/; revision=166615
|