On Thursday 26 June 2008, Dan Williams wrote: > I agree with removing the arch dependency, and I do not think we > necessarily need to add HAVE_DMA_ENGINE. I think a HAVE_DMA_ENGINE would be better than what you're doing below: moving the arch dependency into the network code, and adding this !HIGHMEM64G thing (which is really just a more subtle arch dependency). Note that HAS_DMA is very different from having DMA engine support... one is a specific interface, the other is the generic mechanism with any of its numerous (and often peripheral-specific) interfaces. > Taking an example from libata > the SATA_FSL driver depends on FSL_SOC but the menuconfig for ATA does > not. We can use "depends on HAS_DMA" to make the menu disappear on > archs that will never have a dmaegine. So I propose the following: > > diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig > index 6239c3d..e4dd006 100644 > --- a/drivers/dma/Kconfig > +++ b/drivers/dma/Kconfig > @@ -4,13 +4,14 @@ > > menuconfig DMADEVICES > bool "DMA Engine support" > - depends on (PCI && X86) || ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX || PPC > - depends on !HIGHMEM64G > + depends on !HIGHMEM64G && HAS_DMA > help > DMA engines can do asynchronous data transfers without > involving the host CPU. Currently, this framework can be > used to offload memory copies in the network stack and > - RAID operations in the MD driver. > + RAID operations in the MD driver. This menu only presents > + DMA Device drivers supported by the configured arch, it may > + be empty in some cases. > > if DMADEVICES > > @@ -55,10 +56,12 @@ comment "DMA Clients" > config NET_DMA > bool "Network: TCP receive copy offload" > depends on DMA_ENGINE && NET > + default (INTEL_IOATDMA || FSL_DMA) > help > This enables the use of DMA engines in the network stack to > offload receive copy-to-user operations, freeing CPU cycles. > - Since this is the main user of the DMA engine, it should be enabled; > - say Y here. > + > + Say Y here if you enabled INTEL_IOATDMA or FSL_DMA, otherwise > + say N. > > endif > > > -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html