1230557Sjimharris/*- 2230557Sjimharris * This file is provided under a dual BSD/GPLv2 license. When using or 3230557Sjimharris * redistributing this file, you may do so under either license. 4230557Sjimharris * 5230557Sjimharris * GPL LICENSE SUMMARY 6230557Sjimharris * 7230557Sjimharris * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 8230557Sjimharris * 9230557Sjimharris * This program is free software; you can redistribute it and/or modify 10230557Sjimharris * it under the terms of version 2 of the GNU General Public License as 11230557Sjimharris * published by the Free Software Foundation. 12230557Sjimharris * 13230557Sjimharris * This program is distributed in the hope that it will be useful, but 14230557Sjimharris * WITHOUT ANY WARRANTY; without even the implied warranty of 15230557Sjimharris * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16230557Sjimharris * General Public License for more details. 17230557Sjimharris * 18230557Sjimharris * You should have received a copy of the GNU General Public License 19230557Sjimharris * along with this program; if not, write to the Free Software 20230557Sjimharris * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 21230557Sjimharris * The full GNU General Public License is included in this distribution 22230557Sjimharris * in the file called LICENSE.GPL. 23230557Sjimharris * 24230557Sjimharris * BSD LICENSE 25230557Sjimharris * 26230557Sjimharris * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 27230557Sjimharris * All rights reserved. 28230557Sjimharris * 29230557Sjimharris * Redistribution and use in source and binary forms, with or without 30230557Sjimharris * modification, are permitted provided that the following conditions 31230557Sjimharris * are met: 32230557Sjimharris * 33230557Sjimharris * * Redistributions of source code must retain the above copyright 34230557Sjimharris * notice, this list of conditions and the following disclaimer. 35230557Sjimharris * * Redistributions in binary form must reproduce the above copyright 36230557Sjimharris * notice, this list of conditions and the following disclaimer in 37230557Sjimharris * the documentation and/or other materials provided with the 38230557Sjimharris * distribution. 39230557Sjimharris * 40230557Sjimharris * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 41230557Sjimharris * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 42230557Sjimharris * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 43230557Sjimharris * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 44230557Sjimharris * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 45230557Sjimharris * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 46230557Sjimharris * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 47230557Sjimharris * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 48230557Sjimharris * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 49230557Sjimharris * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 50230557Sjimharris * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 51230557Sjimharris * 52230557Sjimharris * $FreeBSD$ 53230557Sjimharris */ 54230557Sjimharris#ifndef __SCU_EVENT_CODES_HEADER__ 55230557Sjimharris#define __SCU_EVENT_CODES_HEADER__ 56230557Sjimharris 57230557Sjimharris/** 58230557Sjimharris * @file 59230557Sjimharris * 60230557Sjimharris * @brief This file contains the constants and macros for the SCU event codes. 61230557Sjimharris */ 62230557Sjimharris 63230557Sjimharris#ifdef __cplusplus 64230557Sjimharrisextern "C" { 65230557Sjimharris#endif // __cplusplus 66230557Sjimharris 67230557Sjimharris#define SCU_EVENT_TYPE_CODE_SHIFT 24 68230557Sjimharris#define SCU_EVENT_TYPE_CODE_MASK 0x0F000000 69230557Sjimharris 70230557Sjimharris#define SCU_EVENT_SPECIFIC_CODE_SHIFT 18 71230557Sjimharris#define SCU_EVENT_SPECIFIC_CODE_MASK 0x00FC0000 72230557Sjimharris 73230557Sjimharris#define SCU_EVENT_CODE_MASK \ 74230557Sjimharris (SCU_EVENT_TYPE_CODE_MASK | SCU_EVENT_SPECIFIC_CODE_MASK) 75230557Sjimharris 76230557Sjimharris/** 77230557Sjimharris * This macro constructs an SCU event type from the type value. 78230557Sjimharris */ 79230557Sjimharris#define SCU_EVENT_TYPE(type) \ 80230557Sjimharris ((U32)(type) << SCU_EVENT_TYPE_CODE_SHIFT) 81230557Sjimharris 82230557Sjimharris/** 83230557Sjimharris * This macro constructs an SCU event specifier from the code value. 84230557Sjimharris */ 85230557Sjimharris#define SCU_EVENT_SPECIFIC(code) \ 86230557Sjimharris ((U32)(code) << SCU_EVENT_SPECIFIC_CODE_SHIFT) 87230557Sjimharris 88230557Sjimharris/** 89230557Sjimharris * This macro constructs a combines an SCU event type and SCU event specifier 90230557Sjimharris * from the type and code values. 91230557Sjimharris */ 92230557Sjimharris#define SCU_EVENT_MESSAGE(type, code) \ 93230557Sjimharris ((type) | SCU_EVENT_SPECIFIC(code)) 94230557Sjimharris 95230557Sjimharris/** 96230557Sjimharris * @name SCU_EVENT_TYPES 97230557Sjimharris */ 98230557Sjimharris/*@{*/ 99230557Sjimharris#define SCU_EVENT_TYPE_SMU_COMMAND_ERROR SCU_EVENT_TYPE(0x08) 100230557Sjimharris#define SCU_EVENT_TYPE_SMU_PCQ_ERROR SCU_EVENT_TYPE(0x09) 101230557Sjimharris#define SCU_EVENT_TYPE_SMU_ERROR SCU_EVENT_TYPE(0x00) 102230557Sjimharris#define SCU_EVENT_TYPE_TRANSPORT_ERROR SCU_EVENT_TYPE(0x01) 103230557Sjimharris#define SCU_EVENT_TYPE_BROADCAST_CHANGE SCU_EVENT_TYPE(0x02) 104230557Sjimharris#define SCU_EVENT_TYPE_OSSP_EVENT SCU_EVENT_TYPE(0x03) 105230557Sjimharris#define SCU_EVENT_TYPE_FATAL_MEMORY_ERROR SCU_EVENT_TYPE(0x0F) 106230557Sjimharris#define SCU_EVENT_TYPE_RNC_SUSPEND_TX SCU_EVENT_TYPE(0x04) 107230557Sjimharris#define SCU_EVENT_TYPE_RNC_SUSPEND_TX_RX SCU_EVENT_TYPE(0x05) 108230557Sjimharris#define SCU_EVENT_TYPE_RNC_OPS_MISC SCU_EVENT_TYPE(0x06) 109230557Sjimharris#define SCU_EVENT_TYPE_PTX_SCHEDULE_EVENT SCU_EVENT_TYPE(0x07) 110230557Sjimharris#define SCU_EVENT_TYPE_ERR_CNT_EVENT SCU_EVENT_TYPE(0x0A) 111230557Sjimharris/*@}*/ 112230557Sjimharris 113230557Sjimharris/** 114230557Sjimharris * @name SCU_EVENT_SPECIFIERS 115230557Sjimharris */ 116230557Sjimharris/*@{*/ 117230557Sjimharris#define SCU_EVENT_SPECIFIER_DRIVER_SUSPEND 0x20 118230557Sjimharris#define SCU_EVENT_SPECIFIER_RNC_RELEASE 0x00 119230557Sjimharris/*@}*/ 120230557Sjimharris 121230557Sjimharris/** 122230557Sjimharris * @name SMU_COMMAND_EVENTS 123230557Sjimharris */ 124230557Sjimharris/*@{*/ 125230557Sjimharris#define SCU_EVENT_INVALID_CONTEXT_COMMAND \ 126230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_COMMAND_ERROR, 0x00) 127230557Sjimharris/*@}*/ 128230557Sjimharris 129230557Sjimharris/** 130230557Sjimharris * @name SMU_PCQ_EVENTS 131230557Sjimharris */ 132230557Sjimharris/*@{*/ 133230557Sjimharris#define SCU_EVENT_UNCORRECTABLE_PCQ_ERROR \ 134230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_PCQ_ERROR, 0x00) 135230557Sjimharris/*@}*/ 136230557Sjimharris 137230557Sjimharris/** 138230557Sjimharris * @name SMU_EVENTS 139230557Sjimharris */ 140230557Sjimharris/*@{*/ 141230557Sjimharris#define SCU_EVENT_UNCORRECTABLE_REGISTER_WRITE \ 142230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_ERROR, 0x02) 143230557Sjimharris#define SCU_EVENT_UNCORRECTABLE_REGISTER_READ \ 144230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_ERROR, 0x03) 145230557Sjimharris#define SCU_EVENT_PCIE_INTERFACE_ERROR \ 146230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_ERROR, 0x04) 147230557Sjimharris#define SCU_EVENT_FUNCTION_LEVEL_RESET \ 148230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_SMU_ERROR, 0x05) 149230557Sjimharris/*@}*/ 150230557Sjimharris 151230557Sjimharris/** 152230557Sjimharris * @name TRANSPORT_LEVEL_ERRORS 153230557Sjimharris */ 154230557Sjimharris/*@{*/ 155230557Sjimharris#define SCU_EVENT_ACK_NAK_TIMEOUT_ERROR \ 156230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_TRANSPORT_ERROR, 0x00) 157230557Sjimharris/*@}*/ 158230557Sjimharris 159230557Sjimharris/** 160230557Sjimharris * @name BROADCAST_CHANGE_EVENTS 161230557Sjimharris */ 162230557Sjimharris/*@{*/ 163230557Sjimharris#define SCU_EVENT_BROADCAST_CHANGE \ 164230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x01) 165230557Sjimharris#define SCU_EVENT_BROADCAST_RESERVED0 \ 166230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x02) 167230557Sjimharris#define SCU_EVENT_BROADCAST_RESERVED1 \ 168230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x03) 169230557Sjimharris#define SCU_EVENT_BROADCAST_SES \ 170230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x04) 171230557Sjimharris#define SCU_EVENT_BROADCAST_EXPANDER \ 172230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x05) 173230557Sjimharris#define SCU_EVENT_BROADCAST_AEN \ 174230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x06) 175230557Sjimharris#define SCU_EVENT_BROADCAST_RESERVED3 \ 176230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x07) 177230557Sjimharris#define SCU_EVENT_BROADCAST_RESERVED4 \ 178230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x08) 179230557Sjimharris#define SCU_EVENT_PE_SUSPENDED \ 180230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_BROADCAST_CHANGE, 0x09) 181230557Sjimharris/*@}*/ 182230557Sjimharris 183230557Sjimharris/** 184230557Sjimharris * @name OSSP_EVENTS 185230557Sjimharris */ 186230557Sjimharris/*@{*/ 187230557Sjimharris#define SCU_EVENT_PORT_SELECTOR_DETECTED \ 188230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x10) 189230557Sjimharris#define SCU_EVENT_SENT_PORT_SELECTION \ 190230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x11) 191230557Sjimharris#define SCU_EVENT_HARD_RESET_TRANSMITTED \ 192230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x12) 193230557Sjimharris#define SCU_EVENT_HARD_RESET_RECEIVED \ 194230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x13) 195230557Sjimharris#define SCU_EVENT_RECEIVED_IDENTIFY_TIMEOUT \ 196230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x15) 197230557Sjimharris#define SCU_EVENT_LINK_FAILURE \ 198230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x16) 199230557Sjimharris#define SCU_EVENT_SATA_SPINUP_HOLD \ 200230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x17) 201230557Sjimharris#define SCU_EVENT_SAS_15_SSC \ 202230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x18) 203230557Sjimharris#define SCU_EVENT_SAS_15 \ 204230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x19) 205230557Sjimharris#define SCU_EVENT_SAS_30_SSC \ 206230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1A) 207230557Sjimharris#define SCU_EVENT_SAS_30 \ 208230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1B) 209230557Sjimharris#define SCU_EVENT_SAS_60_SSC \ 210230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1C) 211230557Sjimharris#define SCU_EVENT_SAS_60 \ 212230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1D) 213230557Sjimharris#define SCU_EVENT_SATA_15_SSC \ 214230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1E) 215230557Sjimharris#define SCU_EVENT_SATA_15 \ 216230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x1F) 217230557Sjimharris#define SCU_EVENT_SATA_30_SSC \ 218230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x20) 219230557Sjimharris#define SCU_EVENT_SATA_30 \ 220230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x21) 221230557Sjimharris#define SCU_EVENT_SATA_60_SSC \ 222230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x22) 223230557Sjimharris#define SCU_EVENT_SATA_60 \ 224230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x23) 225230557Sjimharris#define SCU_EVENT_SAS_PHY_DETECTED \ 226230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x24) 227230557Sjimharris#define SCU_EVENT_SATA_PHY_DETECTED \ 228230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_OSSP_EVENT, 0x25) 229230557Sjimharris/*@}*/ 230230557Sjimharris 231230557Sjimharris/** 232230557Sjimharris * @name FATAL_INTERNAL_MEMORY_ERROR_EVENTS 233230557Sjimharris */ 234230557Sjimharris/*@{*/ 235230557Sjimharris#define SCU_EVENT_TSC_RNSC_UNCORRECTABLE_ERROR \ 236230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_FATAL_MEMORY_ERROR, 0x00) 237230557Sjimharris#define SCU_EVENT_TC_RNC_UNCORRECTABLE_ERROR \ 238230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_FATAL_MEMORY_ERROR, 0x01) 239230557Sjimharris#define SCU_EVENT_ZPT_UNCORRECTABLE_ERROR \ 240230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_FATAL_MEMORY_ERROR, 0x02) 241230557Sjimharris/*@}*/ 242230557Sjimharris 243230557Sjimharris/** 244230557Sjimharris * @name REMOTE_NODE_SUSPEND_EVENTS 245230557Sjimharris */ 246230557Sjimharris/*@{*/ 247230557Sjimharris#define SCU_EVENT_TL_RNC_SUSPEND_TX \ 248230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x00) 249230557Sjimharris#define SCU_EVENT_TL_RNC_SUSPEND_TX_RX \ 250230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX_RX, 0x00) 251230557Sjimharris#define SCU_EVENT_TL_RNC_SUSPEND_TX_DONE_DATA_LEN_ERR \ 252230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x1A) 253230557Sjimharris#define SCU_EVENT_TL_RNC_SUSPEND_TX_DONE_OFFSET_ERR \ 254230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x20) 255230557Sjimharris#define SCU_EVENT_TL_RNC_SUSPEND_TX_DONE_DMASETUP_DIERR \ 256230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x27) 257230557Sjimharris#define SCU_EVENT_TL_RNC_SUSPEND_TX_DONE_XFERCNT_ERR \ 258230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x28) 259230557Sjimharris#define SCU_EVENT_TL_RNC_SUSPEND_TX_RX_DONE_PLD_LEN_ERR \ 260230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX_RX, 0x21) 261230557Sjimharris#define SCU_EVENT_DRIVER_POST_RNC_SUSPEND_TX \ 262230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX, 0x20) 263230557Sjimharris#define SCU_EVENT_DRIVER_POST_RNC_SUSPEND_TX_RX \ 264230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_SUSPEND_TX_RX, 0x20) 265230557Sjimharris/*@}*/ 266230557Sjimharris 267230557Sjimharris/** 268230557Sjimharris * @name REMOTE_NODE_MISC_EVENTS 269230557Sjimharris */ 270230557Sjimharris/*@{*/ 271230557Sjimharris#define SCU_EVENT_POST_RCN_RELEASE \ 272230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC,SCU_EVENT_SPECIFIER_RNC_RELEASE) 273230557Sjimharris#define SCU_EVENT_POST_IT_NEXUS_LOSS_TIMER_ENABLE \ 274230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC, 0x01) 275230557Sjimharris#define SCU_EVENT_POST_IT_NEXUS_LOSS_TIMER_DISABLE \ 276230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC, 0x02) 277230557Sjimharris#define SCU_EVENT_POST_RNC_COMPLETE \ 278230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC, 0x03) 279230557Sjimharris#define SCU_EVENT_POST_RNC_INVALIDATE_COMPLETE \ 280230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_RNC_OPS_MISC, 0x04) 281230557Sjimharris/*@}*/ 282230557Sjimharris 283230557Sjimharris/** 284230557Sjimharris * @name ERROR_COUNT_EVENT 285230557Sjimharris */ 286230557Sjimharris/*@{*/ 287230557Sjimharris#define SCU_ERR_CNT_RX_CREDIT_BLOCKED_RECEIVED_INDEX 0x00 288230557Sjimharris#define SCU_ERR_CNT_TX_DONE_CREDIT_TIMEOUT_INDEX 0x01 289230557Sjimharris#define SCU_ERR_CNT_RX_DONE_CREDIT_TIMEOUT_INDEX 0x02 290230557Sjimharris#define SCU_ERR_CNT_INACTIVITY_TIMER_EXPIRED_INDEX 0x03 291230557Sjimharris#define SCU_ERR_CNT_TX_DONE_ACK_NAK_TIMEOUT_INDEX 0x04 292230557Sjimharris#define SCU_ERR_CNT_RX_DONE_ACK_NAK_TIMEOUT_INDEX 0x05 293230557Sjimharris#define SCU_ERR_CNT_MAX_INDEX 0x06 294230557Sjimharris 295230557Sjimharris#define SCU_EVENT_ERR_CNT(name) \ 296230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_ERR_CNT_EVENT, SCU_ERR_CNT_ ## name ## _INDEX) 297230557Sjimharris/*@}*/ 298230557Sjimharris 299230557Sjimharris/** 300230557Sjimharris * This macro returns the SCU event type from the event code. 301230557Sjimharris */ 302230557Sjimharris#define scu_get_event_type(event_code) \ 303230557Sjimharris ((event_code) & SCU_EVENT_TYPE_CODE_MASK) 304230557Sjimharris 305230557Sjimharris/** 306230557Sjimharris * This macro returns the SCU event specifier from the event code. 307230557Sjimharris */ 308230557Sjimharris#define scu_get_event_specifier(event_code) \ 309230557Sjimharris ((event_code) & SCU_EVENT_SPECIFIC_CODE_MASK) 310230557Sjimharris 311230557Sjimharris/** 312230557Sjimharris * This macro returns the combined SCU event type and SCU event specifier from 313230557Sjimharris * the event code. 314230557Sjimharris */ 315230557Sjimharris#define scu_get_event_code(event_code) \ 316230557Sjimharris ((event_code) & SCU_EVENT_CODE_MASK) 317230557Sjimharris 318230557Sjimharris 319230557Sjimharris/** 320230557Sjimharris * @name PTS_SCHEDULE_EVENT 321230557Sjimharris */ 322230557Sjimharris/*@{*/ 323230557Sjimharris#define SCU_EVENT_SMP_RESPONSE_NO_PE \ 324230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_PTX_SCHEDULE_EVENT, 0x00) 325230557Sjimharris#define SCU_EVENT_SPECIFIC_SMP_RESPONSE_NO_PE \ 326230557Sjimharris scu_get_event_specifier(SCU_EVENT_SMP_RESPONSE_NO_PE) 327230557Sjimharris 328230557Sjimharris#define SCU_EVENT_TASK_TIMEOUT \ 329230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_PTX_SCHEDULE_EVENT, 0x01) 330230557Sjimharris#define SCU_EVENT_SPECIFIC_TASK_TIMEOUT \ 331230557Sjimharris scu_get_event_specifier(SCU_EVENT_TASK_TIMEOUT) 332230557Sjimharris 333230557Sjimharris#define SCU_EVENT_IT_NEXUS_TIMEOUT \ 334230557Sjimharris SCU_EVENT_MESSAGE(SCU_EVENT_TYPE_PTX_SCHEDULE_EVENT, 0x02) 335230557Sjimharris#define SCU_EVENT_SPECIFIC_IT_NEXUS_TIMEOUT \ 336230557Sjimharris scu_get_event_specifier(SCU_EVENT_IT_NEXUS_TIMEOUT) 337230557Sjimharris/*@}*/ 338230557Sjimharris 339230557Sjimharris#ifdef __cplusplus 340230557Sjimharris} 341230557Sjimharris#endif // __cplusplus 342230557Sjimharris 343230557Sjimharris#endif // __SCU_EVENT_CODES_HEADER__ 344