#
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 ...
|