All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Cc: will.deacon@arm.com, catalin.marinas@arm.com
Subject: Re: 3.12-rc1: no longer compiles for Nokia n900 (omap based), display no longer works
Date: Thu, 19 Sep 2013 11:44:02 +0200	[thread overview]
Message-ID: <20130919094402.GA27253@amd.pavel.ucw.cz> (raw)
In-Reply-To: <20130919093002.GA23806@amd.pavel.ucw.cz>

On Thu 2013-09-19 11:30:02, Pavel Machek wrote:
> Hi!
> 
> I get:
> 
>   CC      arch/arm/kernel/machine_kexec.o
> /tmp/ccCFXeXG.s: Assembler messages:
> /tmp/ccCFXeXG.s:217: Error: garbage following instruction -- `dsb
> nshst'
> /tmp/ccCFXeXG.s:225: Error: garbage following instruction -- `dsb nsh'
> make[1]: *** [arch/arm/kernel/suspend.o] Error 1
> make[1]: *** Waiting for unfinished jobs....
> 
> pavel@amd:/data/l/linux-n900$ arm-linux-gnueabi-gcc --version
> arm-linux-gnueabi-gcc (Debian 4.3.5-4) 4.3.5
> 
> Minimum required gcc is 3.2, so I'm safe.
> 
> I suspect
> 
> commit 62cbbc42e0019aff6310259f275ae812463f8836
> Author: Will Deacon <will.deacon@arm.com>
> Date:   Thu May 23 18:43:58 2013 +0100

And

commit 6af396a6b6c698eb3834184518fc9a59bc22c817
Author: Will Deacon <will.deacon@arm.com>
Date:   Wed Jun 12 10:03:30 2013 +0100

and

commit 73a6fdc48bf52e93c26874dc8c0f0f8d5585a809
Author: Will Deacon <will.deacon@arm.com>
Date:   Mon May 13 11:39:50 2013 +0100

and

commit 6abdd491698a27f7df04a32ca12cc453810e4396
Author: Will Deacon <will.deacon@arm.com>
Date:   Mon May 13 12:01:12 2013 +0100

Now I've reverted those, and it seems to build... and boot, but
something in 3.12-rc1 broke display :-(. (dmesg diff attached at the
end, maybe someone knows...)

Signed-off-by: Pavel Machek <pavel@ucw.cz>
									Pavel
diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
index 15f2d5b..bfd37e5 100644
--- a/arch/arm/include/asm/cacheflush.h
+++ b/arch/arm/include/asm/cacheflush.h
@@ -351,7 +351,7 @@ static inline void flush_cache_vmap(unsigned long start, unsigned long end)
 		 * set_pte_at() called from vmap_pte_range() does not
 		 * have a DSB after cleaning the cache line.
 		 */
-		dsb(ishst);
+		dsb();
 }
 
 static inline void flush_cache_vunmap(unsigned long start, unsigned long end)
diff --git a/arch/arm/include/asm/spinlock.h b/arch/arm/include/asm/spinlock.h
index 4f2c280..b07c09e 100644
--- a/arch/arm/include/asm/spinlock.h
+++ b/arch/arm/include/asm/spinlock.h
@@ -46,7 +46,7 @@ static inline void dsb_sev(void)
 {
 #if __LINUX_ARM_ARCH__ >= 7
 	__asm__ __volatile__ (
-		"dsb ishst\n"
+		"dsb\n"
 		SEV
 	);
 #else
diff --git a/arch/arm/include/asm/switch_to.h b/arch/arm/include/asm/switch_to.h
index c99e259..fa09e6b 100644
--- a/arch/arm/include/asm/switch_to.h
+++ b/arch/arm/include/asm/switch_to.h
@@ -4,16 +4,6 @@
 #include <linux/thread_info.h>
 
 /*
- * For v7 SMP cores running a preemptible kernel we may be pre-empted
- * during a TLB maintenance operation, so execute an inner-shareable dsb
- * to ensure that the maintenance completes in case we migrate to another
- * CPU.
- */
-#if defined(CONFIG_PREEMPT) && defined(CONFIG_SMP) && defined(CONFIG_CPU_V7)
-#define finish_arch_switch(prev)	dsb(ish)
-#endif
-
-/*
  * switch_to(prev, next) should switch from task `prev' to `next'
  * `prev' will never be the same as `next'.  schedule() itself
  * contains the memory barrier to tell GCC not to cache `current'.
diff --git a/arch/arm/include/asm/tlbflush.h b/arch/arm/include/asm/tlbflush.h
index 3896026..8471824 100644
--- a/arch/arm/include/asm/tlbflush.h
+++ b/arch/arm/include/asm/tlbflush.h
@@ -335,13 +335,13 @@ static inline void local_flush_tlb_all(void)
 	const unsigned int __tlb_flag = __cpu_tlb_flags;
 
 	if (tlb_flag(TLB_WB))
-		dsb(nshst);
+		dsb();
 
 	__local_flush_tlb_all();
 	tlb_op(TLB_V7_UIS_FULL, "c8, c7, 0", zero);
 
 	if (tlb_flag(TLB_BARRIER)) {
-		dsb(nsh);
+		dsb();
 		isb();
 	}
 }
@@ -352,13 +352,13 @@ static inline void __flush_tlb_all(void)
 	const unsigned int __tlb_flag = __cpu_tlb_flags;
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 
 	__local_flush_tlb_all();
 	tlb_op(TLB_V7_UIS_FULL, "c8, c3, 0", zero);
 
 	if (tlb_flag(TLB_BARRIER)) {
-		dsb(ish);
+		dsb();
 		isb();
 	}
 }
@@ -388,13 +388,13 @@ static inline void local_flush_tlb_mm(struct mm_struct *mm)
 	const unsigned int __tlb_flag = __cpu_tlb_flags;
 
 	if (tlb_flag(TLB_WB))
-		dsb(nshst);
+		dsb();
 
 	__local_flush_tlb_mm(mm);
 	tlb_op(TLB_V7_UIS_ASID, "c8, c7, 2", asid);
 
 	if (tlb_flag(TLB_BARRIER))
-		dsb(nsh);
+		dsb();
 }
 
 static inline void __flush_tlb_mm(struct mm_struct *mm)
@@ -402,7 +402,7 @@ static inline void __flush_tlb_mm(struct mm_struct *mm)
 	const unsigned int __tlb_flag = __cpu_tlb_flags;
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 
 	__local_flush_tlb_mm(mm);
 #ifdef CONFIG_ARM_ERRATA_720789
@@ -412,7 +412,7 @@ static inline void __flush_tlb_mm(struct mm_struct *mm)
 #endif
 
 	if (tlb_flag(TLB_BARRIER))
-		dsb(ish);
+		dsb();
 }
 
 static inline void
@@ -445,13 +445,13 @@ local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
 	uaddr = (uaddr & PAGE_MASK) | ASID(vma->vm_mm);
 
 	if (tlb_flag(TLB_WB))
-		dsb(nshst);
+		dsb();
 
 	__local_flush_tlb_page(vma, uaddr);
 	tlb_op(TLB_V7_UIS_PAGE, "c8, c7, 1", uaddr);
 
 	if (tlb_flag(TLB_BARRIER))
-		dsb(nsh);
+		dsb();
 }
 
 static inline void
@@ -462,7 +462,7 @@ __flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
 	uaddr = (uaddr & PAGE_MASK) | ASID(vma->vm_mm);
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 
 	__local_flush_tlb_page(vma, uaddr);
 #ifdef CONFIG_ARM_ERRATA_720789
@@ -472,7 +472,7 @@ __flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
 #endif
 
 	if (tlb_flag(TLB_BARRIER))
-		dsb(ish);
+		dsb();
 }
 
 static inline void __local_flush_tlb_kernel_page(unsigned long kaddr)
@@ -498,13 +498,13 @@ static inline void local_flush_tlb_kernel_page(unsigned long kaddr)
 	kaddr &= PAGE_MASK;
 
 	if (tlb_flag(TLB_WB))
-		dsb(nshst);
+		dsb();
 
 	__local_flush_tlb_kernel_page(kaddr);
 	tlb_op(TLB_V7_UIS_PAGE, "c8, c7, 1", kaddr);
 
 	if (tlb_flag(TLB_BARRIER)) {
-		dsb(nsh);
+		dsb();
 		isb();
 	}
 }
@@ -516,13 +516,13 @@ static inline void __flush_tlb_kernel_page(unsigned long kaddr)
 	kaddr &= PAGE_MASK;
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 
 	__local_flush_tlb_kernel_page(kaddr);
 	tlb_op(TLB_V7_UIS_PAGE, "c8, c3, 1", kaddr);
 
 	if (tlb_flag(TLB_BARRIER)) {
-		dsb(ish);
+		dsb();
 		isb();
 	}
 }
@@ -578,7 +578,7 @@ static inline void dummy_flush_tlb_a15_erratum(void)
 	 * Dummy TLBIMVAIS. Using the unmapped address 0 and ASID 0.
 	 */
 	asm("mcr p15, 0, %0, c8, c3, 1" : : "r" (0));
-	dsb(ish);
+	dsb();
 }
 #else
 static inline int erratum_a15_798181(void)
@@ -612,7 +612,7 @@ static inline void flush_pmd_entry(void *pmd)
 	tlb_l2_op(TLB_L2CLEAN_FR, "c15, c9, 1  @ L2 flush_pmd", pmd);
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 }
 
 static inline void clean_pmd_entry(void *pmd)
diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S
index b5c467a..515b000 100644
--- a/arch/arm/mm/cache-v7.S
+++ b/arch/arm/mm/cache-v7.S
@@ -282,7 +282,7 @@ ENTRY(v7_coherent_user_range)
 	add	r12, r12, r2
 	cmp	r12, r1
 	blo	1b
-	dsb	ishst
+	dsb
 	icache_line_size r2, r3
 	sub	r3, r2, #1
 	bic	r12, r0, r3
@@ -294,7 +294,7 @@ ENTRY(v7_coherent_user_range)
 	mov	r0, #0
 	ALT_SMP(mcr	p15, 0, r0, c7, c1, 6)	@ invalidate BTB Inner Shareable
 	ALT_UP(mcr	p15, 0, r0, c7, c5, 6)	@ invalidate BTB
-	dsb	ishst
+	dsb
 	isb
 	mov	pc, lr
 
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index c63d9bd..f68734f 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -83,7 +83,7 @@ ENTRY(cpu_v7_dcache_clean_area)
 	add	r0, r0, r2
 	subs	r1, r1, r2
 	bhi	2b
-	dsb	ishst
+	dsb
 	mov	pc, lr
 ENDPROC(cpu_v7_dcache_clean_area)
 
diff --git a/arch/arm/mm/tlb-v7.S b/arch/arm/mm/tlb-v7.S
index 3553087..ea94765 100644
--- a/arch/arm/mm/tlb-v7.S
+++ b/arch/arm/mm/tlb-v7.S
@@ -35,7 +35,7 @@
 ENTRY(v7wbi_flush_user_tlb_range)
 	vma_vm_mm r3, r2			@ get vma->vm_mm
 	mmid	r3, r3				@ get vm_mm->context.id
-	dsb	ish
+	dsb
 	mov	r0, r0, lsr #PAGE_SHIFT		@ align address
 	mov	r1, r1, lsr #PAGE_SHIFT
 	asid	r3, r3				@ mask ASID
@@ -56,7 +56,7 @@ ENTRY(v7wbi_flush_user_tlb_range)
 	add	r0, r0, #PAGE_SZ
 	cmp	r0, r1
 	blo	1b
-	dsb	ish
+	dsb
 	mov	pc, lr
 ENDPROC(v7wbi_flush_user_tlb_range)
 
@@ -69,7 +69,7 @@ ENDPROC(v7wbi_flush_user_tlb_range)
  *	- end   - end address (exclusive, may not be aligned)
  */
 ENTRY(v7wbi_flush_kern_tlb_range)
-	dsb	ish
+	dsb
 	mov	r0, r0, lsr #PAGE_SHIFT		@ align address
 	mov	r1, r1, lsr #PAGE_SHIFT
 	mov	r0, r0, lsl #PAGE_SHIFT
@@ -84,7 +84,7 @@ ENTRY(v7wbi_flush_kern_tlb_range)
 	add	r0, r0, #PAGE_SZ
 	cmp	r0, r1
 	blo	1b
-	dsb	ish
+	dsb
 	isb
 	mov	pc, lr
 ENDPROC(v7wbi_flush_kern_tlb_range)
diff --git a/dmesg.qemu b/dmesg.qemu
index 452bc2e..9355be1 100644
--- a/dmesg.qemu
+++ b/dmesg.qemu
@@ -27,6 +27,7 @@ Booting secondary
    No USB host detected

  Loading initfs image info

  Serial console enabled

+omap2_inth_read: Bad register 0x000020
  Booting Linux on physical CPU 0x0

  Initializing cgroup subsys cpu

  revision 3 (ARMv7), cr=10c53c7d

@@ -65,12 +66,15 @@ Booting secondary
  Initializing cgroup subsys blkio

  CPU: Testing write buffer coherency: ok

  devtmpfs: initialized

+ VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2

  omap_hdq1w_reset: hdq1w: softreset failed (waited 10000 usec)

  omap_hwmod: sham: cannot be enabled for reset (3)

  omap_hwmod: aes: cannot be enabled for reset (3)

  pinctrl core: initialized pinctrl subsystem

  NET: Registered protocol family 16

  DMA: preallocated 256 KiB pool for atomic coherent allocations

+ cpuidle: using governor ladder

+ cpuidle: using governor menu

  Reprogramming SDRC clock to 332000000 Hz

  OMAP GPIO hardware version 2.5

  platform 49022000.mcbsp: alias fck already exists

@@ -114,7 +118,7 @@ Booting secondary
  WARNING: CPU: 0 PID: 1 at drivers/video/omap2/dss/dss.c:540 dss_set_clock_div+0xa0/0xcc()

  clk rate mismatch: 86400000 != 172800000

  Modules linked in:

- CPU: 0 PID: 1 Comm: swapper Not tainted 3.11.0+ #326

+ CPU: 0 PID: 1 Comm: swapper Not tainted 3.12.0-rc1+ #327

  (show_stack+0x14/0x1c)

  (warn_slowpath_common+0x64/0x84)

  (warn_slowpath_fmt+0x30/0x40)

@@ -124,25 +128,23 @@ Booting secondary
  (driver_probe_device+0xc0/0x21c)

  (__driver_attach+0x60/0x84)

  (bus_for_each_dev+0x50/0x98)

- (bus_add_driver+0xb4/0x21c)

- (driver_register+0xa4/0x144)

+ (bus_add_driver+0xb4/0x244)

+ (driver_register+0xa4/0xec)

  (platform_driver_probe+0x1c/0xa8)

- (omap_dss_init2+0x20/0xcc)

+ (omap_dss_init+0x1c/0xbc)

  (do_one_initcall+0x94/0x134)

  (kernel_init_freeable+0xe0/0x1b8)

  (kernel_init+0x8/0x15c)

  (ret_from_fork+0x14/0x3c)

 ---

  OMAP DSS rev 2.0

- omapfb omapfb: no driver for display: lcd

+ omapfb omapfb: no displays

+ omapfb omapfb: failed to setup omapfb

  platform omapfb: Driver omapfb requests probe deferral

  Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled

- omap_uart serial.5: did not get pins for uart0 error: -19

- serial.5: ttyO0 at MMIO 0x4806a000 (irq = 88) is a OMAP UART0

- omap_uart serial.6: did not get pins for uart1 error: -19

- serial.6: ttyO1 at MMIO 0x4806c000 (irq = 89) is a OMAP UART1

- omap_uart serial.7: did not get pins for uart2 error: -19

- serial.7: ttyO2 at MMIO 0x49020000 (irq = 90) is a OMAP UART2

+ serial.5: ttyO0 at MMIO 0x4806a000 (irq = 88, base_baud = 3000000) is a OMAP UART0

+ serial.6: ttyO1 at MMIO 0x4806c000 (irq = 89, base_baud = 3000000) is a OMAP UART1

+ serial.7: ttyO2 at MMIO 0x49020000 (irq = 90, base_baud = 3000000) is a OMAP UART2

  enabled

  brd: module loaded

  loop: module loaded

@@ -151,11 +153,8 @@ Booting secondary
  omap-dma-engine 48056000.dma-controller: allocating channel for 35

  omap-dma-engine 48056000.dma-controller: allocating channel for 40

  omap-dma-engine 48056000.dma-controller: allocating channel for 39

- acx565akm spi1.2: omapfb: acx565akm rev 12 LCD detected

  musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -6

  omap_wdt: OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec

- cpuidle: using governor ladder

- cpuidle: using governor menu

  ledtrig-cpu: registered to indicate activity on CPUs

  TCP: cubic registered

  Initializing XFRM netlink socket

@@ -163,10 +162,11 @@ Booting secondary
  NET: Registered protocol family 15

  NET: Registered protocol family 35

  Key type dns_resolver registered

- VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2

  ThumbEE CPU extension supported.

  registered taskstats version 1

- Console: switching to colour frame buffer device 100x30

+ omapfb omapfb: no displays

+ omapfb omapfb: failed to setup omapfb

+ platform omapfb: Driver omapfb requests probe deferral

  drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

  ALSA device list:

    No soundcards found.



-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

WARNING: multiple messages have this Message-ID (diff)
From: pavel@ucw.cz (Pavel Machek)
To: linux-arm-kernel@lists.infradead.org
Subject: 3.12-rc1: no longer compiles for Nokia n900 (omap based), display no longer works
Date: Thu, 19 Sep 2013 11:44:02 +0200	[thread overview]
Message-ID: <20130919094402.GA27253@amd.pavel.ucw.cz> (raw)
In-Reply-To: <20130919093002.GA23806@amd.pavel.ucw.cz>

On Thu 2013-09-19 11:30:02, Pavel Machek wrote:
> Hi!
> 
> I get:
> 
>   CC      arch/arm/kernel/machine_kexec.o
> /tmp/ccCFXeXG.s: Assembler messages:
> /tmp/ccCFXeXG.s:217: Error: garbage following instruction -- `dsb
> nshst'
> /tmp/ccCFXeXG.s:225: Error: garbage following instruction -- `dsb nsh'
> make[1]: *** [arch/arm/kernel/suspend.o] Error 1
> make[1]: *** Waiting for unfinished jobs....
> 
> pavel at amd:/data/l/linux-n900$ arm-linux-gnueabi-gcc --version
> arm-linux-gnueabi-gcc (Debian 4.3.5-4) 4.3.5
> 
> Minimum required gcc is 3.2, so I'm safe.
> 
> I suspect
> 
> commit 62cbbc42e0019aff6310259f275ae812463f8836
> Author: Will Deacon <will.deacon@arm.com>
> Date:   Thu May 23 18:43:58 2013 +0100

And

commit 6af396a6b6c698eb3834184518fc9a59bc22c817
Author: Will Deacon <will.deacon@arm.com>
Date:   Wed Jun 12 10:03:30 2013 +0100

and

commit 73a6fdc48bf52e93c26874dc8c0f0f8d5585a809
Author: Will Deacon <will.deacon@arm.com>
Date:   Mon May 13 11:39:50 2013 +0100

and

commit 6abdd491698a27f7df04a32ca12cc453810e4396
Author: Will Deacon <will.deacon@arm.com>
Date:   Mon May 13 12:01:12 2013 +0100

Now I've reverted those, and it seems to build... and boot, but
something in 3.12-rc1 broke display :-(. (dmesg diff attached at the
end, maybe someone knows...)

Signed-off-by: Pavel Machek <pavel@ucw.cz>
									Pavel
diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
index 15f2d5b..bfd37e5 100644
--- a/arch/arm/include/asm/cacheflush.h
+++ b/arch/arm/include/asm/cacheflush.h
@@ -351,7 +351,7 @@ static inline void flush_cache_vmap(unsigned long start, unsigned long end)
 		 * set_pte_at() called from vmap_pte_range() does not
 		 * have a DSB after cleaning the cache line.
 		 */
-		dsb(ishst);
+		dsb();
 }
 
 static inline void flush_cache_vunmap(unsigned long start, unsigned long end)
diff --git a/arch/arm/include/asm/spinlock.h b/arch/arm/include/asm/spinlock.h
index 4f2c280..b07c09e 100644
--- a/arch/arm/include/asm/spinlock.h
+++ b/arch/arm/include/asm/spinlock.h
@@ -46,7 +46,7 @@ static inline void dsb_sev(void)
 {
 #if __LINUX_ARM_ARCH__ >= 7
 	__asm__ __volatile__ (
-		"dsb ishst\n"
+		"dsb\n"
 		SEV
 	);
 #else
diff --git a/arch/arm/include/asm/switch_to.h b/arch/arm/include/asm/switch_to.h
index c99e259..fa09e6b 100644
--- a/arch/arm/include/asm/switch_to.h
+++ b/arch/arm/include/asm/switch_to.h
@@ -4,16 +4,6 @@
 #include <linux/thread_info.h>
 
 /*
- * For v7 SMP cores running a preemptible kernel we may be pre-empted
- * during a TLB maintenance operation, so execute an inner-shareable dsb
- * to ensure that the maintenance completes in case we migrate to another
- * CPU.
- */
-#if defined(CONFIG_PREEMPT) && defined(CONFIG_SMP) && defined(CONFIG_CPU_V7)
-#define finish_arch_switch(prev)	dsb(ish)
-#endif
-
-/*
  * switch_to(prev, next) should switch from task `prev' to `next'
  * `prev' will never be the same as `next'.  schedule() itself
  * contains the memory barrier to tell GCC not to cache `current'.
diff --git a/arch/arm/include/asm/tlbflush.h b/arch/arm/include/asm/tlbflush.h
index 3896026..8471824 100644
--- a/arch/arm/include/asm/tlbflush.h
+++ b/arch/arm/include/asm/tlbflush.h
@@ -335,13 +335,13 @@ static inline void local_flush_tlb_all(void)
 	const unsigned int __tlb_flag = __cpu_tlb_flags;
 
 	if (tlb_flag(TLB_WB))
-		dsb(nshst);
+		dsb();
 
 	__local_flush_tlb_all();
 	tlb_op(TLB_V7_UIS_FULL, "c8, c7, 0", zero);
 
 	if (tlb_flag(TLB_BARRIER)) {
-		dsb(nsh);
+		dsb();
 		isb();
 	}
 }
@@ -352,13 +352,13 @@ static inline void __flush_tlb_all(void)
 	const unsigned int __tlb_flag = __cpu_tlb_flags;
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 
 	__local_flush_tlb_all();
 	tlb_op(TLB_V7_UIS_FULL, "c8, c3, 0", zero);
 
 	if (tlb_flag(TLB_BARRIER)) {
-		dsb(ish);
+		dsb();
 		isb();
 	}
 }
@@ -388,13 +388,13 @@ static inline void local_flush_tlb_mm(struct mm_struct *mm)
 	const unsigned int __tlb_flag = __cpu_tlb_flags;
 
 	if (tlb_flag(TLB_WB))
-		dsb(nshst);
+		dsb();
 
 	__local_flush_tlb_mm(mm);
 	tlb_op(TLB_V7_UIS_ASID, "c8, c7, 2", asid);
 
 	if (tlb_flag(TLB_BARRIER))
-		dsb(nsh);
+		dsb();
 }
 
 static inline void __flush_tlb_mm(struct mm_struct *mm)
@@ -402,7 +402,7 @@ static inline void __flush_tlb_mm(struct mm_struct *mm)
 	const unsigned int __tlb_flag = __cpu_tlb_flags;
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 
 	__local_flush_tlb_mm(mm);
 #ifdef CONFIG_ARM_ERRATA_720789
@@ -412,7 +412,7 @@ static inline void __flush_tlb_mm(struct mm_struct *mm)
 #endif
 
 	if (tlb_flag(TLB_BARRIER))
-		dsb(ish);
+		dsb();
 }
 
 static inline void
@@ -445,13 +445,13 @@ local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
 	uaddr = (uaddr & PAGE_MASK) | ASID(vma->vm_mm);
 
 	if (tlb_flag(TLB_WB))
-		dsb(nshst);
+		dsb();
 
 	__local_flush_tlb_page(vma, uaddr);
 	tlb_op(TLB_V7_UIS_PAGE, "c8, c7, 1", uaddr);
 
 	if (tlb_flag(TLB_BARRIER))
-		dsb(nsh);
+		dsb();
 }
 
 static inline void
@@ -462,7 +462,7 @@ __flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
 	uaddr = (uaddr & PAGE_MASK) | ASID(vma->vm_mm);
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 
 	__local_flush_tlb_page(vma, uaddr);
 #ifdef CONFIG_ARM_ERRATA_720789
@@ -472,7 +472,7 @@ __flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
 #endif
 
 	if (tlb_flag(TLB_BARRIER))
-		dsb(ish);
+		dsb();
 }
 
 static inline void __local_flush_tlb_kernel_page(unsigned long kaddr)
@@ -498,13 +498,13 @@ static inline void local_flush_tlb_kernel_page(unsigned long kaddr)
 	kaddr &= PAGE_MASK;
 
 	if (tlb_flag(TLB_WB))
-		dsb(nshst);
+		dsb();
 
 	__local_flush_tlb_kernel_page(kaddr);
 	tlb_op(TLB_V7_UIS_PAGE, "c8, c7, 1", kaddr);
 
 	if (tlb_flag(TLB_BARRIER)) {
-		dsb(nsh);
+		dsb();
 		isb();
 	}
 }
@@ -516,13 +516,13 @@ static inline void __flush_tlb_kernel_page(unsigned long kaddr)
 	kaddr &= PAGE_MASK;
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 
 	__local_flush_tlb_kernel_page(kaddr);
 	tlb_op(TLB_V7_UIS_PAGE, "c8, c3, 1", kaddr);
 
 	if (tlb_flag(TLB_BARRIER)) {
-		dsb(ish);
+		dsb();
 		isb();
 	}
 }
@@ -578,7 +578,7 @@ static inline void dummy_flush_tlb_a15_erratum(void)
 	 * Dummy TLBIMVAIS. Using the unmapped address 0 and ASID 0.
 	 */
 	asm("mcr p15, 0, %0, c8, c3, 1" : : "r" (0));
-	dsb(ish);
+	dsb();
 }
 #else
 static inline int erratum_a15_798181(void)
@@ -612,7 +612,7 @@ static inline void flush_pmd_entry(void *pmd)
 	tlb_l2_op(TLB_L2CLEAN_FR, "c15, c9, 1  @ L2 flush_pmd", pmd);
 
 	if (tlb_flag(TLB_WB))
-		dsb(ishst);
+		dsb();
 }
 
 static inline void clean_pmd_entry(void *pmd)
diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S
index b5c467a..515b000 100644
--- a/arch/arm/mm/cache-v7.S
+++ b/arch/arm/mm/cache-v7.S
@@ -282,7 +282,7 @@ ENTRY(v7_coherent_user_range)
 	add	r12, r12, r2
 	cmp	r12, r1
 	blo	1b
-	dsb	ishst
+	dsb
 	icache_line_size r2, r3
 	sub	r3, r2, #1
 	bic	r12, r0, r3
@@ -294,7 +294,7 @@ ENTRY(v7_coherent_user_range)
 	mov	r0, #0
 	ALT_SMP(mcr	p15, 0, r0, c7, c1, 6)	@ invalidate BTB Inner Shareable
 	ALT_UP(mcr	p15, 0, r0, c7, c5, 6)	@ invalidate BTB
-	dsb	ishst
+	dsb
 	isb
 	mov	pc, lr
 
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index c63d9bd..f68734f 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -83,7 +83,7 @@ ENTRY(cpu_v7_dcache_clean_area)
 	add	r0, r0, r2
 	subs	r1, r1, r2
 	bhi	2b
-	dsb	ishst
+	dsb
 	mov	pc, lr
 ENDPROC(cpu_v7_dcache_clean_area)
 
diff --git a/arch/arm/mm/tlb-v7.S b/arch/arm/mm/tlb-v7.S
index 3553087..ea94765 100644
--- a/arch/arm/mm/tlb-v7.S
+++ b/arch/arm/mm/tlb-v7.S
@@ -35,7 +35,7 @@
 ENTRY(v7wbi_flush_user_tlb_range)
 	vma_vm_mm r3, r2			@ get vma->vm_mm
 	mmid	r3, r3				@ get vm_mm->context.id
-	dsb	ish
+	dsb
 	mov	r0, r0, lsr #PAGE_SHIFT		@ align address
 	mov	r1, r1, lsr #PAGE_SHIFT
 	asid	r3, r3				@ mask ASID
@@ -56,7 +56,7 @@ ENTRY(v7wbi_flush_user_tlb_range)
 	add	r0, r0, #PAGE_SZ
 	cmp	r0, r1
 	blo	1b
-	dsb	ish
+	dsb
 	mov	pc, lr
 ENDPROC(v7wbi_flush_user_tlb_range)
 
@@ -69,7 +69,7 @@ ENDPROC(v7wbi_flush_user_tlb_range)
  *	- end   - end address (exclusive, may not be aligned)
  */
 ENTRY(v7wbi_flush_kern_tlb_range)
-	dsb	ish
+	dsb
 	mov	r0, r0, lsr #PAGE_SHIFT		@ align address
 	mov	r1, r1, lsr #PAGE_SHIFT
 	mov	r0, r0, lsl #PAGE_SHIFT
@@ -84,7 +84,7 @@ ENTRY(v7wbi_flush_kern_tlb_range)
 	add	r0, r0, #PAGE_SZ
 	cmp	r0, r1
 	blo	1b
-	dsb	ish
+	dsb
 	isb
 	mov	pc, lr
 ENDPROC(v7wbi_flush_kern_tlb_range)
diff --git a/dmesg.qemu b/dmesg.qemu
index 452bc2e..9355be1 100644
--- a/dmesg.qemu
+++ b/dmesg.qemu
@@ -27,6 +27,7 @@ Booting secondary
    No USB host detected

  Loading initfs image info

  Serial console enabled

+omap2_inth_read: Bad register 0x000020
  Booting Linux on physical CPU 0x0

  Initializing cgroup subsys cpu

  revision 3 (ARMv7), cr=10c53c7d

@@ -65,12 +66,15 @@ Booting secondary
  Initializing cgroup subsys blkio

  CPU: Testing write buffer coherency: ok

  devtmpfs: initialized

+ VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2

  omap_hdq1w_reset: hdq1w: softreset failed (waited 10000 usec)

  omap_hwmod: sham: cannot be enabled for reset (3)

  omap_hwmod: aes: cannot be enabled for reset (3)

  pinctrl core: initialized pinctrl subsystem

  NET: Registered protocol family 16

  DMA: preallocated 256 KiB pool for atomic coherent allocations

+ cpuidle: using governor ladder

+ cpuidle: using governor menu

  Reprogramming SDRC clock to 332000000 Hz

  OMAP GPIO hardware version 2.5

  platform 49022000.mcbsp: alias fck already exists

@@ -114,7 +118,7 @@ Booting secondary
  WARNING: CPU: 0 PID: 1 at drivers/video/omap2/dss/dss.c:540 dss_set_clock_div+0xa0/0xcc()

  clk rate mismatch: 86400000 != 172800000

  Modules linked in:

- CPU: 0 PID: 1 Comm: swapper Not tainted 3.11.0+ #326

+ CPU: 0 PID: 1 Comm: swapper Not tainted 3.12.0-rc1+ #327

  (show_stack+0x14/0x1c)

  (warn_slowpath_common+0x64/0x84)

  (warn_slowpath_fmt+0x30/0x40)

@@ -124,25 +128,23 @@ Booting secondary
  (driver_probe_device+0xc0/0x21c)

  (__driver_attach+0x60/0x84)

  (bus_for_each_dev+0x50/0x98)

- (bus_add_driver+0xb4/0x21c)

- (driver_register+0xa4/0x144)

+ (bus_add_driver+0xb4/0x244)

+ (driver_register+0xa4/0xec)

  (platform_driver_probe+0x1c/0xa8)

- (omap_dss_init2+0x20/0xcc)

+ (omap_dss_init+0x1c/0xbc)

  (do_one_initcall+0x94/0x134)

  (kernel_init_freeable+0xe0/0x1b8)

  (kernel_init+0x8/0x15c)

  (ret_from_fork+0x14/0x3c)

 ---

  OMAP DSS rev 2.0

- omapfb omapfb: no driver for display: lcd

+ omapfb omapfb: no displays

+ omapfb omapfb: failed to setup omapfb

  platform omapfb: Driver omapfb requests probe deferral

  Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled

- omap_uart serial.5: did not get pins for uart0 error: -19

- serial.5: ttyO0 at MMIO 0x4806a000 (irq = 88) is a OMAP UART0

- omap_uart serial.6: did not get pins for uart1 error: -19

- serial.6: ttyO1 at MMIO 0x4806c000 (irq = 89) is a OMAP UART1

- omap_uart serial.7: did not get pins for uart2 error: -19

- serial.7: ttyO2 at MMIO 0x49020000 (irq = 90) is a OMAP UART2

+ serial.5: ttyO0 at MMIO 0x4806a000 (irq = 88, base_baud = 3000000) is a OMAP UART0

+ serial.6: ttyO1 at MMIO 0x4806c000 (irq = 89, base_baud = 3000000) is a OMAP UART1

+ serial.7: ttyO2 at MMIO 0x49020000 (irq = 90, base_baud = 3000000) is a OMAP UART2

  enabled

  brd: module loaded

  loop: module loaded

@@ -151,11 +153,8 @@ Booting secondary
  omap-dma-engine 48056000.dma-controller: allocating channel for 35

  omap-dma-engine 48056000.dma-controller: allocating channel for 40

  omap-dma-engine 48056000.dma-controller: allocating channel for 39

- acx565akm spi1.2: omapfb: acx565akm rev 12 LCD detected

  musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -6

  omap_wdt: OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec

- cpuidle: using governor ladder

- cpuidle: using governor menu

  ledtrig-cpu: registered to indicate activity on CPUs

  TCP: cubic registered

  Initializing XFRM netlink socket

@@ -163,10 +162,11 @@ Booting secondary
  NET: Registered protocol family 15

  NET: Registered protocol family 35

  Key type dns_resolver registered

- VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2

  ThumbEE CPU extension supported.

  registered taskstats version 1

- Console: switching to colour frame buffer device 100x30

+ omapfb omapfb: no displays

+ omapfb omapfb: failed to setup omapfb

+ platform omapfb: Driver omapfb requests probe deferral

  drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

  ALSA device list:

    No soundcards found.



-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

  parent reply	other threads:[~2013-09-19  9:44 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-19  9:30 3.12-rc1: no longer compiles for Nokia n900 (omap based) Pavel Machek
2013-09-19  9:30 ` Pavel Machek
2013-09-19  9:36 ` Will Deacon
2013-09-19  9:36   ` Will Deacon
2013-09-19  9:36   ` Will Deacon
2013-09-19  9:57   ` Pavel Machek
2013-09-19  9:57     ` Pavel Machek
2013-09-19  9:57     ` Pavel Machek
2013-09-23 23:59   ` new binutils needed for arm in 3.12-rc1 Pavel Machek
2013-09-23 23:59     ` Pavel Machek
2013-09-24  2:13     ` Rob Landley
2013-09-24  2:13       ` Rob Landley
2013-09-24  2:13       ` Rob Landley
2013-09-24 12:11       ` Måns Rullgård
2013-09-24 12:11         ` Måns Rullgård
2013-09-24 12:11         ` Måns Rullgård
2013-09-24 21:23         ` Rob Landley
2013-09-24 21:23           ` Rob Landley
2013-09-24 21:23           ` Rob Landley
2013-09-24 21:48           ` Russell King - ARM Linux
2013-09-24 21:48             ` Russell King - ARM Linux
2013-09-25  1:13             ` Rob Landley
2013-09-25  1:13               ` Rob Landley
2013-09-25  2:07               ` Nicolas Pitre
2013-09-25  2:07                 ` Nicolas Pitre
2013-09-25 15:23                 ` Rob Landley
2013-09-25 15:23                   ` Rob Landley
2013-09-25 15:52                   ` Måns Rullgård
2013-09-25 15:52                     ` Måns Rullgård
2013-09-26  0:10                     ` Rob Landley
2013-09-26  0:10                       ` Rob Landley
2013-09-26  0:10                       ` Rob Landley
2013-09-26 22:24                       ` Måns Rullgård
2013-09-26 22:24                         ` Måns Rullgård
2013-09-26 22:24                         ` Måns Rullgård
2013-09-25 16:13                   ` Nicolas Pitre
2013-09-25 16:13                     ` Nicolas Pitre
2013-09-26 22:48                     ` Rob Landley
2013-09-26 22:48                       ` Rob Landley
2013-09-27 19:41                       ` Pavel Machek
2013-09-27 19:41                         ` Pavel Machek
2013-09-28  8:43                       ` Pavel Machek
2013-09-28  8:43                         ` Pavel Machek
2013-09-25 20:44                   ` Russell King - ARM Linux
2013-09-25 20:44                     ` Russell King - ARM Linux
2013-09-25 20:49                     ` Måns Rullgård
2013-09-25 20:49                       ` Måns Rullgård
2013-09-25 20:49                       ` Måns Rullgård
2013-09-26 22:50                       ` Rob Landley
2013-09-26 22:50                         ` Rob Landley
2013-09-26 22:50                         ` Rob Landley
2013-09-26  7:18               ` Geert Uytterhoeven
2013-09-26  7:18                 ` Geert Uytterhoeven
2013-09-28  9:03                 ` richard -rw- weinberger
2013-09-28  9:03                   ` richard -rw- weinberger
2013-09-26 17:00       ` Ben Dooks
2013-09-30 11:27         ` Dave Martin
2013-09-24  2:20     ` Rob Landley
2013-09-24  2:20       ` Rob Landley
2013-09-24  2:20       ` Rob Landley
2013-09-19  9:44 ` Pavel Machek [this message]
2013-09-19  9:44   ` 3.12-rc1: no longer compiles for Nokia n900 (omap based), display no longer works Pavel Machek
2013-09-19 18:47   ` Aaro Koskinen
2013-09-19 18:47     ` Aaro Koskinen
2013-09-26  0:23     ` Pavel Machek
2013-09-26  0:23       ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130919094402.GA27253@amd.pavel.ucw.cz \
    --to=pavel@ucw.cz \
    --cc=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.