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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to