svn commit: r248809 - head/sys/mips/atheros

Adrian Chadd adrian at FreeBSD.org
Thu Mar 28 05:43:03 UTC 2013


Author: adrian
Date: Thu Mar 28 05:43:03 2013
New Revision: 248809
URL: http://svnweb.freebsd.org/changeset/base/248809

Log:
  Fix the AR933x platform device start/stop code.
  
  This was ported from the AR724x code and I think that also doesn't
  quite work.  I'll investigate that soon.
  
  With this in place the system reset path works, so 'reset' from kdb
  actually resets the SoC.
  
  Tested:
  
  * AP121 test board

Modified:
  head/sys/mips/atheros/ar933x_chip.c

Modified: head/sys/mips/atheros/ar933x_chip.c
==============================================================================
--- head/sys/mips/atheros/ar933x_chip.c	Thu Mar 28 05:39:45 2013	(r248808)
+++ head/sys/mips/atheros/ar933x_chip.c	Thu Mar 28 05:43:03 2013	(r248809)
@@ -119,25 +119,19 @@ ar933x_chip_detect_sys_frequency(void)
 static void
 ar933x_chip_device_stop(uint32_t mask)
 {
-	uint32_t mask_inv, reg;
+	uint32_t reg;
 
-	mask_inv = mask;
 	reg = ATH_READ_REG(AR933X_RESET_REG_RESET_MODULE);
-	reg |= mask;
-	reg &= ~mask_inv;
-	ATH_WRITE_REG(AR933X_RESET_REG_RESET_MODULE, reg);
+	ATH_WRITE_REG(AR933X_RESET_REG_RESET_MODULE, reg | mask);
 }
 
 static void
 ar933x_chip_device_start(uint32_t mask)
 {
-	uint32_t mask_inv, reg;
+	uint32_t reg;
 
-	mask_inv = mask;
 	reg = ATH_READ_REG(AR933X_RESET_REG_RESET_MODULE);
-	reg &= ~mask;
-	reg |= mask_inv;
-	ATH_WRITE_REG(AR933X_RESET_REG_RESET_MODULE, reg);
+	ATH_WRITE_REG(AR933X_RESET_REG_RESET_MODULE, reg & ~mask);
 }
 
 static int


More information about the svn-src-all mailing list