qcacmn: Update tx ingress stats with xmit field
Update tx ingress stats with xmit field Change-Id: I86ad9c59f49213e2968751bfc488eb2bdd95baa5 CRs-Fixed: 3561679
このコミットが含まれているのは:
@@ -205,6 +205,7 @@ struct dp_tx_queue {
|
||||
* @u.sg_info: Scatter Gather information for non-TSO SG frames
|
||||
* @meta_data: Mesh meta header information
|
||||
* @ppdu_cookie: 16-bit ppdu_cookie that has to be replayed back in completions
|
||||
* @xmit_type: xmit type of packet Link (0)/MLD (1)
|
||||
* @gsn: global sequence for reinjected mcast packets
|
||||
* @vdev_id : vdev_id for reinjected mcast packets
|
||||
* @skip_hp_update : Skip HP update for TSO segments and update in last segment
|
||||
@@ -229,6 +230,7 @@ struct dp_tx_msdu_info_s {
|
||||
} u;
|
||||
uint32_t meta_data[DP_TX_MSDU_INFO_META_DATA_DWORDS];
|
||||
uint16_t ppdu_cookie;
|
||||
uint8_t xmit_type;
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
|
||||
#ifdef WLAN_MCAST_MLO
|
||||
uint16_t gsn;
|
||||
@@ -1870,11 +1872,13 @@ dp_tx_limit_check(struct dp_vdev *vdev, qdf_nbuf_t nbuf)
|
||||
{
|
||||
struct dp_pdev *pdev = vdev->pdev;
|
||||
struct dp_soc *soc = pdev->soc;
|
||||
uint8_t xmit_type = qdf_nbuf_get_vdev_xmit_type(nbuf);
|
||||
|
||||
if (__dp_tx_limit_check(soc)) {
|
||||
if (is_dp_spl_tx_limit_reached(vdev, nbuf)) {
|
||||
dp_tx_info("queued packets are more than max tx, drop the frame");
|
||||
DP_STATS_INC(vdev, tx_i.dropped.desc_na.num, 1);
|
||||
DP_STATS_INC(vdev,
|
||||
tx_i[xmit_type].dropped.desc_na.num, 1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1883,9 +1887,11 @@ dp_tx_limit_check(struct dp_vdev *vdev, qdf_nbuf_t nbuf)
|
||||
pdev->num_reg_tx_allowed) {
|
||||
if (is_dp_spl_tx_limit_reached(vdev, nbuf)) {
|
||||
dp_tx_info("queued packets are more than max tx, drop the frame");
|
||||
DP_STATS_INC(vdev, tx_i.dropped.desc_na.num, 1);
|
||||
DP_STATS_INC(vdev,
|
||||
tx_i.dropped.desc_na_exc_outstand.num, 1);
|
||||
tx_i[xmit_type].dropped.desc_na.num, 1);
|
||||
DP_STATS_INC(vdev,
|
||||
tx_i[xmit_type].dropped.desc_na_exc_outstand.num,
|
||||
1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1897,12 +1903,13 @@ dp_tx_limit_check(struct dp_vdev *vdev, qdf_nbuf_t nbuf)
|
||||
* dp_tx_exception_limit_check - Check if allocated tx exception descriptors
|
||||
* reached soc max limit
|
||||
* @vdev: DP vdev handle
|
||||
* @xmit_type: xmit type of packet - MLD/Link
|
||||
*
|
||||
* Return: true if allocated tx descriptors reached max configured value, else
|
||||
* false
|
||||
*/
|
||||
static inline bool
|
||||
dp_tx_exception_limit_check(struct dp_vdev *vdev)
|
||||
dp_tx_exception_limit_check(struct dp_vdev *vdev, uint8_t xmit_type)
|
||||
{
|
||||
struct dp_pdev *pdev = vdev->pdev;
|
||||
struct dp_soc *soc = pdev->soc;
|
||||
@@ -1910,7 +1917,7 @@ dp_tx_exception_limit_check(struct dp_vdev *vdev)
|
||||
if (qdf_atomic_read(&soc->num_tx_exception) >=
|
||||
soc->num_msdu_exception_desc) {
|
||||
dp_info("exc packets are more than max drop the exc pkt");
|
||||
DP_STATS_INC(vdev, tx_i.dropped.exc_desc_na.num, 1);
|
||||
DP_STATS_INC(vdev, tx_i[xmit_type].dropped.exc_desc_na.num, 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2051,7 +2058,7 @@ dp_tx_limit_check(struct dp_vdev *vdev, qdf_nbuf_t nbuf)
|
||||
}
|
||||
|
||||
static inline bool
|
||||
dp_tx_exception_limit_check(struct dp_vdev *vdev)
|
||||
dp_tx_exception_limit_check(struct dp_vdev *vdev, uint8_t xmit_type)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
新しいイシューから参照
ユーザーをブロックする