Commit 2c34a0e0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARC updates from Vineet Gupta:

 - Fix for atomic_fetch_#op  [Will Deacon]

 - Enable per device IOC [Eugeniy Paltsev]

 - Remove redundant gcc version checks [Masahiro Yamada]

 - Miscll platform config/DT updates [Alexey Brodkin]

* tag 'arc-4.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
  ARC: don't check for HIGHMEM pages in arch_dma_alloc
  ARC: IOC: panic if both IOC and ZONE_HIGHMEM enabled
  ARC: dma [IOC] Enable per device io coherency
  ARC: dma [IOC]: mark DMA devices connected as dma-coherent
  ARC: atomics: unbork atomic_fetch_##op()
  arc: remove redundant GCC version checks
  ARC: sort Kconfig
  ARC: cleanup show_faulting_vma()
  ARC: [plat-axs*]: Enable SWAP
  ARC: [plat-axs*/plat-hsdk]: Allow U-Boot to pass MAC-address to the kernel
  ARC: configs: cleanup
parents ecfe951f dd45210b
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
config ARC
	def_bool y
	select ARC_TIMERS
	select ARCH_HAS_PTE_SPECIAL
	select ARCH_HAS_SYNC_DMA_FOR_CPU
	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
	select ARCH_HAS_SG_CHAIN
@@ -28,8 +29,12 @@ config ARC
	select GENERIC_SMP_IDLE_THREAD
	select HAVE_ARCH_KGDB
	select HAVE_ARCH_TRACEHOOK
	select HAVE_DEBUG_STACKOVERFLOW
	select HAVE_FUTEX_CMPXCHG if FUTEX
	select HAVE_GENERIC_DMA_COHERENT
	select HAVE_IOREMAP_PROT
	select HAVE_KERNEL_GZIP
	select HAVE_KERNEL_LZMA
	select HAVE_KPROBES
	select HAVE_KRETPROBES
	select HAVE_MEMBLOCK
@@ -44,11 +49,6 @@ config ARC
	select OF_EARLY_FLATTREE
	select OF_RESERVED_MEM
	select PERF_USE_VMALLOC if ARC_CACHE_VIPT_ALIASING
	select HAVE_DEBUG_STACKOVERFLOW
	select HAVE_GENERIC_DMA_COHERENT
	select HAVE_KERNEL_GZIP
	select HAVE_KERNEL_LZMA
	select ARCH_HAS_PTE_SPECIAL

config ARCH_HAS_CACHE_LINE_SIZE
	def_bool y
+1 −9
Original line number Diff line number Diff line
@@ -43,10 +43,7 @@ ifdef CONFIG_ARC_CURR_IN_REG
LINUXINCLUDE	+=  -include ${src}/arch/arc/include/asm/current.h
endif

upto_gcc44    :=  $(call cc-ifversion, -le, 0404, y)
atleast_gcc44 :=  $(call cc-ifversion, -ge, 0404, y)

cflags-$(atleast_gcc44)			+= -fsection-anchors
cflags-y				+= -fsection-anchors

cflags-$(CONFIG_ARC_HAS_LLSC)		+= -mlock
cflags-$(CONFIG_ARC_HAS_SWAPE)		+= -mswape
@@ -82,11 +79,6 @@ cflags-$(disable_small_data) += -mno-sdata -fcall-used-gp
cflags-$(CONFIG_CPU_BIG_ENDIAN)		+= -mbig-endian
ldflags-$(CONFIG_CPU_BIG_ENDIAN)	+= -EB

# STAR 9000518362: (fixed with binutils shipping with gcc 4.8)
# arc-linux-uclibc-ld (buildroot) or arceb-elf32-ld (EZChip) don't accept
# --build-id w/o "-marclinux". Default arc-elf32-ld is OK
ldflags-$(upto_gcc44)			+= -marclinux

LIBGCC	:= $(shell $(CC) $(cflags-y) --print-libgcc-file-name)

# Modules with short calls might break for calls into builtin-kernel
+26 −0
Original line number Diff line number Diff line
@@ -93,6 +93,32 @@
		};
	};

	/*
	 * Mark DMA peripherals connected via IOC port as dma-coherent. We do
	 * it via overlay because peripherals defined in axs10x_mb.dtsi are
	 * used for both AXS101 and AXS103 boards and only AXS103 has IOC (so
	 * only AXS103 board has HW-coherent DMA peripherals)
	 * We don't need to mark pgu@17000 as dma-coherent because it uses
	 * external DMA buffer located outside of IOC aperture.
	 */
	axs10x_mb {
		ethernet@0x18000 {
			dma-coherent;
		};

		ehci@0x40000 {
			dma-coherent;
		};

		ohci@0x60000 {
			dma-coherent;
		};

		mmc@0x15000 {
			dma-coherent;
		};
	};

	/*
	 * The DW APB ICTL intc on MB is connected to CPU intc via a
	 * DT "invisible" DW APB GPIO block, configured to simply pass thru
+26 −0
Original line number Diff line number Diff line
@@ -100,6 +100,32 @@
		};
	};

	/*
	 * Mark DMA peripherals connected via IOC port as dma-coherent. We do
	 * it via overlay because peripherals defined in axs10x_mb.dtsi are
	 * used for both AXS101 and AXS103 boards and only AXS103 has IOC (so
	 * only AXS103 board has HW-coherent DMA peripherals)
	 * We don't need to mark pgu@17000 as dma-coherent because it uses
	 * external DMA buffer located outside of IOC aperture.
	 */
	axs10x_mb {
		ethernet@0x18000 {
			dma-coherent;
		};

		ehci@0x40000 {
			dma-coherent;
		};

		ohci@0x60000 {
			dma-coherent;
		};

		mmc@0x15000 {
			dma-coherent;
		};
	};

	/*
	 * This INTC is actually connected to DW APB GPIO
	 * which acts as a wire between MB INTC and CPU INTC.
+6 −1
Original line number Diff line number Diff line
@@ -9,6 +9,10 @@
 */

/ {
	aliases {
		ethernet = &gmac;
	};

	axs10x_mb {
		compatible = "simple-bus";
		#address-cells = <1>;
@@ -68,7 +72,7 @@
			};
		};

		ethernet@0x18000 {
		gmac: ethernet@0x18000 {
			#interrupt-cells = <1>;
			compatible = "snps,dwmac";
			reg = < 0x18000 0x2000 >;
@@ -81,6 +85,7 @@
			max-speed = <100>;
			resets = <&creg_rst 5>;
			reset-names = "stmmaceth";
			mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
		};

		ehci@0x40000 {
Loading