diff options
| author | Yue Du <daviddu@us.ibm.com> | 2018-02-23 09:57:34 -0600 |
|---|---|---|
| committer | hostboot <hostboot@us.ibm.com> | 2018-03-22 14:06:14 -0500 |
| commit | 5f054b32cffe00f2f0bb472c728128fad1c93779 (patch) | |
| tree | e40c75674525c7fbed9769ad99c17b1548a0bd87 /import/chips/p9/common | |
| parent | 875f2ea07dad9bbcf881b8fcbc41a73fc174b4ca (diff) | |
| download | talos-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.h | 38 | ||||
| -rw-r--r-- | import/chips/p9/common/pmlib/include/wof_sgpe_pgpe_api.h | 32 |
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; |

