Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Aug 2015 13:42:59 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r286630 - head/sys/dev/psci
Message-ID:  <201508111342.t7BDgxYI051404@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Tue Aug 11 13:42:58 2015
New Revision: 286630
URL: https://svnweb.freebsd.org/changeset/base/286630

Log:
  Start to support PSCI 1.0. For all the functions we currently support this
  can be seen as the same as 0.2. There are changes with the data passed to
  CPU_SUSPEND, however we don't yet use this call.
  
  Sponsored by:	ABT Systems Ltd

Modified:
  head/sys/dev/psci/psci.c

Modified: head/sys/dev/psci/psci.c
==============================================================================
--- head/sys/dev/psci/psci.c	Tue Aug 11 12:38:54 2015	(r286629)
+++ head/sys/dev/psci/psci.c	Tue Aug 11 13:42:58 2015	(r286630)
@@ -288,20 +288,21 @@ psci_v0_2_init(device_t dev)
 	if (version == PSCI_RETVAL_NOT_SUPPORTED)
 		return (1);
 
-	if ((PSCI_VER_MAJOR(version) != 0) && (PSCI_VER_MINOR(version) != 2)) {
-		device_printf(dev, "PSCI version number mismatched with DT\n");
-		return (1);
-	}
+	if ((PSCI_VER_MAJOR(version) == 0 && PSCI_VER_MINOR(version) == 2) ||
+	    (PSCI_VER_MAJOR(version) == 1 && PSCI_VER_MINOR(version) == 0)) {
+		if (bootverbose)
+			device_printf(dev, "PSCI version 0.2 available\n");
 
-	if (bootverbose)
-		device_printf(dev, "PSCI version 0.2 available\n");
+		/*
+		 * We only register this for v0.2 since v0.1 doesn't support
+		 * system_reset.
+		 */
+		EVENTHANDLER_REGISTER(shutdown_final, psci_shutdown, sc,
+		    SHUTDOWN_PRI_LAST);
 
-	/*
-	 * We only register this for v0.2 since v0.1 doesn't support
-	 * system_reset.
-	 */
-	EVENTHANDLER_REGISTER(shutdown_final, psci_shutdown, sc,
-	    SHUTDOWN_PRI_LAST);
+		return (0);
+	}
 
-	return (0);
+	device_printf(dev, "PSCI version number mismatched with DT\n");
+	return (1);
 }



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