blob: 6854cbafd9b93d54c20766eef078f867df589505 [file] [log] [blame]
/*
* Copyright (c) 2012-2013 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/*
* This file was originally distributed by Qualcomm Atheros, Inc.
* under proprietary terms before Copyright ownership was assigned
* to the Linux Foundation.
*/
/*
* This file sirTypes.h contains the common types
*
* Author: V. K. Kandarpa
* Date: 04/12/2002
* History:-
* Date Modified by Modification Information
* --------------------------------------------------------------------
*/
#ifndef __SIR_TYPES_H
#define __SIR_TYPES_H
#include "halTypes.h"
/* ********************************************** *
* *
* SIRIUS ERROR Codes / Return Codes *
* *
* ********************************************** */
/// Return status type
typedef enum eSirRetStatus
{
eSIR_SUCCESS,
eSIR_FAILURE,
/// System Errors
eSIR_SYS_ERROR_BASE=0x100,
eSIR_SYS_TX_THREAD_CREATE_FAILED,
eSIR_SYS_TX_THREAD_RESUME_FAILED,
eSIR_SYS_TX_MSG_Q_CREATE_FAILED,
eSIR_SYS_TX_Q_SEND_FAILED,
eSIR_SYS_TX_Q_RECV_FAILED,
eSIR_SYS_TX_TIMER_ACTIVATE_FAILED,
eSIR_SYS_TX_TIMER_CHANGE_FAILED,
eSIR_SYS_TX_TIMER_CREATE_FAILED,
eSIR_MEM_ALLOC_FAILED,
eSIR_PCI_ERROR,
// Driver Return Codes
eSIR_HAL_ERROR_BASE=0x1000,
eSIR_HAL_STAID_INVALID, // 1
eSIR_HAL_TCDESC_INVALID, // 2
eSIR_HAL_TX_WQ_NOT_VALID, // 3
eSIR_HAL_PREV_BMU_CMD_INCOMPLETE, // 4
eSIR_HAL_EEPROM_CRC_FAILED, // 5
eSIR_HAL_PCI_REVID_INVALID, // 6
eSIR_HAL_STA_TC_ID_INVALID, // 7
eSIR_HAL_TXWQ_EMPTY, // 8
eSIR_HAL_ROUT_TBL_TYPE_STYPE_INVALID, // 9
eSIR_HAL_TFP_ENABLE_FAILED, // a
eSIR_HAL_TFP_ABORT_CMD_FAILED, // b
eSIR_HAL_TFP_TEMPL_BCNLEN_INVALID, // c
eSIR_HAL_TFP_TEMPL_SCHLEN_INVALID, // d
eSIR_HAL_TFP_TEMPL_CFENDLEN_INVALID, // e
eSIR_HAL_TFP_TEMPL_RRLEN_INVALID, // f
eSIR_HAL_TFP_TEMPL_PSPOLLLEN_INVALID, // 10
eSIR_HAL_TFP_TEMPL_CTSLEN_INVALID, // 11
eSIR_HAL_TFP_TEMPL_CFPOLLLEN_INVALID, // 12
eSIR_HAL_TFP_TEMPL_BACKLEN_INVALID, // 13
eSIR_HAL_INPUT_INVALID, // 14
eSIR_HAL_GET_PDU_FAILED, // 15
eSIR_HAL_ADD_STA_ACK_POLICY_INVALID, // 16
eSIR_HAL_STA_EXISTS, // 17
eSIR_HAL_STA_DOES_NOT_EXIST, // 18
eSIR_HAL_MASTER_WQ_ID_INVALID, // 19
eSIR_HAL_WQ_NOT_EMPTY, // 1a
eSIR_HAL_WQ_EMPTY, // 1b
eSIR_HAL_PDUCNT_AND_NEXTPTR_MISMATCH, // 1c
eSIR_HAL_ERR_NUM_BYTES_TO_BE_SET_TOO_BIG, // 1d
eSIR_HAL_GET_PKT_LENGTH_INVALID, // 1e
eSIR_HAL_AS_CNT_INVALID, // 1f
eSIR_HAL_RFP_AGE_CMD_SEQFAIL, // 20
eSIR_HAL_RFP_AGE_CMD_AGE_CMD_TCFAIL, // 21
eSIR_HAL_RFP_AGE_CMD_PASS, // 22
eSIR_HAL_RFP_AGE_CMD_TIMEDOUT, // 23
eSIR_HAL_RHP_HASH_CMD_TIMEOUT, // 24
eSIR_HAL_RHP_ROUTING_TBL_SET_FAILED, // 25
eSIR_HAL_RHP_ROUTING_TBL_GET_FAILED, // 26
eSIR_HAL_CAL_STATUS_CHK_FAILED,
eSIR_HAL_SYS_ARM_DBG_MODE_SET_FAILED,
eSIR_HAL_TFP_BCN_SENT,
eSIR_HAL_TFP_BCN_NOT_SENT,
eSIR_HAL_TFP_BKOF_ID_INVALID,
eSIR_HAL_TFP_CFB_ENABLE_INPUT_INVALID,
eSIR_HAL_TFP_EDCF_TXOP_INVALID,
eSIR_HAL_TFP_TEMPL_LEN_INVALID,
eSIR_HAL_KEY_ID_INVALID,
eSIR_HAL_KEY_LEN_INVALID,
eSIR_HAL_CHID_INVALID,
eSIR_HAL_HIF_BURST_READ_FAILED,
eSIR_HAL_HIF_BURST_WRITE_FAILED,
eSIR_HAL_HIF_BURST_LEN_REQ_INVALID,
eSIR_HAL_HIF_TX_NO_FRAG_DESC,
eSIR_HAL_INVALID_PRODUCT_ID, // 44
eSIR_HAL_INVALID_CAPABILITY, // 48
eSIR_HAL_CB_NOT_ENABLED, // 49
eSIR_HAL_MAC_RATE_INVALID, // 4a
eSIR_HAL_RHP_HANG, // 4b
eSIR_HAL_UNSUPPORTED, // 4c
eSIR_HAL_TSPEC_INVALID, // 4d
// NIM Return Codes
eSIR_NIM_ERROR_BASE=0x2000,
eSIR_NIM_ERR_INVALID_EVENT,
// MMH Return Codes
eSIR_NIM_MMH_ERROR_BASE=0x2100,
eSIR_NIM_MMH_ERR_INV_EVENT,
eSIR_NIM_MMH_ERR_MSG_LEN,
eSIR_NIM_MMH_ERR_IN_Q_TYPE,
// MNT Return Codes
eSIR_NIM_MNT_ERROR_BASE=0x2140,
// WDT Errors
eSIR_NIM_WDT_ERROR_BASE=0x2180,
// LIM Return Codes
eSIR_LIM_ERROR_BASE=0x2200,
eSIR_LIM_IGNORE_BEACON,
eSIR_LIM_INVALID_STA,
eSIR_LIM_MAX_STA_REACHED_ERROR,
// SCH Return Codes
eSIR_SCH_ERROR_BASE=0x2300,
// PMM Return Codes
eSIR_PMM_ERROR_BASE=0x2400,
eSIR_PMM_INVALID_MODE,
eSIR_PMM_INVALID_STATE,
eSIR_PMM_INVALID_ROLE,
eSIR_PMM_STA_NOT_ASSOCIATED,
eSIR_PMM_HEART_BEAT_TMOUT,
eSIR_PMM_NTH_BEACON_DELIVERY,
eSIR_PMM_INVALID_REQ,
// ARQ Return Codes
eSIR_ARQ_ERROR_BASE=0x2500,
// CFG Return Codes
eSIR_CFG_ERROR_BASE=2600,
eSIR_CFG_INVALID_ID,
eSIR_CFG_INVALID_LEN,
// parser Return Codes
eSIR_PRS_ERROR_BASE=0x2700,
eSIR_IGNORE_IE,
// Put all your return codes above this line
eSIR_ERROR_LAST
} tSirRetStatus;
typedef enum
{
FW_UBSP_STATS = 1,
FW_STATS_MAX,
}tSirFwStatsType;
typedef struct
{
v_U32_t ubsp_enter_cnt;
v_U32_t ubsp_jump_ddr_cnt;
}tSirUbspFwStats;
typedef struct
{
tSirFwStatsType type;
/*data*/
union{
tSirUbspFwStats ubspStats;
}fwStatsData;
}tSirFwStatsResult;
# endif // __SIR_TYPES_H