Commit 65beea4c authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'arc-5.1-final' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc

Pull ARC fixes from Vineet Gupta:
 "A few minor fixes for ARC.

   - regression in memset if line size !64

   - avoid panic if PAE and IOC"

* tag 'arc-5.1-final' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
  ARC: memset: fix build with L1_CACHE_SHIFT != 6
  ARC: [hsdk] Make it easier to add PAE40 region to DTB
  ARC: PAE40: don't panic and instead turn off hw ioc
parents fb0af61d 55c0c4c7
...@@ -18,8 +18,8 @@ / { ...@@ -18,8 +18,8 @@ / {
model = "snps,hsdk"; model = "snps,hsdk";
compatible = "snps,hsdk"; compatible = "snps,hsdk";
#address-cells = <1>; #address-cells = <2>;
#size-cells = <1>; #size-cells = <2>;
chosen { chosen {
bootargs = "earlycon=uart8250,mmio32,0xf0005000,115200n8 console=ttyS0,115200n8 debug print-fatal-signals=1"; bootargs = "earlycon=uart8250,mmio32,0xf0005000,115200n8 console=ttyS0,115200n8 debug print-fatal-signals=1";
...@@ -105,7 +105,7 @@ soc { ...@@ -105,7 +105,7 @@ soc {
#size-cells = <1>; #size-cells = <1>;
interrupt-parent = <&idu_intc>; interrupt-parent = <&idu_intc>;
ranges = <0x00000000 0xf0000000 0x10000000>; ranges = <0x00000000 0x0 0xf0000000 0x10000000>;
cgu_rst: reset-controller@8a0 { cgu_rst: reset-controller@8a0 {
compatible = "snps,hsdk-reset"; compatible = "snps,hsdk-reset";
...@@ -269,9 +269,10 @@ dmac: dmac@80000 { ...@@ -269,9 +269,10 @@ dmac: dmac@80000 {
}; };
memory@80000000 { memory@80000000 {
#address-cells = <1>; #address-cells = <2>;
#size-cells = <1>; #size-cells = <2>;
device_type = "memory"; device_type = "memory";
reg = <0x80000000 0x40000000>; /* 1 GiB */ reg = <0x0 0x80000000 0x0 0x40000000>; /* 1 GB lowmem */
/* 0x1 0x00000000 0x0 0x40000000>; 1 GB highmem */
}; };
}; };
...@@ -30,10 +30,10 @@ ...@@ -30,10 +30,10 @@
#else #else
.macro PREALLOC_INSTR .macro PREALLOC_INSTR reg, off
.endm .endm
.macro PREFETCHW_INSTR .macro PREFETCHW_INSTR reg, off
.endm .endm
#endif #endif
......
...@@ -113,10 +113,24 @@ static void read_decode_cache_bcr_arcv2(int cpu) ...@@ -113,10 +113,24 @@ static void read_decode_cache_bcr_arcv2(int cpu)
} }
READ_BCR(ARC_REG_CLUSTER_BCR, cbcr); READ_BCR(ARC_REG_CLUSTER_BCR, cbcr);
if (cbcr.c) if (cbcr.c) {
ioc_exists = 1; ioc_exists = 1;
else
/*
* As for today we don't support both IOC and ZONE_HIGHMEM enabled
* simultaneously. This happens because as of today IOC aperture covers
* only ZONE_NORMAL (low mem) and any dma transactions outside this
* region won't be HW coherent.
* If we want to use both IOC and ZONE_HIGHMEM we can use
* bounce_buffer to handle dma transactions to HIGHMEM.
* Also it is possible to modify dma_direct cache ops or increase IOC
* aperture size if we are planning to use HIGHMEM without PAE.
*/
if (IS_ENABLED(CONFIG_HIGHMEM) || is_pae40_enabled())
ioc_enable = 0;
} else {
ioc_enable = 0; ioc_enable = 0;
}
/* HS 2.0 didn't have AUX_VOL */ /* HS 2.0 didn't have AUX_VOL */
if (cpuinfo_arc700[cpu].core.family > 0x51) { if (cpuinfo_arc700[cpu].core.family > 0x51) {
...@@ -1158,19 +1172,6 @@ noinline void __init arc_ioc_setup(void) ...@@ -1158,19 +1172,6 @@ noinline void __init arc_ioc_setup(void)
if (!ioc_enable) if (!ioc_enable)
return; return;
/*
* As for today we don't support both IOC and ZONE_HIGHMEM enabled
* simultaneously. This happens because as of today IOC aperture covers
* only ZONE_NORMAL (low mem) and any dma transactions outside this
* region won't be HW coherent.
* If we want to use both IOC and ZONE_HIGHMEM we can use
* bounce_buffer to handle dma transactions to HIGHMEM.
* Also it is possible to modify dma_direct cache ops or increase IOC
* aperture size if we are planning to use HIGHMEM without PAE.
*/
if (IS_ENABLED(CONFIG_HIGHMEM))
panic("IOC and HIGHMEM can't be used simultaneously");
/* Flush + invalidate + disable L1 dcache */ /* Flush + invalidate + disable L1 dcache */
__dc_disable(); __dc_disable();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment