lkml.org 
[lkml]   [2012]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH V3 1/3] x86: introduce CONFIG_X86_DEV_DMA_OPS
    32-bit x86 systems may need their own DMA operations, so add
    a new config option, which is turned on for 64-bit systems. This
    patch has no functional effect but it paves the way for supporting
    the STA2x11 I/O Hub and possibly other chips.

    Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
    Acked-by: Giancarlo Asnaghi <giancarlo.asnaghi@st.com>
    Cc: Alan Cox <alan@linux.intel.com>
    ---
    arch/x86/Kconfig | 5 +++++
    arch/x86/include/asm/device.h | 4 ++--
    arch/x86/include/asm/dma-mapping.h | 2 +-
    3 files changed, 8 insertions(+), 3 deletions(-)

    diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
    index a61db6d..1832f0b 100644
    --- a/arch/x86/Kconfig
    +++ b/arch/x86/Kconfig
    @@ -12,6 +12,7 @@ config X86_32

    config X86_64
    def_bool 64BIT
    + select X86_DEV_DMA_OPS

    ### Arch settings
    config X86
    @@ -2233,6 +2234,10 @@ config HAVE_TEXT_POKE_SMP
    bool
    select STOP_MACHINE if SMP

    +config X86_DEV_DMA_OPS
    + bool
    + depends on X86_64
    +
    source "net/Kconfig"

    source "drivers/Kconfig"
    diff --git a/arch/x86/include/asm/device.h b/arch/x86/include/asm/device.h
    index 63a2a03..93e1c55 100644
    --- a/arch/x86/include/asm/device.h
    +++ b/arch/x86/include/asm/device.h
    @@ -5,8 +5,8 @@ struct dev_archdata {
    #ifdef CONFIG_ACPI
    void *acpi_handle;
    #endif
    -#ifdef CONFIG_X86_64
    -struct dma_map_ops *dma_ops;
    +#ifdef CONFIG_X86_DEV_DMA_OPS
    + struct dma_map_ops *dma_ops;
    #endif
    #if defined(CONFIG_INTEL_IOMMU) || defined(CONFIG_AMD_IOMMU)
    void *iommu; /* hook for IOMMU specific extension */
    diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h
    index 4b4331d..09aa473 100644
    --- a/arch/x86/include/asm/dma-mapping.h
    +++ b/arch/x86/include/asm/dma-mapping.h
    @@ -30,7 +30,7 @@ extern struct dma_map_ops *dma_ops;

    static inline struct dma_map_ops *get_dma_ops(struct device *dev)
    {
    -#ifdef CONFIG_X86_32
    +#ifndef CONFIG_X86_DEV_DMA_OPS
    return dma_ops;
    #else
    if (unlikely(!dev) || !dev->archdata.dma_ops)
    --
    1.7.7.2

    \
     
     \ /
      Last update: 2012-02-22 23:17    [W:0.020 / U:0.608 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site