summaryrefslogtreecommitdiffstats
path: root/import/chips/p9/common
diff options
context:
space:
mode:
authorYue Du <daviddu@us.ibm.com>2018-02-23 09:57:34 -0600
committerhostboot <hostboot@us.ibm.com>2018-03-22 14:06:14 -0500
commit5f054b32cffe00f2f0bb472c728128fad1c93779 (patch)
treee40c75674525c7fbed9769ad99c17b1548a0bd87 /import/chips/p9/common
parent875f2ea07dad9bbcf881b8fcbc41a73fc174b4ca (diff)
downloadtalos-hcode-5f054b32cffe00f2f0bb472c728128fad1c93779.tar.gz
talos-hcode-5f054b32cffe00f2f0bb472c728128fad1c93779.zip
STOP: Support Suspend Entry/Exit and Fix Pig Collision
1) also cleanup todos in Stop Hcode 2) make STOP3 complete trans in SSH Key_Cronus_Test=PM_REGRESS Change-Id: I91f89d647f8285f1ac153a8ea389f3c314f18f86 Original-Change-Id: I28a146e15e455f09f8d8ff588e122d5ecf34110a CQ: SW416550 CQ: HW437955 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54660 Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: RAHUL BATRA <rbatra@us.ibm.com> Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Diffstat (limited to 'import/chips/p9/common')
-rw-r--r--import/chips/p9/common/pmlib/include/stop_sgpe_cme_api.h38
-rw-r--r--import/chips/p9/common/pmlib/include/wof_sgpe_pgpe_api.h32
2 files changed, 43 insertions, 27 deletions
diff --git a/import/chips/p9/common/pmlib/include/stop_sgpe_cme_api.h b/import/chips/p9/common/pmlib/include/stop_sgpe_cme_api.h
index 6924b5fb..40a44ad8 100644
--- a/import/chips/p9/common/pmlib/include/stop_sgpe_cme_api.h
+++ b/import/chips/p9/common/pmlib/include/stop_sgpe_cme_api.h
@@ -41,11 +41,12 @@ enum SGPE_STOP_IRQ_PAYLOAD_MASKS
// 0110 reserved
TYPE2_PAYLOAD_DECREMENTER_WAKEUP = 0x700, // 0111
- TYPE2_PAYLOAD_SUSPEND_OP_MASK = 0x400,
+ // These bit1-4 is aligned with the bit0-3 of DB1 below
+ TYPE2_PAYLOAD_SUSPEND_ACTION_MASK = 0x400,
TYPE2_PAYLOAD_SUSPEND_EXIT_MASK = 0x200,
TYPE2_PAYLOAD_SUSPEND_ENTRY_MASK = 0x100,
- TYPE2_PAYLOAD_SUSPEND_BOTH_MASK = 0x300,
- TYPE2_PAYLOAD_SUSPEND_ACK_MASK = 0x080,
+ TYPE2_PAYLOAD_SUSPEND_SELECT_MASK = 0x080,
+ TYPE2_PAYLOAD_SUSPEND_ACK_MASK = 0x040,
TYPE5_PAYLOAD_CME_ERROR = 0x3FF,
TYPE6_PAYLOAD_EXIT_EVENT = 0x00F
@@ -63,14 +64,29 @@ enum CME_STOP_PIG_TYPES
/// Numberical Doorbell Message IDs(used by CME check)
enum CME_DOORBELL_MESSAGE_IDS
{
- MSGID_DB1_UNSUSPEND_STOP_ENTRIES = 0x01,
- MSGID_DB1_UNSUSPEND_STOP_EXITS = 0x02,
- MSGID_DB1_UNSUSPEND_STOP_ENTRIES_EXITS = 0x03,
- // 0x04 Illegal
- MSGID_DB1_SUSPEND_STOP_ENTRIES = 0x05,
- MSGID_DB1_SUSPEND_STOP_EXITS = 0x06,
- MSGID_DB1_SUSPEND_STOP_ENTRIES_EXITS = 0x07,
- MSGID_DB1_WAKEUP_GRANTED = 0x08,
+ // Bit0:Suspend(1)/Unsuspend(0) | Bit1:Exit | Bit2:Entry | Bit3:Suspend(1)/Block(0)
+
+ // Illegal as Unblock without Entry/Exit 00, // 0000
+ MSGID_DB1_UNBLOCK_STOP_ENTRIES = 0x02, // 0010
+ MSGID_DB1_UNBLOCK_STOP_EXITS = 0x04, // 0100
+ MSGID_DB1_UNBLOCK_STOP_ENTRIES_EXITS = 0x06, // 0110
+
+ // Illegal as Block without Entry/Exit 08, // 1000
+ MSGID_DB1_BLOCK_STOP_ENTRIES = 0x0A, // 1010
+ MSGID_DB1_BLOCK_STOP_EXITS = 0x0C, // 1100
+ MSGID_DB1_BLOCK_STOP_ENTRIES_EXITS = 0x0E, // 1110
+
+ // Illegal as Unsuspend without Entry/Exit 01, // 0001
+ MSGID_DB1_UNSUSPEND_STOP_ENTRIES = 0x03, // 0011
+ MSGID_DB1_UNSUSPEND_STOP_EXITS = 0x05, // 0101
+ MSGID_DB1_UNSUSPEND_STOP_ENTRIES_EXITS = 0x07, // 0111
+
+ // Illegal as Suspend without Entry/Exit 09, // 1001
+ MSGID_DB1_SUSPEND_STOP_ENTRIES = 0x0B, // 1011
+ MSGID_DB1_SUSPEND_STOP_EXITS = 0x0D, // 1101
+ MSGID_DB1_SUSPEND_STOP_ENTRIES_EXITS = 0x0F, // 1111
+
+ MSGID_DB1_WAKEUP_GRANTED = 0x10,
MSGID_DB2_DECREMENTER_WAKEUP = 0x01,
MSGID_DB2_RESONANT_CLOCK_DISABLE = 0x02,
diff --git a/import/chips/p9/common/pmlib/include/wof_sgpe_pgpe_api.h b/import/chips/p9/common/pmlib/include/wof_sgpe_pgpe_api.h
index f51db666..f018bd98 100644
--- a/import/chips/p9/common/pmlib/include/wof_sgpe_pgpe_api.h
+++ b/import/chips/p9/common/pmlib/include/wof_sgpe_pgpe_api.h
@@ -99,12 +99,12 @@ typedef union
uint64_t value;
struct
{
- uint32_t msg_num : 4;
- uint32_t update_type : 1;
- uint32_t reserved : 3;
- uint32_t return_code : 8;
- uint32_t active_cores : 24;
- uint32_t return_active_cores : 24;
+ uint64_t msg_num : 4;
+ uint64_t update_type : 1;
+ uint64_t reserved : 3;
+ uint64_t return_code : 8;
+ uint64_t active_cores : 24;
+ uint64_t return_active_cores : 24;
} fields;
} ipcmsg_s2p_update_active_cores_t;
@@ -113,16 +113,16 @@ typedef union
uint64_t value;
struct
{
- uint32_t msg_num : 4;
- uint32_t update_type : 1;
- uint32_t entry_type : 1;
- uint32_t reserved : 2;
- uint32_t return_code : 8;
- uint32_t requested_quads : 6;
- uint32_t reserved0 : 2;
- uint32_t return_active_quads : 6;
- uint32_t reserved1 : 2;
- uint32_t pad : 32;
+ uint64_t msg_num : 4;
+ uint64_t update_type : 1;
+ uint64_t entry_type : 1;
+ uint64_t reserved : 2;
+ uint64_t return_code : 8;
+ uint64_t requested_quads : 6;
+ uint64_t reserved0 : 2;
+ uint64_t return_active_quads : 6;
+ uint64_t reserved1 : 2;
+ uint64_t pad : 32;
} fields;
} ipcmsg_s2p_update_active_quads_t;
OpenPOWER on IntegriCloud