cvs commit: src/sys/alpha/alpha busdma_machdep.csrc/sys/alpha/include
bus.h src/sys/alpha/isa isa_dma.c src/sys/amd64/amd64
busdma_machdep.c src/sys/amd64/include bus_dma.h src/sys/dev/aac
aac.c aac_pci.c src/sys/dev/advansys adv_eisa.c adv_isa.c ...
Scott Long
scottl at FreeBSD.org
Tue Jul 1 08:52:09 PDT 2003
scottl 2003/07/01 08:52:06 PDT
FreeBSD src repository
Modified files:
sys/alpha/alpha busdma_machdep.c
sys/alpha/include bus.h
sys/alpha/isa isa_dma.c
sys/amd64/amd64 busdma_machdep.c
sys/amd64/include bus_dma.h
sys/dev/aac aac.c aac_pci.c
sys/dev/advansys adv_eisa.c adv_isa.c adv_pci.c advansys.c
adw_pci.c adwcam.c
sys/dev/aha aha.c aha_isa.c aha_mca.c
sys/dev/ahb ahb.c
sys/dev/aic7xxx ahc_eisa.c ahc_pci.c ahd_pci.c
aic79xx_osm.h aic7xxx_osm.h
sys/dev/amd amd.c
sys/dev/amr amr_pci.c
sys/dev/an if_an_pci.c
sys/dev/ata ata-dma.c
sys/dev/ath if_ath_pci.c
sys/dev/buslogic bt.c bt_eisa.c bt_isa.c bt_mca.c bt_pci.c
sys/dev/ciss ciss.c
sys/dev/ct ct_isa.c
sys/dev/dpt dpt_eisa.c dpt_isa.c dpt_pci.c dpt_scsi.c
sys/dev/em if_em.c
sys/dev/en midway.c
sys/dev/fatm if_fatm.c
sys/dev/firewire fwdma.c fwohci.c fwohci_pci.c sbp.c
sys/dev/fxp if_fxp.c
sys/dev/gem if_gem.c
sys/dev/hatm if_hatm.c
sys/dev/hifn hifn7751.c
sys/dev/hme if_hme.c
sys/dev/ida ida.c ida_eisa.c ida_pci.c
sys/dev/iir iir.c iir_pci.c
sys/dev/ips ips.c ips_commands.c ips_ioctl.c
ips_pci.c
sys/dev/isp isp_pci.c isp_sbus.c
sys/dev/lnc if_lnc_cbus.c if_lnc_isa.c if_lnc_pci.c
sys/dev/mlx mlx.c mlx_pci.c
sys/dev/mly mly.c
sys/dev/mpt mpt_pci.c
sys/dev/sound/isa ad1816.c ess.c mss.c sb16.c sb8.c
sys/dev/sound/pci als4000.c au88x0.c aureal.c cmi.c
cs4281.c csapcm.c ds1.c emu10k1.c
es137x.c fm801.c ich.c maestro.c
maestro3.c solo.c t4dwave.c via8233.c
via82c686.c vibes.c
sys/dev/sound/usb uaudio_pcm.c
sys/dev/sym sym_hipd.c
sys/dev/trm trm.c
sys/dev/twe twe_freebsd.c
sys/dev/tx if_tx.c
sys/dev/ubsec ubsec.c
sys/dev/wds wd7000.c
sys/dev/wi if_wi.c
sys/i386/acpica acpi_wakeup.c
sys/i386/i386 busdma_machdep.c
sys/i386/include bus_dma.h
sys/i4b/layer1/itjc i4b_itjc_pci.c
sys/ia64/ia64 busdma_machdep.c
sys/ia64/include bus.h
sys/ia64/isa isa_dma.c
sys/pci if_rl.c if_sis.c if_xl.c
sys/powerpc/include bus.h
sys/powerpc/powerpc busdma_machdep.c
sys/sparc64/include bus.h
sys/sparc64/pci psycho.c
sys/sparc64/sbus sbus.c
sys/sparc64/sparc64 bus_machdep.c
Log:
Mega busdma API commit.
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
Revision Changes Path
1.40 +55 -6 src/sys/alpha/alpha/busdma_machdep.c
1.22 +18 -1 src/sys/alpha/include/bus.h
1.9 +4 -0 src/sys/alpha/isa/isa_dma.c
1.47 +55 -6 src/sys/amd64/amd64/busdma_machdep.c
1.23 +17 -1 src/sys/amd64/include/bus_dma.h
1.70 +12 -9 src/sys/dev/aac/aac.c
1.35 +1 -0 src/sys/dev/aac/aac_pci.c
1.14 +8 -0 src/sys/dev/advansys/adv_eisa.c
1.23 +6 -0 src/sys/dev/advansys/adv_isa.c
1.19 +6 -0 src/sys/dev/advansys/adv_pci.c
1.26 +6 -0 src/sys/dev/advansys/advansys.c
1.16 +4 -0 src/sys/dev/advansys/adw_pci.c
1.17 +10 -0 src/sys/dev/advansys/adwcam.c
1.48 +10 -0 src/sys/dev/aha/aha.c
1.22 +4 -0 src/sys/dev/aha/aha_isa.c
1.7 +4 -0 src/sys/dev/aha/aha_mca.c
1.30 +6 -0 src/sys/dev/ahb/ahb.c
1.30 +3 -1 src/sys/dev/aic7xxx/ahc_eisa.c
1.54 +3 -1 src/sys/dev/aic7xxx/ahc_pci.c
1.9 +3 -1 src/sys/dev/aic7xxx/ahd_pci.c
1.11 +1 -1 src/sys/dev/aic7xxx/aic79xx_osm.h
1.23 +2 -2 src/sys/dev/aic7xxx/aic7xxx_osm.h
1.21 +7 -1 src/sys/dev/amd/amd.c
1.17 +6 -0 src/sys/dev/amr/amr_pci.c
1.21 +2 -0 src/sys/dev/an/if_an_pci.c
1.116 +8 -3 src/sys/dev/ata/ata-dma.c
1.2 +2 -0 src/sys/dev/ath/if_ath_pci.c
1.40 +10 -0 src/sys/dev/buslogic/bt.c
1.17 +4 -0 src/sys/dev/buslogic/bt_eisa.c
1.21 +6 -0 src/sys/dev/buslogic/bt_isa.c
1.7 +6 -0 src/sys/dev/buslogic/bt_mca.c
1.14 +4 -0 src/sys/dev/buslogic/bt_pci.c
1.24 +3 -0 src/sys/dev/ciss/ciss.c
1.8 +3 -2 src/sys/dev/ct/ct_isa.c
1.17 +5 -1 src/sys/dev/dpt/dpt_eisa.c
1.6 +2 -0 src/sys/dev/dpt/dpt_isa.c
1.26 +4 -0 src/sys/dev/dpt/dpt_pci.c
1.44 +6 -0 src/sys/dev/dpt/dpt_scsi.c
1.27 +6 -0 src/sys/dev/em/if_em.c
1.44 +4 -2 src/sys/dev/en/midway.c
1.2 +9 -10 src/sys/dev/fatm/if_fatm.c
1.2 +7 -2 src/sys/dev/firewire/fwdma.c
1.56 +3 -1 src/sys/dev/firewire/fwohci.c
1.27 +4 -1 src/sys/dev/firewire/fwohci_pci.c
1.55 +4 -1 src/sys/dev/firewire/sbp.c
1.185 +6 -4 src/sys/dev/fxp/if_fxp.c
1.17 +4 -4 src/sys/dev/gem/if_gem.c
1.3 +7 -4 src/sys/dev/hatm/if_hatm.c
1.18 +2 -0 src/sys/dev/hifn/hifn7751.c
1.14 +5 -4 src/sys/dev/hme/if_hme.c
1.28 +4 -2 src/sys/dev/ida/ida.c
1.12 +2 -0 src/sys/dev/ida/ida_eisa.c
1.23 +1 -1 src/sys/dev/ida/ida_pci.c
1.7 +3 -1 src/sys/dev/iir/iir.c
1.8 +4 -1 src/sys/dev/iir/iir_pci.c
1.4 +6 -0 src/sys/dev/ips/ips.c
1.4 +6 -0 src/sys/dev/ips/ips_commands.c
1.3 +2 -0 src/sys/dev/ips/ips_ioctl.c
1.3 +2 -0 src/sys/dev/ips/ips_pci.c
1.93 +4 -2 src/sys/dev/isp/isp_pci.c
1.8 +4 -2 src/sys/dev/isp/isp_sbus.c
1.4 +2 -0 src/sys/dev/lnc/if_lnc_cbus.c
1.15 +2 -0 src/sys/dev/lnc/if_lnc_isa.c
1.28 +2 -0 src/sys/dev/lnc/if_lnc_pci.c
1.39 +4 -0 src/sys/dev/mlx/mlx.c
1.15 +2 -0 src/sys/dev/mlx/mlx_pci.c
1.28 +10 -0 src/sys/dev/mly/mly.c
1.11 +4 -4 src/sys/dev/mpt/mpt_pci.c
1.28 +2 -1 src/sys/dev/sound/isa/ad1816.c
1.26 +2 -1 src/sys/dev/sound/isa/ess.c
1.85 +3 -2 src/sys/dev/sound/isa/mss.c
1.79 +3 -2 src/sys/dev/sound/isa/sb16.c
1.72 +3 -2 src/sys/dev/sound/isa/sb8.c
1.11 +2 -1 src/sys/dev/sound/pci/als4000.c
1.2 +1 -1 src/sys/dev/sound/pci/au88x0.c
1.23 +2 -1 src/sys/dev/sound/pci/aureal.c
1.21 +2 -0 src/sys/dev/sound/pci/cmi.c
1.15 +2 -1 src/sys/dev/sound/pci/cs4281.c
1.25 +2 -1 src/sys/dev/sound/pci/csapcm.c
1.33 +4 -2 src/sys/dev/sound/pci/ds1.c
1.38 +2 -1 src/sys/dev/sound/pci/emu10k1.c
1.44 +2 -1 src/sys/dev/sound/pci/es137x.c
1.18 +2 -1 src/sys/dev/sound/pci/fm801.c
1.29 +2 -1 src/sys/dev/sound/pci/ich.c
1.18 +2 -1 src/sys/dev/sound/pci/maestro.c
1.20 +2 -1 src/sys/dev/sound/pci/maestro3.c
1.26 +2 -1 src/sys/dev/sound/pci/solo.c
1.37 +2 -1 src/sys/dev/sound/pci/t4dwave.c
1.11 +4 -2 src/sys/dev/sound/pci/via8233.c
1.25 +4 -2 src/sys/dev/sound/pci/via82c686.c
1.13 +2 -1 src/sys/dev/sound/pci/vibes.c
1.3 +2 -0 src/sys/dev/sound/usb/uaudio_pcm.c
1.43 +6 -2 src/sys/dev/sym/sym_hipd.c
1.12 +22 -14 src/sys/dev/trm/trm.c
1.27 +4 -0 src/sys/dev/twe/twe_freebsd.c
1.73 +7 -4 src/sys/dev/tx/if_tx.c
1.24 +2 -0 src/sys/dev/ubsec/ubsec.c
1.7 +2 -0 src/sys/dev/wds/wd7000.c
1.146 +10 -0 src/sys/dev/wi/if_wi.c
1.21 +2 -1 src/sys/i386/acpica/acpi_wakeup.c
1.48 +55 -6 src/sys/i386/i386/busdma_machdep.c
1.22 +17 -1 src/sys/i386/include/bus_dma.h
1.10 +1 -0 src/sys/i4b/layer1/itjc/i4b_itjc_pci.c
1.26 +58 -11 src/sys/ia64/ia64/busdma_machdep.c
1.13 +17 -1 src/sys/ia64/include/bus.h
1.5 +4 -0 src/sys/ia64/isa/isa_dma.c
1.102 +3 -0 src/sys/pci/if_rl.c
1.77 +7 -0 src/sys/pci/if_sis.c
1.146 +6 -3 src/sys/pci/if_xl.c
1.11 +17 -1 src/sys/powerpc/include/bus.h
1.17 +51 -2 src/sys/powerpc/powerpc/busdma_machdep.c
1.29 +18 -1 src/sys/sparc64/include/bus.h
1.41 +1 -1 src/sys/sparc64/pci/psycho.c
1.22 +1 -1 src/sys/sparc64/sbus/sbus.c
1.32 +53 -2 src/sys/sparc64/sparc64/bus_machdep.c
More information about the cvs-src
mailing list