summaryrefslogtreecommitdiffstats
path: root/import/chips/p9/common/pmlib/include/stop_sgpe_cme_api.h
diff options
context:
space:
mode:
Diffstat (limited to 'import/chips/p9/common/pmlib/include/stop_sgpe_cme_api.h')
-rw-r--r--import/chips/p9/common/pmlib/include/stop_sgpe_cme_api.h38
1 files changed, 27 insertions, 11 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,
OpenPOWER on IntegriCloud