/* * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. * * 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. */ #ifndef _PHYTX_ABORT_REQUEST_INFO_H_ #define _PHYTX_ABORT_REQUEST_INFO_H_ #if !defined(__ASSEMBLER__) #endif #define NUM_OF_WORDS_PHYTX_ABORT_REQUEST_INFO 1 struct phytx_abort_request_info { #ifndef WIFI_BIT_ORDER_BIG_ENDIAN uint16_t phytx_abort_reason : 8, // [7:0] user_number : 6, // [13:8] reserved : 2; // [15:14] #else uint16_t reserved : 2, // [15:14] user_number : 6, // [13:8] phytx_abort_reason : 8; // [7:0] #endif }; /* Description PHYTX_ABORT_REASON Reason for early termination of TX packet by the PHY This value is the default value the MAC will fill in the status TLV (when not PHY abort was received). Note that when PHY generates the PHYTX_ABORT_REQUEST, this value shall never be used. PHY ran out of transmit data due to transmit underrun - this field is user-specific (see user_number field) This used to be called 'error_illegal_nss.' This error indicates that CV prefetch command indicated a CV index that is not available. This error indicates that CV delete command indicated a CV index that did not contain any valid info Error found with the HE transmission parameters All FIFO read hang errors use this value. All FIFO no read errors use this value. This is the merged Rx/Tx CDC FIFO empty/full error code All 'error_txtd_chn' codes use this value as well. This code is used to abort the Tx when MAC Rx issues an abort request with code 05 "macrx_abort_too_much_bad_data." */ #define PHYTX_ABORT_REQUEST_INFO_PHYTX_ABORT_REASON_OFFSET 0x00000000 #define PHYTX_ABORT_REQUEST_INFO_PHYTX_ABORT_REASON_LSB 0 #define PHYTX_ABORT_REQUEST_INFO_PHYTX_ABORT_REASON_MSB 7 #define PHYTX_ABORT_REQUEST_INFO_PHYTX_ABORT_REASON_MASK 0x000000ff /* Description USER_NUMBER For some errors, the user for which this error was detected can be indicated in this field. */ #define PHYTX_ABORT_REQUEST_INFO_USER_NUMBER_OFFSET 0x00000000 #define PHYTX_ABORT_REQUEST_INFO_USER_NUMBER_LSB 8 #define PHYTX_ABORT_REQUEST_INFO_USER_NUMBER_MSB 13 #define PHYTX_ABORT_REQUEST_INFO_USER_NUMBER_MASK 0x00003f00 /* Description RESERVED */ #define PHYTX_ABORT_REQUEST_INFO_RESERVED_OFFSET 0x00000000 #define PHYTX_ABORT_REQUEST_INFO_RESERVED_LSB 14 #define PHYTX_ABORT_REQUEST_INFO_RESERVED_MSB 15 #define PHYTX_ABORT_REQUEST_INFO_RESERVED_MASK 0x0000c000 #endif // PHYTX_ABORT_REQUEST_INFO