Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 3369ddb6 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Paul Burton
Browse files

MIPS: make the default mips dma implementation optional



Octeon and loonson64 already don't use it at all, and we're going to
migrate more plaforms away from it.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Patchwork: https://patchwork.linux-mips.org/patch/19536/


Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: David Daney <david.daney@cavium.com>
Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Tom Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: iommu@lists.linux-foundation.org
Cc: linux-mips@linux-mips.org
parent d3b83dcc
Loading
Loading
Loading
Loading
+40 −0
Original line number Diff line number Diff line
@@ -77,6 +77,9 @@ config MIPS
	select SYSCTL_EXCEPTION_TRACE
	select VIRT_TO_BUS

config MIPS_DMA_DEFAULT
	bool

menu "Machine selection"

choice
@@ -98,6 +101,7 @@ config MIPS_GENERIC
	select IRQ_MIPS_CPU
	select LIBFDT
	select MIPS_CPU_SCACHE
	select MIPS_DMA_DEFAULT
	select MIPS_GIC
	select MIPS_L1_CACHE_SHIFT_7
	select NO_EXCEPT_FILL
@@ -141,6 +145,7 @@ config MIPS_ALCHEMY
	select CEVT_R4K
	select CSRC_R4K
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select DMA_MAYBE_COHERENT	# Au1000,1500,1100 aren't, rest is
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_SUPPORTS_32BIT_KERNEL
@@ -156,6 +161,7 @@ config AR7
	select CEVT_R4K
	select CSRC_R4K
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select NO_EXCEPT_FILL
	select SWAP_IO_SPACE
	select SYS_HAS_CPU_MIPS32_R1
@@ -178,6 +184,7 @@ config ATH25
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select IRQ_DOMAIN
	select MIPS_DMA_DEFAULT
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_32BIT_KERNEL
@@ -197,6 +204,7 @@ config ATH79
	select COMMON_CLK
	select CLKDEV_LOOKUP
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select MIPS_MACHINE
	select SYS_HAS_CPU_MIPS32_R2
	select SYS_HAS_EARLY_PRINTK
@@ -223,6 +231,7 @@ config BMIPS_GENERIC
	select BCM7120_L2_IRQ
	select BRCMSTB_L2_IRQ
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select DMA_NONCOHERENT
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -253,6 +262,7 @@ config BCM47XX
	select HW_HAS_PCI
	select IRQ_MIPS_CPU
	select SYS_HAS_CPU_MIPS32_R1
	select MIPS_DMA_DEFAULT
	select NO_EXCEPT_FILL
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -276,6 +286,7 @@ config BCM63XX
	select SYNC_R4K
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_HAS_EARLY_PRINTK
@@ -298,6 +309,7 @@ config MIPS_COBALT
	select I8259
	select IRQ_MIPS_CPU
	select IRQ_GT641XX
	select MIPS_DMA_DEFAULT
	select PCI_GT64XXX_PCI0
	select PCI
	select SYS_HAS_CPU_NEVADA
@@ -318,6 +330,7 @@ config MACH_DECSTATION
	select CPU_R4000_WORKAROUNDS if 64BIT
	select CPU_R4400_WORKAROUNDS if 64BIT
	select DMA_NONCOHERENT
	select MIPS_DMA_DEFAULT
	select NO_IOPORT_MAP
	select IRQ_MIPS_CPU
	select SYS_HAS_CPU_R3000
@@ -377,6 +390,7 @@ config MACH_INGENIC
	select SYS_SUPPORTS_ZBOOT_UART16550
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select PINCTRL
	select GPIOLIB
	select COMMON_CLK
@@ -391,6 +405,7 @@ config LANTIQ
	select IRQ_MIPS_CPU
	select CEVT_R4K
	select CSRC_R4K
	select MIPS_DMA_DEFAULT
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_HAS_CPU_MIPS32_R2
	select SYS_SUPPORTS_BIG_ENDIAN
@@ -418,6 +433,7 @@ config LASAT
	select SYS_HAS_EARLY_PRINTK
	select HW_HAS_PCI
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select PCI_GT64XXX_PCI0
	select MIPS_NILE4
	select R5000_CPU_SCACHE
@@ -464,6 +480,7 @@ config MACH_PISTACHIO
	select LIBFDT
	select MFD_SYSCON
	select MIPS_CPU_SCACHE
	select MIPS_DMA_DEFAULT
	select MIPS_GIC
	select PINCTRL
	select REGULATOR
@@ -496,6 +513,7 @@ config MIPS_MALTA
	select GENERIC_ISA_DMA
	select HAVE_PCSPKR_PLATFORM
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select MIPS_GIC
	select HW_HAS_PCI
	select I8253
@@ -552,6 +570,7 @@ config NEC_MARKEINS
	bool "NEC EMMA2RH Mark-eins board"
	select SOC_EMMA2RH
	select HW_HAS_PCI
	select MIPS_DMA_DEFAULT
	help
	  This enables support for the NEC Electronics Mark-eins boards.

@@ -565,12 +584,14 @@ config MACH_VR41XX

config NXP_STB220
	bool "NXP STB220 board"
	select MIPS_DMA_DEFAULT
	select SOC_PNX833X
	help
	 Support for NXP Semiconductors STB220 Development Board.

config NXP_STB225
	bool "NXP 225 board"
	select MIPS_DMA_DEFAULT
	select SOC_PNX833X
	select SOC_PNX8335
	help
@@ -590,6 +611,7 @@ config PMC_MSP
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_MIPS16
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select SERIAL_8250
	select SERIAL_8250_CONSOLE
	select USB_EHCI_BIG_ENDIAN_MMIO
@@ -607,6 +629,7 @@ config RALINK
	select BOOT_RAW
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select USE_OF
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_HAS_CPU_MIPS32_R2
@@ -633,6 +656,7 @@ config SGI_IP22
	select I8259
	select IP22_CPU_SCACHE
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select GENERIC_ISA_DMA_SUPPORT_BROKEN
	select SGI_HAS_I8042
	select SGI_HAS_INDYDOG
@@ -666,6 +690,7 @@ config SGI_IP27
	select FW_ARC64
	select BOOT_ELF64
	select DEFAULT_SGI_PARTITION
	select MIPS_DMA_DEFAULT
	select SYS_HAS_EARLY_PRINTK
	select HW_HAS_PCI
	select NR_CPUS_DEFAULT_64
@@ -692,6 +717,7 @@ config SGI_IP28
	select DMA_NONCOHERENT
	select GENERIC_ISA_DMA_SUPPORT_BROKEN
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select HW_HAS_EISA
	select I8253
	select I8259
@@ -728,6 +754,7 @@ config SGI_IP32
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select R5000_CPU_SCACHE
	select RM7000_CPU_SCACHE
	select SYS_HAS_CPU_R5000
@@ -742,6 +769,7 @@ config SGI_IP32
config SIBYTE_CRHINE
	bool "Sibyte BCM91120C-CRhine"
	select BOOT_ELF32
	select MIPS_DMA_DEFAULT
	select SIBYTE_BCM1120
	select SWAP_IO_SPACE
	select SYS_HAS_CPU_SB1
@@ -751,6 +779,7 @@ config SIBYTE_CRHINE
config SIBYTE_CARMEL
	bool "Sibyte BCM91120x-Carmel"
	select BOOT_ELF32
	select MIPS_DMA_DEFAULT
	select SIBYTE_BCM1120
	select SWAP_IO_SPACE
	select SYS_HAS_CPU_SB1
@@ -760,6 +789,7 @@ config SIBYTE_CARMEL
config SIBYTE_CRHONE
	bool "Sibyte BCM91125C-CRhone"
	select BOOT_ELF32
	select MIPS_DMA_DEFAULT
	select SIBYTE_BCM1125
	select SWAP_IO_SPACE
	select SYS_HAS_CPU_SB1
@@ -770,6 +800,7 @@ config SIBYTE_CRHONE
config SIBYTE_RHONE
	bool "Sibyte BCM91125E-Rhone"
	select BOOT_ELF32
	select MIPS_DMA_DEFAULT
	select SIBYTE_BCM1125H
	select SWAP_IO_SPACE
	select SYS_HAS_CPU_SB1
@@ -780,6 +811,7 @@ config SIBYTE_SWARM
	bool "Sibyte BCM91250A-SWARM"
	select BOOT_ELF32
	select HAVE_PATA_PLATFORM
	select MIPS_DMA_DEFAULT
	select SIBYTE_SB1250
	select SWAP_IO_SPACE
	select SYS_HAS_CPU_SB1
@@ -792,6 +824,7 @@ config SIBYTE_LITTLESUR
	bool "Sibyte BCM91250C2-LittleSur"
	select BOOT_ELF32
	select HAVE_PATA_PLATFORM
	select MIPS_DMA_DEFAULT
	select SIBYTE_SB1250
	select SWAP_IO_SPACE
	select SYS_HAS_CPU_SB1
@@ -802,6 +835,7 @@ config SIBYTE_LITTLESUR
config SIBYTE_SENTOSA
	bool "Sibyte BCM91250E-Sentosa"
	select BOOT_ELF32
	select MIPS_DMA_DEFAULT
	select SIBYTE_SB1250
	select SWAP_IO_SPACE
	select SYS_HAS_CPU_SB1
@@ -811,6 +845,7 @@ config SIBYTE_SENTOSA
config SIBYTE_BIGSUR
	bool "Sibyte BCM91480B-BigSur"
	select BOOT_ELF32
	select MIPS_DMA_DEFAULT
	select NR_CPUS_DEFAULT_4
	select SIBYTE_BCM1x80
	select SWAP_IO_SPACE
@@ -841,6 +876,7 @@ config SNI_RM
	select I8253
	select I8259
	select ISA
	select MIPS_DMA_DEFAULT
	select SWAP_IO_SPACE if CPU_BIG_ENDIAN
	select SYS_HAS_CPU_R4X00
	select SYS_HAS_CPU_R5000
@@ -871,6 +907,7 @@ config MIKROTIK_RB532
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_MIPS_CPU
	select MIPS_DMA_DEFAULT
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -929,6 +966,7 @@ config NLM_XLR_BOARD
	select SYS_HAS_CPU_XLR
	select SYS_SUPPORTS_SMP
	select HW_HAS_PCI
	select MIPS_DMA_DEFAULT
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
@@ -955,6 +993,7 @@ config NLM_XLP_BOARD
	select SYS_HAS_CPU_XLP
	select SYS_SUPPORTS_SMP
	select HW_HAS_PCI
	select MIPS_DMA_DEFAULT
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select PHYS_ADDR_T_64BIT
@@ -980,6 +1019,7 @@ config MIPS_PARAVIRT
	bool "Para-Virtualized guest system"
	select CEVT_R4K
	select CSRC_R4K
	select MIPS_DMA_DEFAULT
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
+3 −1
Original line number Diff line number Diff line
@@ -17,8 +17,10 @@ static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)
{
#ifdef CONFIG_SWIOTLB
	return &mips_swiotlb_ops;
#else
#elif defined(CONFIG_MIPS_DMA_DEFAULT)
	return &mips_default_dma_map_ops;
#else
	return NULL;
#endif
}

+3 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ config ACER_PICA_61
	bool "Support for Acer PICA 1 chipset"
	depends on MACH_JAZZ
	select DMA_NONCOHERENT
	select MIPS_DMA_DEFAULT
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This is a machine with a R4400 133/150 MHz CPU. To compile a Linux
@@ -14,6 +15,7 @@ config MIPS_MAGNUM_4000
	bool "Support for MIPS Magnum 4000"
	depends on MACH_JAZZ
	select DMA_NONCOHERENT
	select MIPS_DMA_DEFAULT
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
@@ -26,6 +28,7 @@ config OLIVETTI_M700
	bool "Support for Olivetti M700-10"
	depends on MACH_JAZZ
	select DMA_NONCOHERENT
	select MIPS_DMA_DEFAULT
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This is a machine with a R4000 100 MHz CPU. To compile a Linux
+2 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ config LOONGSON1_LS1B
	select CSRC_R4K if !MIPS_EXTERNAL_TIMER
	select SYS_HAS_CPU_LOONGSON1B
	select DMA_NONCOHERENT
	select MIPS_DMA_DEFAULT
	select BOOT_ELF32
	select IRQ_MIPS_CPU
	select SYS_SUPPORTS_32BIT_KERNEL
@@ -26,6 +27,7 @@ config LOONGSON1_LS1C
	select CSRC_R4K if !MIPS_EXTERNAL_TIMER
	select SYS_HAS_CPU_LOONGSON1C
	select DMA_NONCOHERENT
	select MIPS_DMA_DEFAULT
	select BOOT_ELF32
	select IRQ_MIPS_CPU
	select SYS_SUPPORTS_32BIT_KERNEL
+2 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ config LEMOTE_FULOONG2E
	select CSRC_R4K
	select SYS_HAS_CPU_LOONGSON2E
	select DMA_NONCOHERENT
	select MIPS_DMA_DEFAULT
	select BOOT_ELF32
	select BOARD_SCACHE
	select HW_HAS_PCI
@@ -44,6 +45,7 @@ config LEMOTE_MACH2F
	select CS5536
	select CSRC_R4K if ! MIPS_EXTERNAL_TIMER
	select DMA_NONCOHERENT
	select MIPS_DMA_DEFAULT
	select GENERIC_ISA_DMA_SUPPORT_BROKEN
	select HAVE_CLK
	select HW_HAS_PCI
Loading