ARM: ixp4xx: Drop custom DMA coherency and bouncing
The new PCI driver does not need any of this stuff, so just drop it. Cc: iommu@lists.linux-foundation.org Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20220211223238.648934-12-linus.walleij@linaro.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
3059dfa52c
commit
00ba9357d1
3 changed files with 0 additions and 64 deletions
|
@ -217,9 +217,6 @@ config ARCH_MAY_HAVE_PC_FDC
|
||||||
config ARCH_SUPPORTS_UPROBES
|
config ARCH_SUPPORTS_UPROBES
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
||||||
config ARCH_HAS_DMA_SET_COHERENT_MASK
|
|
||||||
bool
|
|
||||||
|
|
||||||
config GENERIC_ISA_DMA
|
config GENERIC_ISA_DMA
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -381,10 +378,8 @@ config ARCH_IOP32X
|
||||||
config ARCH_IXP4XX
|
config ARCH_IXP4XX
|
||||||
bool "IXP4xx-based"
|
bool "IXP4xx-based"
|
||||||
depends on MMU
|
depends on MMU
|
||||||
select ARCH_HAS_DMA_SET_COHERENT_MASK
|
|
||||||
select ARCH_SUPPORTS_BIG_ENDIAN
|
select ARCH_SUPPORTS_BIG_ENDIAN
|
||||||
select CPU_XSCALE
|
select CPU_XSCALE
|
||||||
select DMABOUNCE if PCI
|
|
||||||
select GENERIC_IRQ_MULTI_HANDLER
|
select GENERIC_IRQ_MULTI_HANDLER
|
||||||
select GPIO_IXP4XX
|
select GPIO_IXP4XX
|
||||||
select GPIOLIB
|
select GPIOLIB
|
||||||
|
|
|
@ -30,7 +30,6 @@
|
||||||
#include <linux/soc/ixp4xx/cpu.h>
|
#include <linux/soc/ixp4xx/cpu.h>
|
||||||
#include <linux/irqchip/irq-ixp4xx.h>
|
#include <linux/irqchip/irq-ixp4xx.h>
|
||||||
#include <linux/platform_data/timer-ixp4xx.h>
|
#include <linux/platform_data/timer-ixp4xx.h>
|
||||||
#include <linux/dma-map-ops.h>
|
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
|
@ -330,59 +329,3 @@ void ixp4xx_restart(enum reboot_mode mode, const char *cmd)
|
||||||
*IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE;
|
*IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PCI
|
|
||||||
static int ixp4xx_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size)
|
|
||||||
{
|
|
||||||
return (dma_addr + size) > SZ_64M;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ixp4xx_platform_notify_remove(struct device *dev)
|
|
||||||
{
|
|
||||||
if (dev_is_pci(dev))
|
|
||||||
dmabounce_unregister_dev(dev);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Setup DMA mask to 64MB on PCI devices and 4 GB on all other things.
|
|
||||||
*/
|
|
||||||
static int ixp4xx_platform_notify(struct device *dev)
|
|
||||||
{
|
|
||||||
dev->dma_mask = &dev->coherent_dma_mask;
|
|
||||||
|
|
||||||
#ifdef CONFIG_PCI
|
|
||||||
if (dev_is_pci(dev)) {
|
|
||||||
dev->coherent_dma_mask = DMA_BIT_MASK(28); /* 64 MB */
|
|
||||||
dmabounce_register_dev(dev, 2048, 4096, ixp4xx_needs_bounce);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
dev->coherent_dma_mask = DMA_BIT_MASK(32);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int dma_set_coherent_mask(struct device *dev, u64 mask)
|
|
||||||
{
|
|
||||||
if (dev_is_pci(dev))
|
|
||||||
mask &= DMA_BIT_MASK(28); /* 64 MB */
|
|
||||||
|
|
||||||
if ((mask & DMA_BIT_MASK(28)) == DMA_BIT_MASK(28)) {
|
|
||||||
dev->coherent_dma_mask = mask;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return -EIO; /* device wanted sub-64MB mask */
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(dma_set_coherent_mask);
|
|
||||||
|
|
||||||
void __init ixp4xx_init_early(void)
|
|
||||||
{
|
|
||||||
platform_notify = ixp4xx_platform_notify;
|
|
||||||
#ifdef CONFIG_PCI
|
|
||||||
platform_notify_remove = ixp4xx_platform_notify_remove;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
|
@ -745,7 +745,6 @@ int dma_set_mask(struct device *dev, u64 mask)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(dma_set_mask);
|
EXPORT_SYMBOL(dma_set_mask);
|
||||||
|
|
||||||
#ifndef CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK
|
|
||||||
int dma_set_coherent_mask(struct device *dev, u64 mask)
|
int dma_set_coherent_mask(struct device *dev, u64 mask)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -761,7 +760,6 @@ int dma_set_coherent_mask(struct device *dev, u64 mask)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(dma_set_coherent_mask);
|
EXPORT_SYMBOL(dma_set_coherent_mask);
|
||||||
#endif
|
|
||||||
|
|
||||||
size_t dma_max_mapping_size(struct device *dev)
|
size_t dma_max_mapping_size(struct device *dev)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue