Skip to content

Commit

Permalink
x86-32: Introduce CONFIG_X86_DEV_DMA_OPS
Browse files Browse the repository at this point in the history
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>
Link: http://lkml.kernel.org/r/f79fcc1a2e17ef942e1b798b92aac43a80202532.1333560789.git.rubini@gnudd.com
Acked-by: Giancarlo Asnaghi <giancarlo.asnaghi@st.com>
Cc: Alan Cox <alan@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
  • Loading branch information
Alessandro Rubini authored and H. Peter Anvin committed Apr 12, 2012
1 parent 0034102 commit 4692d77
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 3 deletions.
5 changes: 5 additions & 0 deletions arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ config X86_32

config X86_64
def_bool 64BIT
select X86_DEV_DMA_OPS

### Arch settings
config X86
Expand Down Expand Up @@ -2215,6 +2216,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"
Expand Down
4 changes: 2 additions & 2 deletions arch/x86/include/asm/device.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/include/asm/dma-mapping.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 4692d77

Please sign in to comment.