Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/isp_pci.c
RevisionDateAuthorComments
 1.122  10-Nov-2019  chs in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.121  15-Oct-2019  christos remove conditional portion that was wrong and always false.
 1.120  09-Dec-2018  jdolecek use pci_intr_establish_xname() everywhere
 1.119  14-Jul-2016  msaitoh branches: 1.119.16; 1.119.18;
- Use aprint*() instead of printf() in xxx_attach().
- Add missing aprint_naive("\n");
- KNF
 1.118  07-Jul-2016  msaitoh KNF. Remove extra spaces. No functional change.
 1.117  29-Mar-2014  christos branches: 1.117.6;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.116  14-Sep-2013  martin Remove unused variable
 1.115  24-May-2011  joerg branches: 1.115.4; 1.115.14; 1.115.18;
Use proper format string
 1.114  28-Feb-2011  mjacob Update isp driver to be in sync with other platforms. Mostly very minor changes
with effectively zero impact on NetBSD.
 1.113  13-Nov-2010  uebayasi branches: 1.113.2; 1.113.4;
Don't pull in the whole uvm(9) API to access only PAGE_SIZE and
some other constants. These are provided by sys/param.h now.
 1.112  12-Apr-2010  mjacob Oops. Don't forget to set the isp_port value based upon PCI function code.
Otherwise you end up with both ports using the same WWPN. Bad.
Discovered by Havard. Pointy hat to me.
 1.111  26-Mar-2010  mjacob Synchronize with other platforms:

Strongly architect handles so we can more easily detect bogus
handles. This switches us to a full 32 bits for all handles.

Handle the case of FC disks disappearing and then reappearing-
at least at the FC transport level.

Some better and finer control of debug and non-debug printouts.
 1.110  07-Sep-2009  tsutsui branches: 1.110.2; 1.110.4;
Split device_t/softc.
Tested QLogic 1020 Fast Wide SCSI HBA at PCI.
Sbus attachment is untested, but not so much quirks in it.
 1.109  25-Jun-2009  mjacob Update ISP driver to latest and greatest. Includes support for the 8Gb part.
 1.108  12-May-2009  cegger use device_private().
"looks good" ad@
XXX for the device_t/softc split, please check the driver that no cases have been missed.
 1.107  06-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.106  06-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.105  07-Apr-2008  cegger branches: 1.105.4; 1.105.18;
use aprint_*_dev and device_xname and get rid of isp_name
 1.104  11-Mar-2008  mjacob Checkpoint of some fairly major isp(4) rototilling.

Reintroduce more of a 'channel' concept in preparation for NP-IV support.
This gets rid of the chanA/chanB concept as the 2400 can have up to 128
virtual channels. Actually, with MID firmware you can also have the 2200
and 2300 support 'channels, but they do it with an FL-Port topology.
Because FC cards can now have 'channels', just about every support
function for fibre channel had to be redone to have a channel index
as well. Rototill isp_ioctl.h for channel stuff as well.

Pick up a lot of work about fabric management (hopefully better) and keep
work in place that will allow for dynamic attachment/detachment of devices
(if I can figure out how to make the midlayer support it).

Merge the target code with external trees. Eventually it might even
be sorted out on NetBSD.

Update some firmware stuff.
 1.103  26-Jun-2007  mjacob branches: 1.103.8; 1.103.24; 1.103.28;
If we have 2K Login firmware for 23XX cards, remember to put out the
'extended' structure- not the older one. Matters for the swozzling
that goes on for big endian machines.
 1.102  25-May-2007  mjacob Whoops- I almost forgot. Thank MetrumRG Associates for material
support in making 4Gb NetBSD support possible.
 1.101  24-May-2007  mjacob Major update to isp(4) driver to bring it in line with external sources.

The major changes are:

+ 4Gb (24XX) card support
+ Rewritten fabric and loop evaluation code
+ New f/w sets

The 4Gb changes required major rototilling, which caused a rewrite of
fabric and loop eval code. The latter can now be set up to tune for
dynamic device arrival/departure if the framework is set up for it,
or to be firm about waiting for devices.

Testing has been principally on amd64, i386 and sparc64 and seems to
not have broken things for me.
 1.100  04-Mar-2007  christos branches: 1.100.2; 1.100.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.99  13-Jan-2007  cube branches: 1.99.2;
Make the logic of handling the options right.
 1.98  16-Nov-2006  christos __unused removal on arguments; approved by core.
 1.97  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.96  02-Sep-2006  christos branches: 1.96.2; 1.96.4;
add missing initializers
 1.95  29-Mar-2006  thorpej Use device_cfdata().
 1.94  11-Dec-2005  christos branches: 1.94.4; 1.94.6; 1.94.8; 1.94.10; 1.94.12;
merge ktrace-lwp.
 1.93  30-May-2005  christos branches: 1.93.2;
- const poisoning
- avoid variable shadowing.
 1.92  27-Feb-2005  perry nuke trailing whitespace
 1.91  10-Mar-2004  matt branches: 1.91.8; 1.91.10;
Fixes for that only support for the 2030 can be compiled in.
 1.90  04-Dec-2003  keihan netbsd.org -> NetBSD.org

This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean". Thanks for the patiance, and sorry for all the commits.
 1.89  07-Aug-2003  mjacob Add in changes from Matt Thomas to check for 64 bit PCI stuff.

Note that a Qlogic 1020 is Fast Wide, not Ultra Fast Wide.
 1.88  03-May-2003  wiz branches: 1.88.2;
DMA, not dma nor Dma.
 1.87  25-Nov-2002  thorpej Add ULL to 64-bit integer constants.
 1.86  18-Oct-2002  mjacob Put in, sight unseen, changes which should enable 10160 support.

Interestingly enough, Sun actually made a product out of the 10160,
which is a single channel variant of the 12160 (Ultra3) card.
 1.85  02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.84  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.83  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.82  12-Aug-2002  mjacob Various changes to allow for overriding just loopid and/or iid.
Fix a random 23XX ISR reading bug. Be chattier about HBA_BOTCH
errors. More f/w cashdump layering.
 1.81  15-Jun-2002  mjacob Make all 23XX cards 'touched'. We seem to, too often, hang when trying
to run ABOUT FIRMWARE at the first isp_reset call. We *do* check for
the registers being set with values which would tell us if there's
firmware running or not- but this seems to not always work. It's not
essential, so move on.
 1.80  17-May-2002  mjacob Slight touchup on last change- make sure HBA_BOTCH is set (just in case
somebody at a different level does the wrong thing) on ENOMEM/EAGAIN returns
from loading DMA.
 1.79  12-May-2002  matt branches: 1.79.2;
If a dma map can't be loaded due to resource shortage, make we report that
as a resource shortage instead of a driver stuffup.
 1.78  28-Apr-2002  mjacob suggestion from Jason: have (in non-verbose boot case) card type printed out
on same line as attachment line.
 1.77  22-Mar-2002  mjacob Handle Port Unavailable the same as Port Logout (i.e., send a LIP).

Unconst pointer to f/w in the ispdv structure. Too many compilers get
unhappy over our walking the array. Make casts as appropriate so that
initialization in structure is still happy.

Limit length of fabric to 256. This will all go away soon.

Do a cleaner case of keeping multiple CPUs/threads from reading the
same response queue entries.
 1.76  21-Feb-2002  mjacob Implement F/W crashdumps for 2200 && 2300 cards (kernel compile option).

Distinguish between 2312 and 2300 cards (they *are* different). Enable
RIO (Reduced Interrupt Operation) for the LVD cards (hey- I've seen
batched completions of the 30 commands at a time with this,....)...

If we get a Port Logout on local loop topologies, we have to force the
f/w to log back in. The easiest way (for us) to do this is to force
a LIP. This also will wake up the disk that probably just had a f/w crash.

Implement mailbox 'continuations'- this allows interrupts to re-drive
a mailbox command if it's one that just essentially repeats the previous
mailbox command (e.g., f/w download). This saves a boatload of sleep/wakeup
twitches.

If we're not a 2300 and we're about to return with a 'bogus interrupt'- check
the semaphore register to be non-zero at all and outgoing mailbox 0- this
seems to be where some of the lost ISP1080 commands came from.
 1.75  14-Dec-2001  mjacob Major restructuring for swizzling to the request queue and unswizzling from
the response queue. Instead of the ad hoc ISP_SWIZZLE_REQUEST, we now have
a complete set of inline functions in isp_inline.h. Each platform is
responsible for providing just one of a set of ISP_IOX_{GET,PUT}{8,16,32}
macros.

The reason this needs to be done is that we need to have a single set of
functions that will work correctly on multiple architectures for both little
and big endian machines. It also needs to work correctly in the case that
we have the request or response queues in memory that has to be treated
specially (e.g., have ddi_dma_sync called on it for Solaris after we update
it or before we read from it).

One thing that falls out of this is that we no longer build requests in the
request queue itself. Instead, we build the request locally (e.g., on the
stack) and then as part of the swizzling operation, copy it to the request
queue entry we've allocated. I thought long and hard about whether this was
too expensive a change to make as it in a lot of cases requires an extra
copy. On balance, the flexbility is worth it. With any luck, the entry that
we build locally stays in a processor writeback cache (after all, it's only
64 bytes) so that the cost of actually flushing it to the memory area that is
the shared queue with the PCI device is not all that expensive. We may examine
this again and try to get clever in the future to try and avoid copies.

Another change that falls out of this is that MEMORYBARRIER should be taken
a lot more seriously. The macro ISP_ADD_REQUEST does a MEMORYBARRIER on the
entry being added. But there had been many other places this had been missing.
It's now very important that it be done.

For NetBSD, it does a ddi_dmamap_sync as appropriate. This gets us out of
the explicit ddi_dmamap_sync on the whole response queue that we did for SBus
cards at each interrupt.

Set things up so that platforms that cannot have an SBus don't get a lot of
the SBus code checks (dead coded out).

Additional changes:

Fix a longstanding buglet of sorts. When we get an entry via isp_getrqentry,
the iptr value that gets returned is the value we intend to eventually plug
into the ISP registers as the entry *one past* the last one we've written-
*not* the current entry we're updating. All along we've been calling sync
functions on the wrong index value. Argh. The 'fix' here is to rename all
'iptr' variables as 'nxti' to remember that this is the 'next' pointer-
not the current pointer.

Devote a single bit to mboxbsy- and set aside bits for output mbox registers
that we need to pick up- we can have at least one command which does not
have any defined output registers (MBOX_EXECUTE_FIRMWARE).

Explicitly decode GetAllNext SNS Response back *as* a GetAllNext response.
Otherwise, we won't unswizzle it correctly.

Nuke some additional __P macros.
 1.74  13-Nov-2001  lukem add RCSID
 1.73  06-Oct-2001  mjacob Respect QLogic's errata- read BIU_ISR even on the 2300
to see if there's an interrupt (avoids PCI parity errors
which can occur on the 2312 if you access some registers
from the host at the same time the RISC on the 2312 is
accessing them).
 1.72  01-Sep-2001  mjacob branches: 1.72.2;
Add support for 2 Gigabit cards (2300/2312). This necessitated a change
in how interrupts are down- the 23XX has not only a different place to check
for an interrupt, but unlike all other QLogic cards, you have to read the
status as a 32 bit word- not 16 bit words. Rather than have device specific
functions as called from the core module (in isp_intr), it makes more sense
to have the platform/bus modules do the gruntwork of splitting out the
isr, semaphore register and the first outgoing mailbox register (if needed)
*prior* to calling isp_intr (if calling isp_intr is necessary at all).
 1.71  19-Jul-2001  thorpej Use BUS_DMA_READ and BUS_DMA_WRITE in some obvious places.
 1.70  07-Jul-2001  thorpej branches: 1.70.2;
bzero -> memset
 1.69  14-Jun-2001  mjacob Ooops- we need to allocate an array of pointers to scsipi_xfer structures
isp_maxcmds in length- not an array of scsipi_xfer structures isp_maxcmds
in length.
 1.68  14-Mar-2001  mjacob Clean up licence a bit. ANSIfy.
 1.67  07-Mar-2001  thorpej Add BUS_DMA_STREAMING to data transfer maps.
 1.66  12-Feb-2001  mjacob branches: 1.66.2;
set default HBA role
 1.65  30-Dec-2000  mjacob Use bootverbose to now set whether or not we add
ISP_LOGCONFIG and ISP_LOGINFO messages into the
default logging mask.
 1.64  28-Dec-2000  sommerfeld Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
 1.63  28-Dec-2000  mjacob Apply Bill Sommerfeld's -Wformat changes.
 1.62  23-Dec-2000  wiz Fix pathnames in comment.
 1.61  09-Dec-2000  mjacob Finally fix this driver to be sensible about the ENDIAN dance. It's not
quite simply a question of the Qlogic being little endian and having
to have stuff swapped on big endian machines- it also has to do with the
fact that the SBus and PCI DMA layouts are wierd with respect to this.

At any rate, now finally fixed- works on Mac G4, tested it on a SS10
for sparc, checked on alpha to see if I've broken anything, and as
soon as I get another spare afternoon I'll finally install a sparc64
version which should just work (as it'll be like the Mac).
 1.60  06-Dec-2000  mjacob Correct omission by the previous committer.
 1.59  14-Nov-2000  thorpej NBPG -> PAGE_SIZE
 1.58  17-Oct-2000  mjacob quiet chatty boot messages
 1.57  16-Oct-2000  mjacob Remember to establish default PORT WWN. Add in some LOGDEBUG2 messages
for the dma mapping code.
 1.56  14-Aug-2000  mjacob Add a maintenance note. Minor change in some logic in the DMA mapping.
 1.55  03-Aug-2000  mjacob More compilation breakage in the non-DEBUG case
(from Castor Fu <castor@geocast.com>)
 1.54  02-Aug-2000  mjacob Fix bonehead bug for compiles w/o DEBUG set
(thanks to KANETA Shin'ichi <kaneta@cr.chiba-u.ac.jp>)
 1.53  01-Aug-2000  mjacob Core version 2.0 (platform version 1.0) rewrite of ISP driver. Some
interace cleanups, some new common functions. The major impact that
will be noticeable right away is that if you boot with not Fibre connected
to the FC cards, you no longer hang indefinitely.
 1.52  05-Jul-2000  mjacob Use new isp_handle_index function. Redo how firmware is checked for
and loaded. Remember to enable interrupts after isp_reset but before
isp_attach. Return CMD_EAGAIN on request queue overflow so we can retry
the command when there's more queue space.
 1.51  19-Feb-2000  mjacob branches: 1.51.4;
Support for > 12 byte commands for parallel SCSI.
 1.50  12-Feb-2000  mjacob add (untested in NetBSD yet) Qlogic 12160 (Ultra3) suppot
 1.49  20-Dec-1999  mjacob get back to looking at config flags
 1.48  16-Dec-1999  mjacob Dual LVD (1280) support.
 1.47  04-Dec-1999  mjacob request/response queues now indexed via u_int16_t. Add back in f/w inclusion
and clean up it's compilation. get chip rev out of pci header.
 1.46  28-Oct-1999  mjacob Remove reference to loadable f/w.
 1.45  17-Oct-1999  mjacob branches: 1.45.2; 1.45.4;
Oops- missed a MAXISPREQUEST sized thing- these are all gone now. It's amazing
this didn't eat me.
 1.44  17-Oct-1999  mjacob stylistic cleanups
 1.43  14-Oct-1999  mjacob F/W version no longer relevant. Only do WWN seed for FC cards.
Now we malloc xflist and dma maps in mailbox setup routines.
We also do the appropriate endian swizzling at the end of a dma
map routine.
 1.42  30-Sep-1999  thorpej branches: 1.42.2;
Update for SCSPI changes.
 1.41  05-Jul-1999  mjacob Change to approved NASA/Ames copyright. Add in Qlogic 2200 support.
 1.40  12-May-1999  mjacob Do a fairly large internal restructuring to accomodate dual-bus host adapters
(e.g., the 1240). Include the new 1080/1240 NVRAM layout reading code. Some
moderately significant mailbox changes were necessary also to accomodate a
second channel.
 1.39  04-Apr-1999  mjacob Read the board revision and trim cache line size back from 16 to 1
for early revision 2100 boards. Make sure to turn ROM off for these
boards.
 1.38  27-Mar-1999  mjacob branches: 1.38.2; 1.38.4;
Oops- if you enable 1080 support, remember to load the f/w
 1.37  26-Mar-1999  mjacob add isp1080 support and some basic PDB change stuff
 1.36  17-Mar-1999  mjacob prototype 1080/1240 support
 1.35  09-Feb-1999  mjacob clean up pci configuration a bit
 1.34  30-Jan-1999  mjacob roll internal release tag
 1.33  10-Jan-1999  mjacob oops. Forgot to turn on PCI burst.
 1.32  28-Dec-1998  mjacob I mean *really* clean up headers
 1.31  28-Dec-1998  mjacob clean up headers; remove early revision 2100 workarounds
 1.30  17-Sep-1998  mjacob dma setup now returns CMD_QUEUED or CMD_COMPLETE. Clarify a ternary
operation that needed some parentheses.
 1.29  08-Sep-1998  mjacob Remove clocks as common code now can determine what clock rates to use.

Remove other than 8 byte bursts- until we clarify whether or not buggy
PCI implementatiosn really cause problems.
 1.28  12-Aug-1998  mjacob minor change to make the message less linux like
 1.27  31-Jul-1998  thorpej Back out part of previous; it is perfectly reasonable, and desirable, to
print out debugging info ifdef DEBUG.
 1.26  31-Jul-1998  mjacob Part A (Cosmetic nonsense):
>We're not Linux. If we still want driver version strings to be displayed
>at boot, then I suppose DEBUG is a reasonable compromise.
Makes the whole concept useless. This is for default printouts. If you
can build a debug kernel, you know what version you have. This was under
the concept of 'RAS' so that hapless users could tell you microversion
things. But I guess this isn't the right way according to our local
Jesuits. Oh, well. I'll think up something different and hopefully
less objectionable. And yes, NetBSD isn't linux. The developers seem
to be equally bad tempered, but linux is more successful.

Part B:
Field interrupts in OS layer so that (in this OS) bus_dmamap_sync(POSTREAD)
can (formally) ensure that the result queue is stable wrt to buffering
and that for sending a command a bus_dmamap_sync(PREWRITE) is done to
ensure that the device gets a good view of what the mailbox contents
should be.
 1.25  20-Jul-1998  thorpej branches: 1.25.2;
Oops, unused variable warning.
 1.24  20-Jul-1998  thorpej We're not Linux. If we still want driver version strings to be displayed
at boot, then I suppose DEBUG is a reasonable compromise.
 1.23  18-Jul-1998  mjacob fix bogus initialization
 1.22  18-Jul-1998  mjacob locking now out of main framework for isp_reset/isp_init
 1.21  15-Jul-1998  mjacob no framework
 1.20  08-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.19  04-Feb-1998  thorpej Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
 1.18  04-Feb-1998  thorpej Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
 1.17  10-Sep-1997  mjacob branches: 1.17.2;
For the 2100- the flags weren't quite right- but things worked anyway. Wierd.
 1.16  27-Aug-1997  bouyer Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.15  16-Aug-1997  mjacob Major rework to support Qlogic ISP2100 (Fibre Channel PCI card). Also now
able to read SXP registers (instead of panicing). Probably have done a bit
of setup overkill- we now alloc some scratch memory for the 2100 that I thought
I would need for the Port database, but so far I haven't needed to retrieve
the port database. Well, early days yet.
 1.14  08-Jun-1997  thorpej branches: 1.14.2; 1.14.4;
Fix pasto: sbus -> pci
 1.13  08-Jun-1997  thorpej - Update for changes to core ISP driver.
- Convert to use bus dma, greatly simplifying DMA setup.
 1.12  13-Apr-1997  cgd rename pci_map_register to pci_mapreg_map. The latter name is more
descriptive, and allows for a sane name for a function which just digs
the info out of the mapping register but doesn't do the mapping.
 1.11  13-Apr-1997  cgd use pci_map_register(). map both mem and I/O spaces, preferring mem
space if it's usable, but falling back to I/O space if mem isn't usable.
 1.10  05-Apr-1997  mjacob Add 60 (MHz) value for PCI clock frequency value. Also enable DMA bursting.
 1.9  28-Mar-1997  cgd clean up (unify) the register mapping code a bit
 1.8  28-Mar-1997  cgd punt pci_mem_find's &cacheable arg, and pass NULL instead. We never
want to map the memory register cacheable.
 1.7  28-Mar-1997  cgd clean up isp_pci_prefer_io comment
 1.6  16-Mar-1997  cgd map either via memory or I/O space, depending on the setting of a
patchable kernel variable. eventually, it might make sense to turn
this into a driver flag or something.
 1.5  13-Mar-1997  cgd change microcode array definitions from "unsigned short" to the more
correct u_int16_t, and remove bogus casts that the old definition
required.
 1.4  13-Mar-1997  mycroft Make the microcode table const.
 1.3  13-Mar-1997  cgd include <vm/vm.h> for vtophys() on x86. kill extra <sys/kernel.h> incl.
 1.2  12-Mar-1997  cgd NetBSD RCS ID tweaks, a few comment block tweaks. Also, make copyright
notices consistent (per Matt Jacob).
 1.1  12-Mar-1997  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  12-Mar-1997  cgd ISP 10x0 driver from Matthew Jacob of NASA Ames Research Center.
(March 12, 1997 version).
 1.14.4.3  16-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.14.4.2  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.14.4.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.14.2.2  26-Aug-1997  bouyer Update from trunk.
 1.14.2.1  01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.17.2.1  07-Nov-1998  cgd pull up revs 1.18-1.30 from trunk, and patch to make functional in
1.3.x. (mjacob)
 1.25.2.1  08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.38.4.2  02-Aug-1999  thorpej Update from trunk.
 1.38.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.38.2.2  13-May-2000  he Apply patch (requested by Matthew Jacob via he):
Correctly account for F-port vs. F-port (no FLOGI_ACC) topologies.
Make sure we get a port database entry for the fabric name server.
Preserve fabric logins if the device didn't change across fabric
or port database changes, or the device has already logged into
us (e.g., for target/initiator dual role devices like Veritas
SANbox). Propagate class 3 service parameter changes where devices
can change roles.

Fix all occurrences of setting a sendmarker so that setting it
for one bus on dual bus cards doesn't wipe a pending sendmarker
for other busses on the same card.

Comments added and clarifications made in some of the target mode code.

Add support for > 12 byte CDBs. Split out nvram reading into
per-card functions. Add proper Ultra2/Ultra3 support. Upgrade
firmware.
 1.38.2.1  08-Jan-2000  he Pull up revisions 1.31-1.41,1.43-1.49 (via patch, requested by mjacob):
Untangle Qlogic firmware copyright problems and update firmware.
Untangle some MD support issues for said firmware. Add 1280 (Dual
LVD), 1240 (Dual Ultra), 2200 (2nd Generation Qlogic FC chipset).
Fix some synchronous negotiation problems for parallel SCSI.
Firm up some Fabric Support issues.
 1.42.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.45.4.1  15-Nov-1999  fvdl Sync with -current
 1.45.2.8  27-Mar-2001  bouyer Sync with HEAD.
 1.45.2.7  12-Mar-2001  bouyer Sync with HEAD.
 1.45.2.6  05-Jan-2001  bouyer Sync with HEAD
 1.45.2.5  13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.45.2.4  08-Dec-2000  bouyer Sync with HEAD.
 1.45.2.3  22-Nov-2000  bouyer Sync with HEAD.
 1.45.2.2  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.45.2.1  20-Oct-1999  thorpej Eliminate sleeping from adapter routines.
 1.51.4.4  16-Mar-2001  he Pull up revisions 1.62-1.63,1.66,1.68 (requested by mjacob):
Fix pathnames in comment. Apply -Wformat changes.
Set default HBA role (to ISP_ROLE_INITIATOR).
 1.51.4.3  26-Jan-2001  jhawk Back out revision 1.60 (requested by mjacob), erroneously pulled up.
 1.51.4.2  25-Jan-2001  jhawk Pull up revisions 1.57-1.58, 1.60-1.61 (requested by mjacob):
Add in correct SBus bursting; upgrade to 2.01.26 firmware; pull to latest
initiator mode level; make changes to WWN default handling; quiet
chatty boot messages; fix endian code so MacPPC works; fix bug in
lock recursion counter; fix bug which excluded all but NL-ports from
being logged into on a fabric.
 1.51.4.1  28-Aug-2000  mjacob Complete rewrite of internals for isp core version 2.0.
Pullup to netbsd-1-5 approved by thorpej@netbsd.org.
 1.66.2.14  11-Dec-2002  thorpej Sync with HEAD.
 1.66.2.13  11-Nov-2002  nathanw Catch up to -current
 1.66.2.12  18-Oct-2002  nathanw Catch up to -current.
 1.66.2.11  13-Aug-2002  nathanw Catch up to -current.
 1.66.2.10  20-Jun-2002  nathanw Catch up to -current.
 1.66.2.9  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.66.2.8  28-Feb-2002  nathanw Catch up to -current.
 1.66.2.7  08-Jan-2002  nathanw Catch up to -current.
 1.66.2.6  14-Nov-2001  nathanw Catch up to -current.
 1.66.2.5  22-Oct-2001  nathanw Catch up to -current.
 1.66.2.4  21-Sep-2001  nathanw Catch up to -current.
 1.66.2.3  24-Aug-2001  nathanw Catch up with -current.
 1.66.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.66.2.1  09-Apr-2001  nathanw Catch up with -current.
 1.70.2.7  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.70.2.6  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.70.2.5  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.70.2.4  16-Mar-2002  jdolecek Catch up with -current.
 1.70.2.3  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.70.2.2  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.70.2.1  03-Aug-2001  lukem update to -current
 1.72.2.1  11-Oct-2001  fvdl Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.
 1.79.2.3  29-Aug-2002  gehenna catch up with -current.
 1.79.2.2  20-Jun-2002  gehenna catch up with -current.
 1.79.2.1  30-May-2002  gehenna Catch up with -current.
 1.88.2.5  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.88.2.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.88.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.88.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.88.2.1  03-Aug-2004  skrll Sync with HEAD
 1.91.10.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.91.8.1  29-Apr-2005  kent sync with -current
 1.93.2.5  17-Mar-2008  yamt sync with head.
 1.93.2.4  03-Sep-2007  yamt sync with head.
 1.93.2.3  26-Feb-2007  yamt sync with head.
 1.93.2.2  30-Dec-2006  yamt sync with head.
 1.93.2.1  21-Jun-2006  yamt sync with head.
 1.94.12.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.94.10.1  19-Apr-2006  elad sync with head.
 1.94.8.2  03-Sep-2006  yamt sync with head.
 1.94.8.1  01-Apr-2006  yamt sync with head.
 1.94.6.1  22-Apr-2006  simonb Sync with head.
 1.94.4.1  09-Sep-2006  rpaulo sync with head
 1.96.4.2  10-Dec-2006  yamt sync with head.
 1.96.4.1  22-Oct-2006  yamt sync with head
 1.96.2.2  01-Feb-2007  ad Sync with head.
 1.96.2.1  18-Nov-2006  ad Sync with head.
 1.99.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.100.4.1  11-Jul-2007  mjf Sync with head.
 1.100.2.2  15-Jul-2007  ad Sync with head.
 1.100.2.1  27-May-2007  ad Sync with head.
 1.103.28.2  02-Jun-2008  mjf Sync with HEAD.
 1.103.28.1  03-Apr-2008  mjf Sync with HEAD.
 1.103.24.1  24-Mar-2008  keiichi sync with head.
 1.103.8.1  23-Mar-2008  matt sync with HEAD
 1.105.18.2  23-Jul-2009  jym Sync with HEAD.
 1.105.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.105.4.4  11-Aug-2010  yamt sync with head.
 1.105.4.3  16-Sep-2009  yamt sync with head
 1.105.4.2  18-Jul-2009  yamt sync with head.
 1.105.4.1  16-May-2009  yamt sync with head
 1.110.4.3  31-May-2011  rmind sync with head
 1.110.4.2  05-Mar-2011  rmind sync with head
 1.110.4.1  30-May-2010  rmind sync with head
 1.110.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.113.4.1  05-Mar-2011  bouyer Sync with HEAD
 1.113.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.115.18.1  18-May-2014  rmind sync with head
 1.115.14.2  03-Dec-2017  jdolecek update from HEAD
 1.115.14.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.115.4.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.117.6.2  05-Oct-2016  skrll Sync with HEAD
 1.117.6.1  09-Jul-2016  skrll Sync with HEAD
 1.119.18.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.119.18.1  10-Jun-2019  christos Sync with HEAD
 1.119.16.1  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts

RSS XML Feed