Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jan 2012 15:50:18 +0000 (UTC)
From:      Grzegorz Bernacki <gber@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r230823 - projects/armv6/sys/arm/arm
Message-ID:  <201201311550.q0VFoIih043096@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gber
Date: Tue Jan 31 15:50:18 2012
New Revision: 230823
URL: http://svn.freebsd.org/changeset/base/230823

Log:
  Remove pj4b_sleep function
  
  WFI instruction requires snoop filter and coherency fabric disabled before
  entering low power mode.
  This fix is temporary workaround over problems when SMP with WBWA cache is
  enabled.
  
  Submitted by: Lukasz Plachno
  Obtained from: Marvell, Semihalf

Modified:
  projects/armv6/sys/arm/arm/cpufunc.c
  projects/armv6/sys/arm/arm/cpufunc_asm_pj4b.S

Modified: projects/armv6/sys/arm/arm/cpufunc.c
==============================================================================
--- projects/armv6/sys/arm/arm/cpufunc.c	Tue Jan 31 15:48:40 2012	(r230822)
+++ projects/armv6/sys/arm/arm/cpufunc.c	Tue Jan 31 15:50:18 2012	(r230823)
@@ -524,7 +524,7 @@ struct cpu_functions pj4bv7_cpufuncs = {
 	pj4b_flush_brnchtgt_all,	/* flush_brnchtgt_C	*/
 	pj4b_flush_brnchtgt_va,		/* flush_brnchtgt_E	*/
 
-	pj4b_sleep,			/* sleep		*/
+	(void *)cpufunc_nullop,		/* sleep		*/
 
 	/* Soft functions */
 
@@ -583,7 +583,7 @@ struct cpu_functions pj4bv6_cpufuncs = {
 	pj4b_flush_brnchtgt_all,	/* flush_brnchtgt_C	*/
 	pj4b_flush_brnchtgt_va,		/* flush_brnchtgt_E	*/
 
-	pj4b_sleep,			/* sleep		*/
+	(void *)cpufunc_nullop,		/* sleep		*/
 
 	/* Soft functions */
 

Modified: projects/armv6/sys/arm/arm/cpufunc_asm_pj4b.S
==============================================================================
--- projects/armv6/sys/arm/arm/cpufunc_asm_pj4b.S	Tue Jan 31 15:48:40 2012	(r230822)
+++ projects/armv6/sys/arm/arm/cpufunc_asm_pj4b.S	Tue Jan 31 15:50:18 2012	(r230823)
@@ -180,11 +180,6 @@ ENTRY(pj4b_flush_brnchtgt_va)
 	mcr	p15, 0, r0, c7, c5, 7	/* flush branch target cache by VA */
 	RET
 
-ENTRY(pj4b_sleep)
-	mcr	p15, 0, r0, c7, c10, 4	/* drain the write buffer */
-	mcr	p15, 0, r0, c7, c0, 4	/* wait for interrupt */
-	RET
-
 ENTRY(get_core_id)
 	mrc p15, 0, r0, c0, c0, 5
 	RET



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201311550.q0VFoIih043096>