
New hardware header files for Napier E6. CRs-Fixed: 2033542 Change-Id: I996dbff402c2ba27c2e34ba89cdbb60101ae7d2d
283 lines
7.1 KiB
C
Executable File
283 lines
7.1 KiB
C
Executable File
/*
|
|
* Copyright (c) 2016-2017 The Linux Foundation. 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.
|
|
*/
|
|
|
|
//
|
|
// DO NOT EDIT! This file is automatically generated
|
|
// These definitions are tied to a particular hardware layout
|
|
|
|
|
|
#ifndef _BUFFER_ADDR_INFO_H_
|
|
#define _BUFFER_ADDR_INFO_H_
|
|
#if !defined(__ASSEMBLER__)
|
|
#endif
|
|
|
|
|
|
// ################ START SUMMARY #################
|
|
//
|
|
// Dword Fields
|
|
// 0 buffer_addr_31_0[31:0]
|
|
// 1 buffer_addr_39_32[7:0], return_buffer_manager[10:8], sw_buffer_cookie[31:11]
|
|
//
|
|
// ################ END SUMMARY #################
|
|
|
|
#define NUM_OF_DWORDS_BUFFER_ADDR_INFO 2
|
|
|
|
struct buffer_addr_info {
|
|
uint32_t buffer_addr_31_0 : 32; //[31:0]
|
|
uint32_t buffer_addr_39_32 : 8, //[7:0]
|
|
return_buffer_manager : 3, //[10:8]
|
|
sw_buffer_cookie : 21; //[31:11]
|
|
};
|
|
|
|
/*
|
|
|
|
buffer_addr_31_0
|
|
|
|
Address (lower 32 bits) of the MSDU buffer OR
|
|
MSDU_EXTENSION descriptor OR Link Descriptor
|
|
|
|
|
|
|
|
In case of 'NULL' pointer, this field is set to 0
|
|
|
|
<legal all>
|
|
|
|
buffer_addr_39_32
|
|
|
|
Address (upper 8 bits) of the MSDU buffer OR
|
|
MSDU_EXTENSION descriptor OR Link Descriptor
|
|
|
|
|
|
|
|
In case of 'NULL' pointer, this field is set to 0
|
|
|
|
<legal all>
|
|
|
|
return_buffer_manager
|
|
|
|
Consumer: WBM
|
|
|
|
Producer: SW/FW
|
|
|
|
|
|
|
|
In case of 'NULL' pointer, this field is set to 0
|
|
|
|
|
|
|
|
Indicates to which buffer manager the buffer OR
|
|
MSDU_EXTENSION descriptor OR link descriptor that is being
|
|
pointed to shall be returned after the frame has been
|
|
processed. It is used by WBM for routing purposes.
|
|
|
|
|
|
|
|
<enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
|
|
to the WMB buffer idle list
|
|
|
|
<enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
|
|
returned to the WMB idle link descriptor idle list
|
|
|
|
<enum 2 FW_BM> This buffer shall be returned to the FW
|
|
|
|
<enum 3 SW0_BM> This buffer shall be returned to the SW,
|
|
ring 0
|
|
|
|
<enum 4 SW1_BM> This buffer shall be returned to the SW,
|
|
ring 1
|
|
|
|
<enum 5 SW2_BM> This buffer shall be returned to the SW,
|
|
ring 2
|
|
|
|
<enum 6 SW3_BM> This buffer shall be returned to the SW,
|
|
ring 3
|
|
|
|
|
|
|
|
<legal 0-6>
|
|
|
|
sw_buffer_cookie
|
|
|
|
Cookie field exclusively used by SW.
|
|
|
|
|
|
|
|
In case of 'NULL' pointer, this field is set to 0
|
|
|
|
|
|
|
|
HW ignores the contents, accept that it passes the
|
|
programmed value on to other descriptors together with the
|
|
physical address
|
|
|
|
|
|
|
|
Field can be used by SW to for example associate the
|
|
buffers physical address with the virtual address
|
|
|
|
The bit definitions as used by SW are within SW HLD
|
|
specification
|
|
|
|
|
|
|
|
NOTE:
|
|
|
|
The two most significant bits can have a special meaning
|
|
in case this struct is embedded in a TX_MPDU_DETAILS STRUCT,
|
|
and field transmit_bw_restriction is set
|
|
|
|
Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
|
|
|
|
Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
|
|
|
|
Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
|
|
|
|
Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
|
|
|
|
|
|
|
|
<legal all>
|
|
*/
|
|
|
|
|
|
/* Description BUFFER_ADDR_INFO_0_BUFFER_ADDR_31_0
|
|
|
|
Address (lower 32 bits) of the MSDU buffer OR
|
|
MSDU_EXTENSION descriptor OR Link Descriptor
|
|
|
|
|
|
|
|
In case of 'NULL' pointer, this field is set to 0
|
|
|
|
<legal all>
|
|
*/
|
|
#define BUFFER_ADDR_INFO_0_BUFFER_ADDR_31_0_OFFSET 0x00000000
|
|
#define BUFFER_ADDR_INFO_0_BUFFER_ADDR_31_0_LSB 0
|
|
#define BUFFER_ADDR_INFO_0_BUFFER_ADDR_31_0_MASK 0xffffffff
|
|
|
|
/* Description BUFFER_ADDR_INFO_1_BUFFER_ADDR_39_32
|
|
|
|
Address (upper 8 bits) of the MSDU buffer OR
|
|
MSDU_EXTENSION descriptor OR Link Descriptor
|
|
|
|
|
|
|
|
In case of 'NULL' pointer, this field is set to 0
|
|
|
|
<legal all>
|
|
*/
|
|
#define BUFFER_ADDR_INFO_1_BUFFER_ADDR_39_32_OFFSET 0x00000004
|
|
#define BUFFER_ADDR_INFO_1_BUFFER_ADDR_39_32_LSB 0
|
|
#define BUFFER_ADDR_INFO_1_BUFFER_ADDR_39_32_MASK 0x000000ff
|
|
|
|
/* Description BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER
|
|
|
|
Consumer: WBM
|
|
|
|
Producer: SW/FW
|
|
|
|
|
|
|
|
In case of 'NULL' pointer, this field is set to 0
|
|
|
|
|
|
|
|
Indicates to which buffer manager the buffer OR
|
|
MSDU_EXTENSION descriptor OR link descriptor that is being
|
|
pointed to shall be returned after the frame has been
|
|
processed. It is used by WBM for routing purposes.
|
|
|
|
|
|
|
|
<enum 0 WBM_IDLE_BUF_LIST> This buffer shall be returned
|
|
to the WMB buffer idle list
|
|
|
|
<enum 1 WBM_IDLE_DESC_LIST> This buffer shall be
|
|
returned to the WMB idle link descriptor idle list
|
|
|
|
<enum 2 FW_BM> This buffer shall be returned to the FW
|
|
|
|
<enum 3 SW0_BM> This buffer shall be returned to the SW,
|
|
ring 0
|
|
|
|
<enum 4 SW1_BM> This buffer shall be returned to the SW,
|
|
ring 1
|
|
|
|
<enum 5 SW2_BM> This buffer shall be returned to the SW,
|
|
ring 2
|
|
|
|
<enum 6 SW3_BM> This buffer shall be returned to the SW,
|
|
ring 3
|
|
|
|
|
|
|
|
<legal 0-6>
|
|
*/
|
|
#define BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER_OFFSET 0x00000004
|
|
#define BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER_LSB 8
|
|
#define BUFFER_ADDR_INFO_1_RETURN_BUFFER_MANAGER_MASK 0x00000700
|
|
|
|
/* Description BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE
|
|
|
|
Cookie field exclusively used by SW.
|
|
|
|
|
|
|
|
In case of 'NULL' pointer, this field is set to 0
|
|
|
|
|
|
|
|
HW ignores the contents, accept that it passes the
|
|
programmed value on to other descriptors together with the
|
|
physical address
|
|
|
|
|
|
|
|
Field can be used by SW to for example associate the
|
|
buffers physical address with the virtual address
|
|
|
|
The bit definitions as used by SW are within SW HLD
|
|
specification
|
|
|
|
|
|
|
|
NOTE:
|
|
|
|
The two most significant bits can have a special meaning
|
|
in case this struct is embedded in a TX_MPDU_DETAILS STRUCT,
|
|
and field transmit_bw_restriction is set
|
|
|
|
Sw_buffer_cookie[20:19] = 2'b00: 20 MHz TX only
|
|
|
|
Sw_buffer_cookie[20:19] = 2'b01: 40 MHz TX only
|
|
|
|
Sw_buffer_cookie[20:19] = 2'b10: 80 MHz TX only
|
|
|
|
Sw_buffer_cookie[20:19] = 2'b11: 160 MHz TX only
|
|
|
|
|
|
|
|
<legal all>
|
|
*/
|
|
#define BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE_OFFSET 0x00000004
|
|
#define BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE_LSB 11
|
|
#define BUFFER_ADDR_INFO_1_SW_BUFFER_COOKIE_MASK 0xfffff800
|
|
|
|
|
|
#endif // _BUFFER_ADDR_INFO_H_
|