History log of /freebsd/sys/dev/isp/isp_pci.c (Results 151 – 175 of 444)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 6a7d12e1 13-Mar-2007 Matt Jacob <mjacob@FreeBSD.org>

Move bus_space_tag and bus_space_handle register access
tokens into the common isp_osinfo structure instead of being
in bus specific structures. This allows us to implement
a SYNC_REG MEMORYBARRIER c

Move bus_space_tag and bus_space_handle register access
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

show more ...


# 70273f90 12-Mar-2007 Matt Jacob <mjacob@FreeBSD.org>

Fix compilation issues found in RELENG_4 port and merge the
diffs back to -current to keep versions identical.


# e48b2487 10-Mar-2007 Matt Jacob <mjacob@FreeBSD.org>

Fix some stupid copyright mistakes that have been there for quite some time.


# 5f538376 24-Feb-2007 Matt Jacob <mjacob@FreeBSD.org>

Redo previous newbus related change to be kinder to
multi-release support.


# ef544f63 23-Feb-2007 Paolo Pisati <piso@FreeBSD.org>

o break newbus api: add a new argument of type driver_filter_t to
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

o break newbus api: add a new argument of type driver_filter_t to
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@

show more ...


# 336b5612 23-Feb-2007 Matt Jacob <mjacob@FreeBSD.org>

There is a problem in setting/getting 'options'- if we check things
early, we haven't set board type, so we can't correctly check for
some options. Fix this by splitting option setting/getting into

There is a problem in setting/getting 'options'- if we check things
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!)

show more ...


# 392695e0 10-Feb-2007 Matt Jacob <mjacob@FreeBSD.org>

add a missing piece for 2432


# 41675df0 10-Feb-2007 Matt Jacob <mjacob@FreeBSD.org>

Putative untested 2432 (PCI-E) support.


# f9734398 23-Jan-2007 Matt Jacob <mjacob@FreeBSD.org>

Clean up some of the various platform and release specific dma tag
stuff so it is centralized in isp_freebsd.h.

Take out PCI posting flushed in qla2100/2200 register reads except for
2100s.


Revision tags: release/6.2.0_cvs, release/6.2.0
# 5ccae6a5 06-Jan-2007 Matt Jacob <mjacob@FreeBSD.org>

error print cleanup && turn off ints if RISC is paused


# 06cacb29 19-Dec-2006 Matt Jacob <mjacob@FreeBSD.org>

Restore revision 1.126 that got accidentally nuked.


# 3bda7a83 16-Dec-2006 Matt Jacob <mjacob@FreeBSD.org>

Implement ISP_RESET0 for PCI and SBUS attachments- isp_reset has
been modified to call ISP_RESET0 if it fails to do a reset. This
gives us a chance to disable interrupts.


# 3cce220c 10-Dec-2006 Matt Jacob <mjacob@FreeBSD.org>

Remove dependency on ispfw and firmware as modules.
Either they're there early and the ispfw sets have
registered themselves, or they're not.

The module dependency stuff isn't quite what we want
any

Remove dependency on ispfw and firmware as modules.
Either they're there early and the ispfw sets have
registered themselves, or they're not.

The module dependency stuff isn't quite what we want
anyway. If the user doesn't want the load placed on
system memory by loading the firmware, they don't
specify it to be loaded (either by being linked in
or via being a module to be loaded and then hooked
in with firmware(9)). It doesn't then make sense to
then override what they want by pulling it in anyway.

This might be able to work if we were able to pull in
just exactly what we needed for the card we have- but
that's an optimization left for the future.

show more ...


# 04697f7a 18-Nov-2006 Matt Jacob <mjacob@FreeBSD.org>

Make the SAN login/logout stuff more common between different chipsets
and provied an isp_control entry point so that the outer layers can
do PLOGI/LOGO explicitly. Add MS IOCB support. This complete

Make the SAN login/logout stuff more common between different chipsets
and provied an isp_control entry point so that the outer layers can
do PLOGI/LOGO explicitly. Add MS IOCB support. This completes the cycle
for base support for SMI-S.

show more ...


# 6301ffe5 17-Nov-2006 Matt Jacob <mjacob@FreeBSD.org>

Disable code to set max read byte count on the 2400.

It caused a panic in writing the config register on a system. Turn
it off until we take the time to understand it.

Reported by and Testing by: A

Disable code to set max read byte count on the 2400.

It caused a panic in writing the config register on a system. Turn
it off until we take the time to understand it.

Reported by and Testing by: Anton

show more ...


# f7c631bc 14-Nov-2006 Matt Jacob <mjacob@FreeBSD.org>

Push things closer to path failover by implementing loop down and
gone device timers and zombie state entries. There are tunables
that can be used to select a number of parameters.

loop_down_limit -

Push things closer to path failover by implementing loop down and
gone device timers and zombie state entries. There are tunables
that can be used to select a number of parameters.

loop_down_limit - how long to wait for loop to come back up before
declaring
all devices dead (default 300 seconds)

gone_device_time- how long to wait for a device that has appeared
to leave the loop or fabric to reappear (default 30 seconds)

Internal tunables include (which should be externalized):

quick_boot_time- how long to wait when booting for loop to come up

change_is_bad- whether or not to accept devices with the same
WWNN/WWPN that reappear at a different PortID as being the 'same'
device.

Keen students of some of the subtle issues here will ask how
one can keep devices from being re-accepted at all (the answer
is to set a gone_device_time to zero- that effectively would
be the same thing).

show more ...


# 10365e5a 02-Nov-2006 Matt Jacob <mjacob@FreeBSD.org>

Add 4Gb (24XX) support and lay the foundation for a lot of new stuff.


# 198b3358 03-Sep-2006 Matt Jacob <mjacob@FreeBSD.org>

Restore multi-version cleanliness.


# 378f231e 03-Sep-2006 John-Mark Gurney <jmg@FreeBSD.org>

add a newbus method for obtaining the bus's bus_dma_tag_t... This is
required by arches like sparc64 (not yet implemented) and sun4v where there
are seperate IOMMU's for each PCI bus... For all oth

add a newbus method for obtaining the bus's bus_dma_tag_t... This is
required by arches like sparc64 (not yet implemented) and sun4v where there
are seperate IOMMU's for each PCI bus... For all other arches, it will
end up returning NULL, which makes it a no-op...

Convert a few drivers (the ones we've been working w/ on sun4v) to the
new convection... Eventually all drivers will need to replace the parent
tag of NULL, w/ bus_get_dma_tag(dev), though dev is usually different for
each driver, and will require hand inspection...

Reviewed by: scottl (earlier version)

show more ...


# 8070de63 01-Sep-2006 Matt Jacob <mjacob@FreeBSD.org>

More ispfwfunc definitions funnies which break pre-7.0 builds.


# 2298c14c 21-Aug-2006 Matt Jacob <mjacob@FreeBSD.org>

Fix RELENG_4 code version- isp_roles wasn't getting initialized so
it ended up defaulting to ISP_ROLE_NONE. My testing hadn't caught it
because I was deliberatly setting role via ioctl.

Thanks to us

Fix RELENG_4 code version- isp_roles wasn't getting initialized so
it ended up defaulting to ISP_ROLE_NONE. My testing hadn't caught it
because I was deliberatly setting role via ioctl.

Thanks to user Toni for lending me an alpha to test this on.

MFC after: 0 days

show more ...


# 4cc9e3e7 14-Aug-2006 Matt Jacob <mjacob@FreeBSD.org>

The register offset is within 4K, not 256 bytes, for some QLogic cards.


# 799881e0 16-Jul-2006 Matt Jacob <mjacob@FreeBSD.org>

Some rearrangement of headers to minimize diffs with outside of
FreeBSD repository and to clean up the license header so as to
not pollute the license with file function.

Zero all mailbox structures

Some rearrangement of headers to minimize diffs with outside of
FreeBSD repository and to clean up the license header so as to
not pollute the license with file function.

Zero all mailbox structures prior to use (just in case). Change
the outgoing mailbox count for INIT_FIRMWARE to be correct.

show more ...


# a887f1a6 14-Jul-2006 Matt Jacob <mjacob@FreeBSD.org>

Don't attach 2422's yet. It just confuses everyone.


# 9a5af410 09-Jul-2006 Matt Jacob <mjacob@FreeBSD.org>

Convert isp(4) and ispfw(4) to use firmware(9) to manage firmware
loading for the QLogic cards.

Because isp(4) exists before the root is mounted, it's not really
possible for us to use the kernel's

Convert isp(4) and ispfw(4) to use firmware(9) to manage firmware
loading for the QLogic cards.

Because isp(4) exists before the root is mounted, it's not really
possible for us to use the kernel's linker to load modules directly
from disk- that's really too bad.

However, the this is still a net win in in that the firmware has
been split up on a per chip (and in some cases, functionality)
basis, so the amount of stuff loaded *can* be substantially less
than the 1.5MB of firmware images that ispfw now manages. That is,
each specific f/w set is now also built as a module. For example,
QLogic 2322 f/w is built as isp_2322.ko and Initiator/Target 1080
firmware is built as isp_1080_it.ko.

For compatibility purposes (i.e., to perturb folks the least), we
also still build all of the firmware as one ispfw.ko module.

This allows us to let 'ispfw_LOAD' keep on working in existing
loader.conf files. If you now want to strip this down to just
the firmware for your h/w, you can then change loader.conf to
load the f/w you specifically want.

We also still allow for ispfw to be statically built (e.g., for
PAE and sparc64).

Future changes will look at f/w unloading and also role switching
that then uses the kernel linker to load different ips f/w sets.
MFC after: 2 months

show more ...


12345678910>>...18