qcacmn: Add HAL TX PPE data structures
Add the PPE Tx HAL data structures. Also add dummy functions for reo2ppe and ppe2tcl rings intializations. Change-Id: I31fa61a728535c32ea3678407da8ae39f0d9f48d
This commit is contained in:

committed by
Madan Koyyalamudi

parent
d7908ff22a
commit
596c07c7e6
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2022 The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -104,6 +104,117 @@ union hal_tx_bank_config {
|
|||||||
uint32_t val;
|
uint32_t val;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct hal_tx_cmn_config_ppe - SW config exception related parameters
|
||||||
|
* @drop_prec_err - Exception drop_prec errors.
|
||||||
|
* @fake_mac_hdr - Exception fake mac header.
|
||||||
|
* @cpu_code_inv - Exception cpu code invalid.
|
||||||
|
* @data_buff_err - Exception buffer length/offset erorors.
|
||||||
|
* @l3_l4_err - Exception m3_l4 checksum errors
|
||||||
|
* @data_offset_max - Maximum data offset allowed.
|
||||||
|
* @data_len_max - Maximum data length allowed.
|
||||||
|
*/
|
||||||
|
union hal_tx_cmn_config_ppe {
|
||||||
|
struct {
|
||||||
|
uint32_t drop_prec_err:1,
|
||||||
|
fake_mac_hdr:1,
|
||||||
|
cpu_code_inv:1,
|
||||||
|
data_buff_err:1,
|
||||||
|
l3_l4_err:1,
|
||||||
|
data_offset_max:12,
|
||||||
|
data_len_max:14;
|
||||||
|
};
|
||||||
|
uint32_t val;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_tx_ppe_vp_config - SW config PPE VP table
|
||||||
|
* @vp_num - Virtual port number
|
||||||
|
* @pmac_id - Lmac ID
|
||||||
|
* @bank_id: Bank ID correspondig to this I/F.
|
||||||
|
* @vdev_id: VDEV ID of the I/F.
|
||||||
|
* @search_idx_reg_num: Register number of this SI.
|
||||||
|
* @use_ppe_int_pri: Use the PPE INT_PRI to TID table
|
||||||
|
* @to_fw: Use FW
|
||||||
|
* @drop_prec_enable: Enable precendance drop.
|
||||||
|
*/
|
||||||
|
union hal_tx_ppe_vp_config {
|
||||||
|
struct {
|
||||||
|
uint32_t vp_num:8,
|
||||||
|
pmac_id:2,
|
||||||
|
bank_id:6,
|
||||||
|
vdev_id:8,
|
||||||
|
search_idx_reg_num:3,
|
||||||
|
use_ppe_int_pri:1,
|
||||||
|
to_fw:1,
|
||||||
|
drop_prec_enable:1;
|
||||||
|
};
|
||||||
|
uint32_t val;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_tx_cmn_ppe_idx_map_config: Use ppe index mapping table
|
||||||
|
* @search_idx: Search index
|
||||||
|
* @cache_set: Cache set number
|
||||||
|
*/
|
||||||
|
union hal_tx_ppe_idx_map_config {
|
||||||
|
struct {
|
||||||
|
uint32_t search_idx:20,
|
||||||
|
cache_set:4;
|
||||||
|
};
|
||||||
|
uint32_t val;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_tx_ppe_pri2tid_map0_config : Configure ppe INT_PRI to tid map
|
||||||
|
* @int_pri0: INT_PRI_0
|
||||||
|
* @int_pri1: INT_PRI_1
|
||||||
|
* @int_pri2: INT_PRI_2
|
||||||
|
* @int_pri3: INT_PRI_3
|
||||||
|
* @int_pri4: INT_PRI_4
|
||||||
|
* @int_pri5: INT_PRI_5
|
||||||
|
* @int_pri6: INT_PRI_6
|
||||||
|
* @int_pri7: INT_PRI_7
|
||||||
|
* @int_pri8: INT_PRI_8
|
||||||
|
* @int_pri9: INT_PRI_9
|
||||||
|
*/
|
||||||
|
union hal_tx_ppe_pri2tid_map0_config {
|
||||||
|
struct {
|
||||||
|
uint32_t int_pri0:3,
|
||||||
|
int_pri1:3,
|
||||||
|
int_pri2:3,
|
||||||
|
int_pri3:3,
|
||||||
|
int_pri4:3,
|
||||||
|
int_pri5:3,
|
||||||
|
int_pri6:3,
|
||||||
|
int_pri7:3,
|
||||||
|
int_pri8:3,
|
||||||
|
int_pri9:3;
|
||||||
|
};
|
||||||
|
uint32_t val;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_tx_ppe_pri2tid_map1_config : Configure ppe INT_PRI to tid map
|
||||||
|
* @int_pri0: INT_PRI_10
|
||||||
|
* @int_pri1: INT_PRI_11
|
||||||
|
* @int_pri2: INT_PRI_12
|
||||||
|
* @int_pri3: INT_PRI_13
|
||||||
|
* @int_pri4: INT_PRI_14
|
||||||
|
* @int_pri5: INT_PRI_15
|
||||||
|
*/
|
||||||
|
union hal_tx_ppe_pri2tid_map1_config {
|
||||||
|
struct {
|
||||||
|
uint32_t int_pri10:3,
|
||||||
|
int_pri11:3,
|
||||||
|
int_pri12:3,
|
||||||
|
int_pri13:3,
|
||||||
|
int_pri14:3,
|
||||||
|
int_pri15:3;
|
||||||
|
};
|
||||||
|
uint32_t val;
|
||||||
|
};
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
* Function declarations and documentation
|
* Function declarations and documentation
|
||||||
* ---------------------------------------------------------------------------
|
* ---------------------------------------------------------------------------
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2022 The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -1882,6 +1882,30 @@ wlan_cfg_get_dp_soc_ppe2tcl_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg);
|
|||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
wlan_cfg_get_dp_soc_ppe_release_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg);
|
wlan_cfg_get_dp_soc_ppe_release_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||||
|
#else
|
||||||
|
static inline bool
|
||||||
|
wlan_cfg_get_dp_soc_is_ppe_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int
|
||||||
|
wlan_cfg_get_dp_soc_reo2ppe_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int
|
||||||
|
wlan_cfg_get_dp_soc_ppe2tcl_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int
|
||||||
|
wlan_cfg_get_dp_soc_ppe_release_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user