Power: Add the suspend hooks properly for IPUs
authorSuman Anna <s-anna@ti.com>
Fri, 24 Apr 2015 22:35:20 +0000 (17:35 -0500)
committerRobert Tivy <rtivy@ti.com>
Tue, 28 Apr 2015 21:31:10 +0000 (14:31 -0700)
The IpcPower logic is inherited from the sysbios-rpmsg tree, on
which the suspend/resume hooks were properly plugged in as the
only supported platforms were OMAP4 and OMAP5 (built in M3
compatible mode). The IpcPower suspend/resume callback functions
were not hooked into the SYS/BIOS Power module for IPUs on current
platforms, as the IPUs are built for v7M4 ISA, so fix the same
by properly checking for the ISA and the BIOS SMP-enabled mode,
while also retaining the check for the Platform name.

Signed-off-by: Suman Anna <s-anna@ti.com>
packages/ti/pm/package.xs

index e31e96fb7979a46756099dd4b23b87ea1fda5d60..3a07512f017c849dc32aa438c62d4892ae07f607 100644 (file)
@@ -49,11 +49,15 @@ function init()
     }
 
     /* plug-in the power event hooks for SMP/BIOS */
-    if (Program.build.target.name.match(/M3/) &&
-        Program.platformName.match(/ipu/)) {
-        var Power = xdc.useModule('ti.sysbios.family.arm.ducati.smp.Power');
-        Power.preSuspendHooks.$add("&IpcPower_preSuspend");
-        Power.postSuspendHooks.$add("&IpcPower_postResume");
+    if (Program.build.target.isa.match(/v7M4/) &&
+        (Program.platformName.match(/IPU/) ||
+         Program.platformName.match(/ipu/))) {
+        var BIOS = xdc.module('ti.sysbios.BIOS');
+        if (BIOS.smpEnabled) {
+            var Power = xdc.useModule('ti.sysbios.family.arm.ducati.smp.Power');
+            Power.preSuspendHooks.$add("&IpcPower_preSuspend");
+            Power.postSuspendHooks.$add("&IpcPower_postResume");
+        }
     }
 
     if (Program.build.target.name.match(/M3/) &&