summaryrefslogtreecommitdiff
path: root/include/asm-alpha/dma.h
AgeCommit message (Collapse)Author
2008-08-15alpha: move include/asm-alpha to arch/alpha/include/asmLinus Torvalds
Sam Ravnborg did the build-test that the direct header file move works, I'm just committing it. This is a pure move: mkdir arch/alpha/include git mv include/asm-alpha arch/alpha/include/asm with no other changes. Requested-and-tested-by: Sam Ravnborg <sam@ravnborg.org> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2006-04-26Don't include linux/config.h from anywhere else in include/David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2002-12-14[PATCH] typos in asm-alpha/dma.hIvan Kokshaysky
This fixes Alcor and Sable build. Ivan.
2002-10-14[PATCH] alpha ISA dma and MAX_DMA_ADDRESSIvan Kokshaysky
Thanks David Miller, Jay Estabrook and Richard Henderson for reviewing the patch and for corrections. Description: The ISA dma falls into 2 classes. 1. True busmastering (aka DMA_MODE_CASCADE) when the ISA device generate bus addresses by itself. Obviously, such devices are limited to lower 16 Mb as there are only 24 address lines on the ISA bus. Drivers for these devices pass NULL pdev argument to pci mapping functions, and we must always use dma_mask = 0x00ffffff in this case. 2. ISA devices using i8237 DMA controller functionality: floppy, all soundcards (AFAIK) and a lot of other cheap ISA cards. In this case actual device doing DMA is a PCI-to-ISA bridge. Quite a few of ISA bridges can do 32-bit DMA (using "high page" extensions), and alpha traditionally uses this. I propose the following: introduce 'struct pci_dev *isa_bridge' global variable; this will be pointer to either real bridge device found by pci probing code, or a fake device in special cases (like jensen running generic kernel). isa_bridge->dma_mask will be set depending on DMA capabilities of particular bridge (either using generic quirk list or in an arch specific manner). This would allow devices like floppy and audio utilize 32-bit DMA just by replacing 'NULL' with 'isa_bridge' in the pci mapping calls. Also, this helps to resolve ISA dma vs. MAX_DMA_ADDRESS mess on alpha. Setting MAX_DMA_ADDRESS depending on the number of address lines on the ISA bridge became bogus since early 2.4 when we started to use the SG windows. Basically, if we have a working iommu, we don't have any dma limitations. All we need is a correct dma_mask to choose proper dma window. OTOH, there are 'iommuless' alphas (rx164, nautilus, possibly early miata) which need to have 16 Mb GFP_DMA zone (just like i386) even if their ISA bridge is 32-bit. Proposed changes: - rename all XXX_MAX_DMA_ADDRESS to XXX_MAX_ISA_DMA_ADDRESS; alpha_mv.max_dma_address - ditto (it's about 90% of the patch); - ISA bridge on nautilus does support 32-bit dma; - MAX_DMA_ADDRESS is 16 Mb if there is no iommu, ~0UL (unlimited) otherwise; - if needed, fall back to GFP_DMA allocations in pci_alloc_consistent(); - pci_dma_supported() also returns success if GFP_DMA is helpful; - isa_bridge stuff. Used only by floppy as yet. Ivan.
2002-09-06[PATCH] alpha: misc fixesIvan Kokshaysky
Patch set from Jay Estabrook: - include/asm-alpha/dma.h: Add MAX_DMA_ADDR for SABLE and ALCOR - include/asm-alpha/floppy.h: enable the full CROSS_64KB macro for all platforms - include/asm-alpha/core_t2.h: fix HAE usage - arch/alpha/kernel/pci.c: fiddle with quirk_cypress - arch/alpha/kernel/traps.c: prevent opDEC_check() from multiple calls (EV4 SMP SABLEs) - arch/alpha/kernel/proto.h: make t2_pci_tbi() real - arch/alpha/kernel/time.c: shorten timeout delay - arch/alpha/kernel/sys_alcor.c: use ALCOR_MAX_DMA_ADDR because of the 1GB limit on ISA devices - arch/alpha/kernel/core_t2.c: add S/G support and allow direct-map to handle 2GB of memory - arch/alpha/kernel/core_tsunami.c: rework alignment requirements for ISA DMA, esp. for ACER platforms - arch/alpha/kernel/sys_sable.c: fix MAX_DMA_ADDR for the 1GB limitation - arch/alpha/kernel/pci_impl.h: add T2_DEFAULT_MEM_BASE to help avoid HAE use - arch/alpha/kernel/pci_iommu.c: fix ISA_DMA_MASK calculation, and force ISA alignment to 64KB
2002-02-04Import changesetLinus Torvalds