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

Commit d34687ab authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARC architecture updates from Vineet Gupta:
 - Big Endian io accessors fix [Lada]
 - Spellos fixes [Adam]
 - Fix for DW GMAC breakage [Alexey]
 - Making DMA API 64-bit ready
 - Shutting up -Wmaybe-uninitialized noise for ARC
 - Other minor fixes here and there, comments update

* tag 'arc-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (21 commits)
  ARCv2: ioremap: Support dynamic peripheral address space
  ARC: dma: reintroduce platform specific dma<->phys
  ARC: dma: ioremap: use phys_addr_t consistenctly in code paths
  ARC: dma: pass_phys() not sg_virt() to cache ops
  ARC: dma: non-coherent pages need V-P mapping if in HIGHMEM
  ARC: dma: Use struct page based page allocator helpers
  ARC: build: Turn off -Wmaybe-uninitialized for ARC gcc 4.8
  ARC: [plat-axs10x] add Ethernet PHY description in .dts
  arc: use of_platform_default_populate() to populate default bus
  ARC: thp: unbork !CONFIG_TRANSPARENT_HUGEPAGE build
  arc: [plat-nsimosci*] use ezchip network driver
  ARCv2: LLSC: software backoff is NOT needed starting HS2.1c
  ARC: mm: Use virt_to_pfn() for addr >> PAGE_SHIFT pattern
  ARC: [plat-nsim] document ranges
  ARC: build: Better way to detect ISA compatible toolchain
  ARCv2: Allow enabling PAE40 w/o HIGHMEM
  ARC: [BE] readl()/writel() to work in Big Endian CPU configuration
  ARC: [*defconfig] No need to specify CONFIG_CROSS_COMPILE
  ARC: [BE] Select correct CROSS_COMPILE prefix
  ARC: bitops: Remove non relevant comments
  ...
parents 77d91317 deaf7565
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -391,7 +391,7 @@ config ARC_HAS_LLSC

config ARC_STAR_9000923308
	bool "Workaround for llock/scond livelock"
	default y
	default n
	depends on ISA_ARCV2 && SMP && ARC_HAS_LLSC

config ARC_HAS_SWAPE
@@ -462,7 +462,6 @@ config ARC_HAS_PAE40
	bool "Support for the 40-bit Physical Address Extension"
	default n
	depends on ISA_ARCV2
	select HIGHMEM
	help
	  Enable access to physical memory beyond 4G, only supported on
	  ARC cores with 40 bit Physical Addressing support
@@ -473,6 +472,9 @@ config ARCH_PHYS_ADDR_T_64BIT
config ARCH_DMA_ADDR_T_64BIT
	bool

config ARC_PLAT_NEEDS_PHYS_TO_DMA
	bool

config ARC_CURR_IN_REG
	bool "Dedicate Register r25 for current_task pointer"
	default y
+21 −1
Original line number Diff line number Diff line
@@ -9,7 +9,11 @@
UTS_MACHINE := arc

ifeq ($(CROSS_COMPILE),)
ifndef CONFIG_CPU_BIG_ENDIAN
CROSS_COMPILE := arc-linux-
else
CROSS_COMPILE := arceb-linux-
endif
endif

KBUILD_DEFCONFIG := nsim_700_defconfig
@@ -18,6 +22,20 @@ cflags-y += -fno-common -pipe -fno-builtin -D__linux__
cflags-$(CONFIG_ISA_ARCOMPACT)	+= -mA7
cflags-$(CONFIG_ISA_ARCV2)	+= -mcpu=archs

is_700 = $(shell $(CC) -dM -E - < /dev/null | grep -q "ARC700" && echo 1 || echo 0)

ifdef CONFIG_ISA_ARCOMPACT
ifeq ($(is_700), 0)
    $(error Toolchain not configured for ARCompact builds)
endif
endif

ifdef CONFIG_ISA_ARCV2
ifeq ($(is_700), 1)
    $(error Toolchain not configured for ARCv2 builds)
endif
endif

ifdef CONFIG_ARC_CURR_IN_REG
# For a global register defintion, make sure it gets passed to every file
# We had a customer reported bug where some code built in kernel was NOT using
@@ -58,7 +76,9 @@ endif
ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
# Generic build system uses -O2, we want -O3
# Note: No need to add to cflags-y as that happens anyways
ARCH_CFLAGS += -O3
#
# Disable the false maybe-uninitialized warings gcc spits out at -O3
ARCH_CFLAGS += -O3 $(call cc-disable-warning,maybe-uninitialized,)
endif

# small data is default for elf32 tool-chain. If not usable, disable it
+8 −0
Original line number Diff line number Diff line
@@ -47,6 +47,14 @@
			clocks = <&apbclk>;
			clock-names = "stmmaceth";
			max-speed = <100>;
			mdio0 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "snps,dwmac-mdio";
				phy1: ethernet-phy@1 {
					reg = <1>;
				};
			};
		};

		ehci@0x40000 {
+2 −1
Original line number Diff line number Diff line
@@ -35,7 +35,8 @@
		#address-cells = <1>;
		#size-cells = <1>;

		/* only perip space at end of low mem accessible */
		/* only perip space at end of low mem accessible
			 bus addr,   parent bus addr, size */
		ranges = <0x80000000 0x0 0x80000000 0x80000000>;

		core_intc: core-interrupt-controller {
+2 −3
Original line number Diff line number Diff line
@@ -65,10 +65,9 @@
		};

		eth0: ethernet@f0003000 {
			compatible = "snps,oscilan";
			compatible = "ezchip,nps-mgt-enet";
			reg = <0xf0003000 0x44>;
			interrupts = <7>, <8>;
			interrupt-names = "rx", "tx";
			interrupts = <7>;
		};
	};
};
Loading