xref: /freebsd/sys/dev/isci/scil/scu_event_codes.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
1f11c7f63SJim Harris /*-
2*718cf2ccSPedro F. Giffuni  * SPDX-License-Identifier: BSD-2-Clause OR GPL-2.0
3*718cf2ccSPedro F. Giffuni  *
4f11c7f63SJim Harris  * This file is provided under a dual BSD/GPLv2 license.  When using or
5f11c7f63SJim Harris  * redistributing this file, you may do so under either license.
6f11c7f63SJim Harris  *
7f11c7f63SJim Harris  * GPL LICENSE SUMMARY
8f11c7f63SJim Harris  *
9f11c7f63SJim Harris  * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
10f11c7f63SJim Harris  *
11f11c7f63SJim Harris  * This program is free software; you can redistribute it and/or modify
12f11c7f63SJim Harris  * it under the terms of version 2 of the GNU General Public License as
13f11c7f63SJim Harris  * published by the Free Software Foundation.
14f11c7f63SJim Harris  *
15f11c7f63SJim Harris  * This program is distributed in the hope that it will be useful, but
16f11c7f63SJim Harris  * WITHOUT ANY WARRANTY; without even the implied warranty of
17f11c7f63SJim Harris  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18f11c7f63SJim Harris  * General Public License for more details.
19f11c7f63SJim Harris  *
20f11c7f63SJim Harris  * You should have received a copy of the GNU General Public License
21f11c7f63SJim Harris  * along with this program; if not, write to the Free Software
22f11c7f63SJim Harris  * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
23f11c7f63SJim Harris  * The full GNU General Public License is included in this distribution
24f11c7f63SJim Harris  * in the file called LICENSE.GPL.
25f11c7f63SJim Harris  *
26f11c7f63SJim Harris  * BSD LICENSE
27f11c7f63SJim Harris  *
28f11c7f63SJim Harris  * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
29f11c7f63SJim Harris  * All rights reserved.
30f11c7f63SJim Harris  *
31f11c7f63SJim Harris  * Redistribution and use in source and binary forms, with or without
32f11c7f63SJim Harris  * modification, are permitted provided that the following conditions
33f11c7f63SJim Harris  * are met:
34f11c7f63SJim Harris  *
35f11c7f63SJim Harris  *   * Redistributions of source code must retain the above copyright
36f11c7f63SJim Harris  *     notice, this list of conditions and the following disclaimer.
37f11c7f63SJim Harris  *   * Redistributions in binary form must reproduce the above copyright
38f11c7f63SJim Harris  *     notice, this list of conditions and the following disclaimer in
39f11c7f63SJim Harris  *     the documentation and/or other materials provided with the
40f11c7f63SJim Harris  *     distribution.
41f11c7f63SJim Harris  *
42f11c7f63SJim Harris  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
43f11c7f63SJim Harris  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
44f11c7f63SJim Harris  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
45f11c7f63SJim Harris  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
46f11c7f63SJim Harris  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
47f11c7f63SJim Harris  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
48f11c7f63SJim Harris  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
49f11c7f63SJim Harris  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
50f11c7f63SJim Harris  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
51f11c7f63SJim Harris  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
52f11c7f63SJim Harris  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53f11c7f63SJim Harris  */
54f11c7f63SJim Harris #ifndef __SCU_EVENT_CODES_HEADER__
55f11c7f63SJim Harris #define __SCU_EVENT_CODES_HEADER__
56f11c7f63SJim Harris 
57f11c7f63SJim Harris /**
58f11c7f63SJim Harris  * @file
59f11c7f63SJim Harris  *
60f11c7f63SJim Harris  * @brief This file contains the constants and macros for the SCU event codes.
61f11c7f63SJim Harris  */
62f11c7f63SJim Harris 
63f11c7f63SJim Harris #ifdef __cplusplus
64f11c7f63SJim Harris extern "C" {
65f11c7f63SJim Harris #endif // __cplusplus
66f11c7f63SJim Harris 
67f11c7f63SJim Harris #define SCU_EVENT_TYPE_CODE_SHIFT      24
68f11c7f63SJim Harris #define SCU_EVENT_TYPE_CODE_MASK       0x0F000000
69f11c7f63SJim Harris 
70f11c7f63SJim Harris #define SCU_EVENT_SPECIFIC_CODE_SHIFT  18
71f11c7f63SJim Harris #define SCU_EVENT_SPECIFIC_CODE_MASK   0x00FC0000
72f11c7f63SJim Harris 
73f11c7f63SJim Harris #define SCU_EVENT_CODE_MASK \
74f11c7f63SJim Harris    (SCU_EVENT_TYPE_CODE_MASK | SCU_EVENT_SPECIFIC_CODE_MASK)
75f11c7f63SJim Harris 
76f11c7f63SJim Harris /**
77f11c7f63SJim Harris  * This macro constructs an SCU event type from the type value.
78f11c7f63SJim Harris  */
79f11c7f63SJim Harris #define SCU_EVENT_TYPE(type) \
80f11c7f63SJim Harris    ((U32)(type) << SCU_EVENT_TYPE_CODE_SHIFT)
81f11c7f63SJim Harris 
82f11c7f63SJim Harris /**
83f11c7f63SJim Harris  * This macro constructs an SCU event specifier from the code value.
84f11c7f63SJim Harris  */
85f11c7f63SJim Harris #define SCU_EVENT_SPECIFIC(code) \
86f11c7f63SJim Harris    ((U32)(code) << SCU_EVENT_SPECIFIC_CODE_SHIFT)
87f11c7f63SJim Harris 
88f11c7f63SJim Harris /**
89f11c7f63SJim Harris  * This macro constructs a combines an SCU event type and SCU event specifier
90f11c7f63SJim Harris  * from the type and code values.
91f11c7f63SJim Harris  */
92f11c7f63SJim Harris #define SCU_EVENT_MESSAGE(type, code) \
93f11c7f63SJim Harris    ((type) | SCU_EVENT_SPECIFIC(code))
94f11c7f63SJim Harris 
95f11c7f63SJim Harris /**
96f11c7f63SJim Harris  * @name SCU_EVENT_TYPES
97f11c7f63SJim Harris  */
98f11c7f63SJim Harris /*@{*/
99f11c7f63SJim Harris #define SCU_EVENT_TYPE_SMU_COMMAND_ERROR  SCU_EVENT_TYPE(0x08)
100f11c7f63SJim Harris #define SCU_EVENT_TYPE_SMU_PCQ_ERROR      SCU_EVENT_TYPE(0x09)
101f11c7f63SJim Harris #define SCU_EVENT_TYPE_SMU_ERROR          SCU_EVENT_TYPE(0x00)
102f11c7f63SJim Harris #define SCU_EVENT_TYPE_TRANSPORT_ERROR    SCU_EVENT_TYPE(0x01)
103f11c7f63SJim Harris #define SCU_EVENT_TYPE_BROADCAST_CHANGE   SCU_EVENT_TYPE(0x02)
104f11c7f63SJim Harris #define SCU_EVENT_TYPE_OSSP_EVENT         SCU_EVENT_TYPE(0x03)
105f11c7f63SJim Harris #define SCU_EVENT_TYPE_FATAL_MEMORY_ERROR SCU_EVENT_TYPE(0x0F)
106f11c7f63SJim Harris #define SCU_EVENT_TYPE_RNC_SUSPEND_TX     SCU_EVENT_TYPE(0x04)
107f11c7f63SJim Harris #define SCU_EVENT_TYPE_RNC_SUSPEND_TX_RX  SCU_EVENT_TYPE(0x05)
108f11c7f63SJim Harris #define SCU_EVENT_TYPE_RNC_OPS_MISC       SCU_EVENT_TYPE(0x06)
109f11c7f63SJim Harris #define SCU_EVENT_TYPE_PTX_SCHEDULE_EVENT SCU_EVENT_TYPE(0x07)
110f11c7f63SJim Harris #define SCU_EVENT_TYPE_ERR_CNT_EVENT      SCU_EVENT_TYPE(0x0A)
111f11c7f63SJim Harris /*@}*/
112f11c7f63SJim Harris 
113f11c7f63SJim Harris /**
114f11c7f63SJim Harris  * @name SCU_EVENT_SPECIFIERS
115f11c7f63SJim Harris  */
116f11c7f63SJim Harris /*@{*/
117f11c7f63SJim Harris #define SCU_EVENT_SPECIFIER_DRIVER_SUSPEND 0x20
118f11c7f63SJim Harris #define SCU_EVENT_SPECIFIER_RNC_RELEASE    0x00
119f11c7f63SJim Harris /*@}*/
120f11c7f63SJim Harris 
121f11c7f63SJim Harris /**
122f11c7f63SJim Harris  * @name SMU_COMMAND_EVENTS
123f11c7f63SJim Harris  */
124f11c7f63SJim Harris /*@{*/
125f11c7f63SJim Harris #define SCU_EVENT_INVALID_CONTEXT_COMMAND \
126f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_COMMAND_ERROR, 0x00)
127f11c7f63SJim Harris /*@}*/
128f11c7f63SJim Harris 
129f11c7f63SJim Harris /**
130f11c7f63SJim Harris  * @name SMU_PCQ_EVENTS
131f11c7f63SJim Harris  */
132f11c7f63SJim Harris /*@{*/
133f11c7f63SJim Harris #define SCU_EVENT_UNCORRECTABLE_PCQ_ERROR \
134f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_PCQ_ERROR, 0x00)
135f11c7f63SJim Harris /*@}*/
136f11c7f63SJim Harris 
137f11c7f63SJim Harris /**
138f11c7f63SJim Harris  *  @name SMU_EVENTS
139f11c7f63SJim Harris  */
140f11c7f63SJim Harris /*@{*/
141f11c7f63SJim Harris #define SCU_EVENT_UNCORRECTABLE_REGISTER_WRITE \
142f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_ERROR, 0x02)
143f11c7f63SJim Harris #define SCU_EVENT_UNCORRECTABLE_REGISTER_READ \
144f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_ERROR, 0x03)
145f11c7f63SJim Harris #define SCU_EVENT_PCIE_INTERFACE_ERROR \
146f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_ERROR, 0x04)
147f11c7f63SJim Harris #define SCU_EVENT_FUNCTION_LEVEL_RESET \
148f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_ERROR, 0x05)
149f11c7f63SJim Harris /*@}*/
150f11c7f63SJim Harris 
151f11c7f63SJim Harris /**
152f11c7f63SJim Harris  * @name TRANSPORT_LEVEL_ERRORS
153f11c7f63SJim Harris  */
154f11c7f63SJim Harris /*@{*/
155f11c7f63SJim Harris #define SCU_EVENT_ACK_NAK_TIMEOUT_ERROR \
156f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_TRANSPORT_ERROR, 0x00)
157f11c7f63SJim Harris /*@}*/
158f11c7f63SJim Harris 
159f11c7f63SJim Harris /**
160f11c7f63SJim Harris  * @name BROADCAST_CHANGE_EVENTS
161f11c7f63SJim Harris  */
162f11c7f63SJim Harris /*@{*/
163f11c7f63SJim Harris #define SCU_EVENT_BROADCAST_CHANGE \
164f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x01)
165f11c7f63SJim Harris #define SCU_EVENT_BROADCAST_RESERVED0 \
166f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x02)
167f11c7f63SJim Harris #define SCU_EVENT_BROADCAST_RESERVED1 \
168f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x03)
169f11c7f63SJim Harris #define SCU_EVENT_BROADCAST_SES \
170f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x04)
171f11c7f63SJim Harris #define SCU_EVENT_BROADCAST_EXPANDER \
172f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x05)
173f11c7f63SJim Harris #define SCU_EVENT_BROADCAST_AEN \
174f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x06)
175f11c7f63SJim Harris #define SCU_EVENT_BROADCAST_RESERVED3 \
176f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x07)
177f11c7f63SJim Harris #define SCU_EVENT_BROADCAST_RESERVED4 \
178f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x08)
179f11c7f63SJim Harris #define SCU_EVENT_PE_SUSPENDED \
180f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x09)
181f11c7f63SJim Harris /*@}*/
182f11c7f63SJim Harris 
183f11c7f63SJim Harris /**
184f11c7f63SJim Harris  * @name OSSP_EVENTS
185f11c7f63SJim Harris  */
186f11c7f63SJim Harris /*@{*/
187f11c7f63SJim Harris #define SCU_EVENT_PORT_SELECTOR_DETECTED \
188f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x10)
189f11c7f63SJim Harris #define SCU_EVENT_SENT_PORT_SELECTION \
190f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x11)
191f11c7f63SJim Harris #define SCU_EVENT_HARD_RESET_TRANSMITTED \
192f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x12)
193f11c7f63SJim Harris #define SCU_EVENT_HARD_RESET_RECEIVED \
194f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x13)
195f11c7f63SJim Harris #define SCU_EVENT_RECEIVED_IDENTIFY_TIMEOUT \
196f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x15)
197f11c7f63SJim Harris #define SCU_EVENT_LINK_FAILURE \
198f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x16)
199f11c7f63SJim Harris #define SCU_EVENT_SATA_SPINUP_HOLD \
200f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x17)
201f11c7f63SJim Harris #define SCU_EVENT_SAS_15_SSC \
202f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x18)
203f11c7f63SJim Harris #define SCU_EVENT_SAS_15 \
204f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x19)
205f11c7f63SJim Harris #define SCU_EVENT_SAS_30_SSC \
206f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1A)
207f11c7f63SJim Harris #define SCU_EVENT_SAS_30 \
208f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1B)
209f11c7f63SJim Harris #define SCU_EVENT_SAS_60_SSC \
210f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1C)
211f11c7f63SJim Harris #define SCU_EVENT_SAS_60 \
212f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1D)
213f11c7f63SJim Harris #define SCU_EVENT_SATA_15_SSC \
214f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1E)
215f11c7f63SJim Harris #define SCU_EVENT_SATA_15 \
216f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1F)
217f11c7f63SJim Harris #define SCU_EVENT_SATA_30_SSC \
218f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x20)
219f11c7f63SJim Harris #define SCU_EVENT_SATA_30 \
220f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x21)
221f11c7f63SJim Harris #define SCU_EVENT_SATA_60_SSC \
222f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x22)
223f11c7f63SJim Harris #define SCU_EVENT_SATA_60 \
224f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x23)
225f11c7f63SJim Harris #define SCU_EVENT_SAS_PHY_DETECTED \
226f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x24)
227f11c7f63SJim Harris #define SCU_EVENT_SATA_PHY_DETECTED \
228f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x25)
229f11c7f63SJim Harris /*@}*/
230f11c7f63SJim Harris 
231f11c7f63SJim Harris /**
232f11c7f63SJim Harris  * @name FATAL_INTERNAL_MEMORY_ERROR_EVENTS
233f11c7f63SJim Harris  */
234f11c7f63SJim Harris /*@{*/
235f11c7f63SJim Harris #define SCU_EVENT_TSC_RNSC_UNCORRECTABLE_ERROR \
236f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_FATAL_MEMORY_ERROR,  0x00)
237f11c7f63SJim Harris #define SCU_EVENT_TC_RNC_UNCORRECTABLE_ERROR \
238f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_FATAL_MEMORY_ERROR,  0x01)
239f11c7f63SJim Harris #define SCU_EVENT_ZPT_UNCORRECTABLE_ERROR \
240f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_FATAL_MEMORY_ERROR,  0x02)
241f11c7f63SJim Harris /*@}*/
242f11c7f63SJim Harris 
243f11c7f63SJim Harris /**
244f11c7f63SJim Harris  * @name REMOTE_NODE_SUSPEND_EVENTS
245f11c7f63SJim Harris  */
246f11c7f63SJim Harris /*@{*/
247f11c7f63SJim Harris #define SCU_EVENT_TL_RNC_SUSPEND_TX \
248f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x00)
249f11c7f63SJim Harris #define SCU_EVENT_TL_RNC_SUSPEND_TX_RX \
250f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX_RX, 0x00)
251f11c7f63SJim Harris #define SCU_EVENT_TL_RNC_SUSPEND_TX_DONE_DATA_LEN_ERR \
252f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x1A)
253f11c7f63SJim Harris #define SCU_EVENT_TL_RNC_SUSPEND_TX_DONE_OFFSET_ERR \
254f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x20)
255f11c7f63SJim Harris #define SCU_EVENT_TL_RNC_SUSPEND_TX_DONE_DMASETUP_DIERR \
256f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x27)
257f11c7f63SJim Harris #define SCU_EVENT_TL_RNC_SUSPEND_TX_DONE_XFERCNT_ERR \
258f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x28)
259f11c7f63SJim Harris #define SCU_EVENT_TL_RNC_SUSPEND_TX_RX_DONE_PLD_LEN_ERR \
260f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX_RX, 0x21)
261f11c7f63SJim Harris #define SCU_EVENT_DRIVER_POST_RNC_SUSPEND_TX \
262f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x20)
263f11c7f63SJim Harris #define SCU_EVENT_DRIVER_POST_RNC_SUSPEND_TX_RX \
264f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX_RX, 0x20)
265f11c7f63SJim Harris /*@}*/
266f11c7f63SJim Harris 
267f11c7f63SJim Harris /**
268f11c7f63SJim Harris  * @name REMOTE_NODE_MISC_EVENTS
269f11c7f63SJim Harris  */
270f11c7f63SJim Harris /*@{*/
271f11c7f63SJim Harris #define SCU_EVENT_POST_RCN_RELEASE \
272f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC,SCU_EVENT_SPECIFIER_RNC_RELEASE)
273f11c7f63SJim Harris #define SCU_EVENT_POST_IT_NEXUS_LOSS_TIMER_ENABLE \
274f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC, 0x01)
275f11c7f63SJim Harris #define SCU_EVENT_POST_IT_NEXUS_LOSS_TIMER_DISABLE \
276f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC, 0x02)
277f11c7f63SJim Harris #define SCU_EVENT_POST_RNC_COMPLETE \
278f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC, 0x03)
279f11c7f63SJim Harris #define SCU_EVENT_POST_RNC_INVALIDATE_COMPLETE \
280f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC, 0x04)
281f11c7f63SJim Harris /*@}*/
282f11c7f63SJim Harris 
283f11c7f63SJim Harris /**
284f11c7f63SJim Harris  * @name ERROR_COUNT_EVENT
285f11c7f63SJim Harris  */
286f11c7f63SJim Harris /*@{*/
287f11c7f63SJim Harris #define SCU_ERR_CNT_RX_CREDIT_BLOCKED_RECEIVED_INDEX  0x00
288f11c7f63SJim Harris #define SCU_ERR_CNT_TX_DONE_CREDIT_TIMEOUT_INDEX      0x01
289f11c7f63SJim Harris #define SCU_ERR_CNT_RX_DONE_CREDIT_TIMEOUT_INDEX      0x02
290f11c7f63SJim Harris #define SCU_ERR_CNT_INACTIVITY_TIMER_EXPIRED_INDEX    0x03
291f11c7f63SJim Harris #define SCU_ERR_CNT_TX_DONE_ACK_NAK_TIMEOUT_INDEX     0x04
292f11c7f63SJim Harris #define SCU_ERR_CNT_RX_DONE_ACK_NAK_TIMEOUT_INDEX     0x05
293f11c7f63SJim Harris #define SCU_ERR_CNT_MAX_INDEX                         0x06
294f11c7f63SJim Harris 
295f11c7f63SJim Harris #define SCU_EVENT_ERR_CNT(name) \
296f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_ERR_CNT_EVENT, SCU_ERR_CNT_ ## name ## _INDEX)
297f11c7f63SJim Harris /*@}*/
298f11c7f63SJim Harris 
299f11c7f63SJim Harris /**
300f11c7f63SJim Harris  * This macro returns the SCU event type from the event code.
301f11c7f63SJim Harris  */
302f11c7f63SJim Harris #define scu_get_event_type(event_code) \
303f11c7f63SJim Harris    ((event_code) & SCU_EVENT_TYPE_CODE_MASK)
304f11c7f63SJim Harris 
305f11c7f63SJim Harris /**
306f11c7f63SJim Harris  * This macro returns the SCU event specifier from the event code.
307f11c7f63SJim Harris  */
308f11c7f63SJim Harris #define scu_get_event_specifier(event_code) \
309f11c7f63SJim Harris    ((event_code) & SCU_EVENT_SPECIFIC_CODE_MASK)
310f11c7f63SJim Harris 
311f11c7f63SJim Harris /**
312f11c7f63SJim Harris  * This macro returns the combined SCU event type and SCU event specifier from
313f11c7f63SJim Harris  * the event code.
314f11c7f63SJim Harris  */
315f11c7f63SJim Harris #define scu_get_event_code(event_code) \
316f11c7f63SJim Harris    ((event_code) & SCU_EVENT_CODE_MASK)
317f11c7f63SJim Harris 
318f11c7f63SJim Harris 
319f11c7f63SJim Harris /**
320f11c7f63SJim Harris  * @name PTS_SCHEDULE_EVENT
321f11c7f63SJim Harris  */
322f11c7f63SJim Harris /*@{*/
323f11c7f63SJim Harris #define SCU_EVENT_SMP_RESPONSE_NO_PE \
324f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_PTX_SCHEDULE_EVENT, 0x00)
325f11c7f63SJim Harris #define SCU_EVENT_SPECIFIC_SMP_RESPONSE_NO_PE \
326f11c7f63SJim Harris    scu_get_event_specifier(SCU_EVENT_SMP_RESPONSE_NO_PE)
327f11c7f63SJim Harris 
328f11c7f63SJim Harris #define SCU_EVENT_TASK_TIMEOUT \
329f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_PTX_SCHEDULE_EVENT, 0x01)
330f11c7f63SJim Harris #define SCU_EVENT_SPECIFIC_TASK_TIMEOUT \
331f11c7f63SJim Harris    scu_get_event_specifier(SCU_EVENT_TASK_TIMEOUT)
332f11c7f63SJim Harris 
333f11c7f63SJim Harris #define SCU_EVENT_IT_NEXUS_TIMEOUT \
334f11c7f63SJim Harris    SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_PTX_SCHEDULE_EVENT, 0x02)
335f11c7f63SJim Harris #define SCU_EVENT_SPECIFIC_IT_NEXUS_TIMEOUT \
336f11c7f63SJim Harris    scu_get_event_specifier(SCU_EVENT_IT_NEXUS_TIMEOUT)
337f11c7f63SJim Harris /*@}*/
338f11c7f63SJim Harris 
339f11c7f63SJim Harris #ifdef __cplusplus
340f11c7f63SJim Harris }
341f11c7f63SJim Harris #endif // __cplusplus
342f11c7f63SJim Harris 
343f11c7f63SJim Harris #endif // __SCU_EVENT_CODES_HEADER__
344