aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp/isp_sbus.c
Commit message (Collapse)AuthorAgeFilesLines
...
* - 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
* 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
* 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-171-3/+3
| | | | | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde Notes: svn path=/head/; revision=127135
* 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
* Use __FBSDID().David E. O'Brien2003-08-241-2/+3
| | | | | | | 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
* Mega busdma API commit.Scott Long2003-07-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Back out M_* changes, per decision of the TRB.Warner Losh2003-02-191-2/+2
| | | | | | | Approved by: trb Notes: svn path=/head/; revision=111119
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.Alfred Perlstein2003-01-211-2/+2
| | | | | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT. Notes: svn path=/head/; revision=109623
* Redo dma tag creation to correctly reflect the boundary and segmentMatt Jacob2002-09-231-8/+7
| | | | | | | limitations inherent to the isp1000 on SBus cards. Notes: svn path=/head/; revision=103823
* Frequency default should be '25' for 25MHz, not 25000000.Matt Jacob2002-07-251-7/+23
| | | | | | | | | | | | | Through the PITA of endiannness, clock has to be MHz freq << 8. Don't trust NVRAM on SBus cards. Set a default initiator ID sensibly. SBus/ISP now working, what with the change to sbus.c earlier today. Notes: svn path=/head/; revision=100690
* Make sure that if are in fact using 'full SMP', make the interruptMatt Jacob2002-07-251-6/+9
| | | | | | | | | | | | flags include INTR_MPSAFE. Put the flags in a common place so that both isp_sbus && isp_pci DTRT. In isp_mbxdma setup, drop any locks prior to calling things like bus_dmatag_create. This gets rid of these obnoxious WITNESS messages about 'sleeping with locks held' blah blah blah blah blah. Notes: svn path=/head/; revision=100680
* Remove a couple of debugging lines.Matt Jacob2002-07-111-7/+0
| | | | Notes: svn path=/head/; revision=99758
* 'Support' for ISP SBus cards.Matt Jacob2002-07-111-0/+841
This code does not imply that SBus cards work yet. They hang for me. But I can't netboot the latest snapshot on my ultra1e, and things hang at bus_setup_intr time. Since I'm offline for a while, I thought I'd toss this in in case somebody else who has a bit better luck wants to fart around with it. Please try and wait until I get back to check things in. Notes: svn path=/head/; revision=99756