summaryrefslogtreecommitdiff
path: root/sys/dev/isp
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagrelease/5.4.0_cvscvs2svn2005-05-0715-15/+15
| | | | | | 'RELENG_5_4_0_RELEASE'. This commit was manufactured to restore the state of the 5.4-RELEASE image.
* MFC: /*- and my license changes for sys/[a-d]*Warner Losh2005-01-3011-11/+11
| | | | Notes: svn path=/stable/5/; revision=141016
* MFC: 6312 supportMatt Jacob2005-01-296-26/+105
| | | | Notes: svn path=/stable/5/; revision=140955
* MFC fixes for working with PAE kernels.Matt Jacob2004-10-112-14/+158
| | | | | | | Approved by: re Notes: svn path=/stable/5/; revision=136408
* MFC 1.103- turn of sleeping in top half due to conflicts with geom design.Matt Jacob2004-08-271-0/+2
| | | | | | | Approved by: re Notes: svn path=/stable/5/; revision=134387
* - Introduce an ofw_bus kobj-interface for retrieving the OFW node and aMarius Strobl2004-08-121-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | subset ("compatible", "device_type", "model" and "name") of the standard properties in drivers for devices on Open Firmware supported busses. The standard properties "reg", "interrupts" und "address" are not covered by this interface because they are only of interest in the respective bridge code. There's a remaining standard property "status" which is unclear how to support properly but which also isn't used in FreeBSD at present. This ofw_bus kobj-interface allows to replace the various (ebus_get_node(), ofw_pci_get_node(), etc.) and partially inconsistent (central_get_type() vs. sbus_get_device_type(), etc.) existing IVAR ones with a common one. This in turn allows to simplify and remove code-duplication in drivers for devices that can hang off of more than one OFW supported bus. - Convert the sparc64 Central, EBus, FHC, PCI and SBus bus drivers and the drivers for their children to use the ofw_bus kobj-interface. The IVAR- interfaces of the Central, EBus and FHC are entirely replaced by this. The PCI bus driver used its own kobj-interface and now also uses the ofw_bus one. The IVARs special to the SBus, e.g. for retrieving the burst size, remain. Beware: this causes an ABI-breakage for modules of drivers which used the IVAR-interfaces, i.e. esp(4), hme(4), isp(4) and uart(4), which need to be recompiled. The style-inconsistencies introduced in some of the bus drivers will be fixed by tmm@ in a generic clean-up of the respective drivers later (he requested to add the changes in the "new" style). - Convert the powerpc MacIO bus driver and the drivers for its children to use the ofw_bus kobj-interface. This invloves removing the IVARs related to the "reg" property which were unused and a leftover from the NetBSD origini of the code. There's no ABI-breakage caused by this because none of these driver are currently built as modules. There are other powerpc bus drivers which can be converted to the ofw_bus kobj-interface, e.g. the PCI bus driver, which should be done together with converting powerpc to use the OFW PCI code from sparc64. - Make the SBus and FHC front-end of zs(4) and the sparc64 eeprom(4) take advantage of the ofw_bus kobj-interface and simplify them a bit. Reviewed by: grehan, tmm Approved by: re (scottl) Discussed with: tmm Tested with: Sun AX1105, AXe, Ultra 2, Ultra 60; PPC cross-build on i386 Notes: svn path=/head/; revision=133589
* Do the dreaded s/dev_t/struct cdev */Poul-Henning Kamp2004-06-161-1/+1
| | | | | | | Bump __FreeBSD_version accordingly. Notes: svn path=/head/; revision=130585
* Add missing <sys/module.h> includes currently relying on nested includePoul-Henning Kamp2004-06-031-0/+1
| | | | | | | in <sys/kernel.h> Notes: svn path=/head/; revision=130026
* Store the target handles in a separate list from normal commands. Add aNate Lawson2004-05-246-15/+125
| | | | | | | | | CTIO fast post routine to handle CTIO completions. Submitted by: mjacob Notes: svn path=/head/; revision=129643
* Correct the boundary parameter to the bus_dma_tag_create() calls (it wasThomas Moestl2004-03-231-2/+2
| | | | | | | | | | (1 << 24) - 2 instead of 1 << 24, which it was obviously intended to be). This fixes SBus isp(4)s on sparc64 machines. Report and testing: Marius Strobl <marius@alchemy.franken.de> Notes: svn path=/head/; revision=127346
* Convert callers to the new bus_alloc_resource_any(9) API.Nate Lawson2004-03-172-7/+7
| | | | | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde Notes: svn path=/head/; revision=127135
* These are changes to allow to use the Intel C/C++ compiler (lang/icc)Tom Rhodes2004-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to build the kernel. It doesn't affect the operation if gcc. Most of the changes are just adding __INTEL_COMPILER to #ifdef's, as icc v8 may define __GNUC__ some parts may look strange but are necessary. Additional changes: - in_cksum.[ch]: * use a generic C version instead of the assembly version in the !gcc case (ASM code breaks with the optimizations icc does) -> no bad checksums with an icc compiled kernel Help from: andre, grehan, das Stolen from: alpha version via ppc version The entire checksum code should IMHO be replaced with the DragonFly version (because it isn't guaranteed future revisions of gcc will include similar optimizations) as in: ---snip--- Revision Changes Path 1.12 +1 -0 src/sys/conf/files.i386 1.4 +142 -558 src/sys/i386/i386/in_cksum.c 1.5 +33 -69 src/sys/i386/include/in_cksum.h 1.5 +2 -0 src/sys/netinet/igmp.c 1.6 +0 -1 src/sys/netinet/in.h 1.6 +2 -0 src/sys/netinet/ip_icmp.c 1.4 +3 -4 src/contrib/ipfilter/ip_compat.h 1.3 +1 -2 src/sbin/natd/icmp.c 1.4 +0 -1 src/sbin/natd/natd.c 1.48 +1 -0 src/sys/conf/files 1.2 +0 -1 src/sys/conf/files.amd64 1.13 +0 -1 src/sys/conf/files.i386 1.5 +0 -1 src/sys/conf/files.pc98 1.7 +1 -1 src/sys/contrib/ipfilter/netinet/fil.c 1.10 +2 -3 src/sys/contrib/ipfilter/netinet/ip_compat.h 1.10 +1 -1 src/sys/contrib/ipfilter/netinet/ip_fil.c 1.7 +1 -1 src/sys/dev/netif/txp/if_txp.c 1.7 +1 -1 src/sys/net/ip_mroute/ip_mroute.c 1.7 +1 -2 src/sys/net/ipfw/ip_fw2.c 1.6 +1 -2 src/sys/netinet/igmp.c 1.4 +158 -116 src/sys/netinet/in_cksum.c 1.6 +1 -1 src/sys/netinet/ip_gre.c 1.7 +1 -2 src/sys/netinet/ip_icmp.c 1.10 +1 -1 src/sys/netinet/ip_input.c 1.10 +1 -2 src/sys/netinet/ip_output.c 1.13 +1 -2 src/sys/netinet/tcp_input.c 1.9 +1 -2 src/sys/netinet/tcp_output.c 1.10 +1 -1 src/sys/netinet/tcp_subr.c 1.10 +1 -1 src/sys/netinet/tcp_syncache.c 1.9 +1 -2 src/sys/netinet/udp_usrreq.c 1.5 +1 -2 src/sys/netinet6/ipsec.c 1.5 +1 -2 src/sys/netproto/ipsec/ipsec.c 1.5 +1 -1 src/sys/netproto/ipsec/ipsec_input.c 1.4 +1 -2 src/sys/netproto/ipsec/ipsec_output.c and finally remove sys/i386/i386 in_cksum.c sys/i386/include in_cksum.h ---snip--- - endian.h: * DTRT in C++ mode - quad.h: * we don't use gcc v1 anymore, remove support for it Suggested by: bde (long ago) - assym.h: * avoid zero-length arrays (remove dependency on a gcc specific feature) This change changes the contents of the object file, but as it's only used to generate some values for a header, and the generator knows how to handle this, there's no impact in the gcc case. Explained by: bde Submitted by: Marius Strobl <marius@alchemy.franken.de> - aicasm.c: * minor change to teach it about the way icc spells "-nostdinc" Not approved by: gibbs (no reply to my mail) - bump __FreeBSD_version (lang/icc needs to know about the changes) Incarnations of this patch survive gcc compiles since a loooong time, I use it on my desktop. An icc compiled kernel works since Nov. 2003 (exceptions: snd_* if used as modules), it survives a build of the entire ports collection with icc. Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>. Reviewed by: -arch Submitted by: netchild Notes: svn path=/head/; revision=126891
* Device megapatch 4/6:Poul-Henning Kamp2004-02-211-0/+2
| | | | | | | | | | | Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION. Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags. Notes: svn path=/head/; revision=126080
* Device megapatch 1/6:Poul-Henning Kamp2004-02-211-2/+0
| | | | | | | | | | Free approx 86 major numbers with a mostly automatically generated patch. A number of strategic drivers have been left behind by caution, and a few because they still (ab)use their major number. Notes: svn path=/head/; revision=126076
* We aren't D_TAPE. We aren't anything. The reasons why this was ever setMatt Jacob2004-02-161-1/+0
| | | | | | | at all is lost in the mists of time. Notes: svn path=/head/; revision=125877
* Remove condition variables and status associated with target modeMatt Jacob2004-02-081-246/+169
| | | | | | | | | | | enabling. Instead, go to an interrupt/polled model. Fix get_lun_statep so we don't panic if there are no wildcard luns enabled. MFC after: 6 days Notes: svn path=/head/; revision=125597
* Remove condition variables and status associated with target modeMatt Jacob2004-02-081-6/+2
| | | | | | | | | enabling. Instead, go to an interrupt/polled model. MFC after: 6 days Notes: svn path=/head/; revision=125596
* Checkpoint of work in progress in cleaning up target mode. It actuallyMatt Jacob2004-02-071-16/+92
| | | | | | | | | | seems to work well in RELENG_4. However, 5.X locking foo means that I'll have to do some quick redesign. Add ioctl handlers for ISP_GETROLE and ISP_SETROLE ioctls. Notes: svn path=/head/; revision=125549
* add a count for inotifies as well as atios.Matt Jacob2004-02-071-0/+1
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=125548
* Reverse role defines for initiator and target mode to better match theMatt Jacob2004-02-071-4/+6
| | | | | | | | | | | | class 3 service parameters we'd get. Steal 8 bits out of the portid u_int32_t for role information (port ids are 24 bits anyway). MFC after: 1 week Notes: svn path=/head/; revision=125547
* Add case to handle ISPCTL_GET_PDB.Matt Jacob2004-02-071-0/+9
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=125546
* If we're defined to have a default role for target mode, make itMatt Jacob2004-02-071-5/+4
| | | | | | | | | just ISP_ROLE_TARGET- not both. MFC after: 1 week Notes: svn path=/head/; revision=125545
* Change role defines so that they better match class 3 service parameters.Matt Jacob2004-02-071-3/+4
| | | | | | | | | Add ISPCTL_GET_PDB isp_control operation. MFC after: 1 week Notes: svn path=/head/; revision=125544
* Fix a bug where we never managed to include the sense data we wanted to send.Matt Jacob2004-01-291-2/+2
| | | | Notes: svn path=/head/; revision=125189
* Fix longstanding buglet- for centrally handled CTIO2s we were checking the wrongMatt Jacob2004-01-291-2/+3
| | | | | | | | | | bit for this being the last CTIO2. It didn't matter since it really was the last CTIO2 and the resources recycled, but still.... Add in CTIO3 define for future DAC work. Notes: svn path=/head/; revision=125187
* If we have ISP_ROLE_INITIATOR set, make sure that we clear ICBOPT_INI_DISABLEMatt Jacob2004-01-231-0/+6
| | | | | | | | from the fwoptions. Likewise, we *set* ICBOPT_INI_DISABLE if we don't have initiator role. Notes: svn path=/head/; revision=124894
* add MAKE_WWN_FROM_NODE_NAME macroMatt Jacob2004-01-231-0/+10
| | | | Notes: svn path=/head/; revision=124893
* Add firmware major, minor and micro revsions to the ISP_FC_GETHINFO ioctlMatt Jacob2004-01-232-0/+7
| | | | | | | structure. Notes: svn path=/head/; revision=124892
* fix broken _IOR usageMatt Jacob2003-11-141-1/+1
| | | | Notes: svn path=/head/; revision=122638
* Turn off ISP_SMPLOCK- not to be turned on again.Matt Jacob2003-10-211-1/+1
| | | | | | | | Until we can have perfect knowledge that all callers above us think it's okay for us to sleep, releasing *our* locks of course, we don't dare try and sleep. Notes: svn path=/head/; revision=121317
* The present defaults for the open and close for device drivers whichPoul-Henning Kamp2003-09-271-2/+0
| | | | | | | | | | | | | | | | | provide no methods does not make any sense, and is not used by any driver. It is a pretty hard to come up with even a theoretical concept of a device driver which would always fail open and close with ENODEV. Change the defaults to be nullopen() and nullclose() which simply does nothing. Remove explicit initializations to these from the drivers which already used them. Notes: svn path=/head/; revision=120506
* Add a module dependancy. Now CAM will autoload when you load this.Mark Murray2003-09-151-0/+1
| | | | | | | OK'ed by: mdodd Notes: svn path=/head/; revision=120088
* NetBSD'er with time on their hands (dma->DMA)Matt Jacob2003-09-131-1/+1
| | | | Notes: svn path=/head/; revision=120018
* Bland synchronization of common source with no effect on FreeBSD whatsomever.Matt Jacob2003-09-131-66/+132
| | | | Notes: svn path=/head/; revision=120017
* Some ridiculous target mode botches- like having the wrong definitionsMatt Jacob2003-09-132-32/+34
| | | | | | | | for messages. Some spelling fixes. Some target mode structure cleanups to reflect reality. Notes: svn path=/head/; revision=120016
* Some canonicalization function cleanups based upon some target modeMatt Jacob2003-09-131-13/+2
| | | | | | | structure cleanups. Notes: svn path=/head/; revision=120015
* No time like the present to turn back on SMP locking.Matt Jacob2003-09-131-2/+1
| | | | Notes: svn path=/head/; revision=120014
* Report correct active vs. nvram node/port WWNs in an ioctl.Matt Jacob2003-09-131-2/+4
| | | | Notes: svn path=/head/; revision=120013
* On reset, make sure that we have some parameters set correctly. ThisMatt Jacob2003-09-131-1/+18
| | | | | | | | | | | | | | | fixes a longstanding issue WRT resetting the chip after startup- it would fail if we were connected as an F-port to a switch. If we were connected as an F-port, we got assigned a hard loop ID of 255, which is really a bogus loop id. Then when we turned around to reset ourselves, the firmware would reject the ICB_INIT request because the loop id was bogus. *sputter* Minor fixlet from somebody in NetBSD with too much time on their hands (dma -> DMA). Notes: svn path=/head/; revision=120012
* Move the inclusion of <machine/ofw_machdep.h> after the inclusion ofMarcel Moolenaar2003-09-021-1/+1
| | | | | | | | | | <dev/ofw/openfirm.h> to allow the former to contain prototypes that use types defined in the latter. Reviewed by: mjacob@ Notes: svn path=/head/; revision=119694
* Revert previous commit. Violates Maintainer (O'Brien knows how toMatt Jacob2003-08-251-13/+24
| | | | | | | | reach me directly), but more importantly, breaks compiles on non-FreeBSD platforms. Notes: svn path=/head/; revision=119459
* Use __FBSDID().David E. O'Brien2003-08-244-6/+14
| | | | | | | Also some minor style cleanups. Notes: svn path=/head/; revision=119418
* s=include <ofw/=include <dev/ofw/= to reflect removal of -I$S/devWarner Losh2003-08-231-1/+1
| | | | Notes: svn path=/head/; revision=119338
* Prefer new location of pci include files (which have only been in theWarner Losh2003-08-221-2/+2
| | | | | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD. Notes: svn path=/head/; revision=119280
* Mega busdma API commit.Scott Long2003-07-012-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour. sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen. If anyone gets panics or warnings from dflt_lock() being called, please let me know right away. Reviewed by: tmm, gibbs Notes: svn path=/head/; revision=117126
* Merge common XPT_CALC_GEOMETRY functions into a single convenience function.Nate Lawson2003-06-141-13/+1
| | | | | | | | | | | | | | | | Devices below may experience a change in geometry. * Due to a bug, aic(4) never used extended geometry. Changes all drives >1G to now use extended translation. * sbp(4) drives exactly 1 GB in size now no longer use extended geometry. * umass(4) drives exactly 1 GB in size now no longer use extended geometry. For all other controllers in this commit, this should be a no-op. Looked over by: scottl Notes: svn path=/head/; revision=116351
* Restore parentheses removed inappropriately in last commit.Matt Jacob2003-06-011-2/+3
| | | | Notes: svn path=/head/; revision=115630
* Remove unused variablesPoul-Henning Kamp2003-05-312-6/+5
| | | | | | | | | Add /* FALLTHROUGH */ Found by: FlexeLint Notes: svn path=/head/; revision=115521
* Add an explanatory comment about what operational modes in xfwopt are.Matt Jacob2003-03-251-1/+5
| | | | Notes: svn path=/head/; revision=112593
* Gigacommit to improve device-driver source compatibility betweenPoul-Henning Kamp2003-03-031-13/+6
| | | | | | | | | | | | | | | | branches: Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values. This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386. Approved by: re(scottl) Notes: svn path=/head/; revision=111815