qcacmn: monitor RXDMA drop feature

Adds new INI variable for threshold control.
Host sends message to target with new threshold info.
If buffer reaches threshold then MAC drops incoming monitor frames.

Change-Id: Id659d7df68a5ec0b22fb571dc1ffa4990f8fcc4f
This commit is contained in:
Ruben Columbus
2019-08-12 11:11:29 -07:00
committed by nshrivas
부모 78285d3861
커밋 b7a1c5782d
4개의 변경된 파일40개의 추가작업 그리고 3개의 파일을 삭제

파일 보기

@@ -1013,6 +1013,8 @@ int htt_h2t_rx_ring_cfg(struct htt_soc *htt_soc, int pdev_id,
uint32_t htt_ring_type, htt_ring_id;
uint32_t tlv_filter;
uint8_t *htt_logger_bufp;
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx = soc->dp_soc->wlan_cfg_ctx;
uint32_t mon_drop_th = wlan_cfg_get_mon_drop_thresh(wlan_cfg_ctx);
htt_msg = qdf_nbuf_alloc(soc->osdev,
HTT_MSG_BUF_SIZE(HTT_RX_RING_SELECTION_CFG_SZ),
@@ -1101,6 +1103,13 @@ int htt_h2t_rx_ring_cfg(struct htt_soc *htt_soc, int pdev_id,
HTT_RX_RING_SELECTION_CFG_RX_OFFSETS_VALID_SET(*msg_word,
htt_tlv_filter->offset_valid);
if (mon_drop_th > 0)
HTT_RX_RING_SELECTION_CFG_DROP_THRESHOLD_VALID_SET(*msg_word,
1);
else
HTT_RX_RING_SELECTION_CFG_DROP_THRESHOLD_VALID_SET(*msg_word,
0);
/* word 1 */
msg_word++;
*msg_word = 0;
@@ -1664,8 +1673,17 @@ int htt_h2t_rx_ring_cfg(struct htt_soc *htt_soc, int pdev_id,
*msg_word = 0;
HTT_RX_RING_SELECTION_CFG_RX_ATTENTION_OFFSET_SET(*msg_word,
htt_tlv_filter->rx_attn_offset);
msg_word++;
*msg_word = 0;
} else {
msg_word += 4;
*msg_word = 0;
}
if (mon_drop_th > 0)
HTT_RX_RING_SELECTION_CFG_RX_DROP_THRESHOLD_SET(*msg_word,
mon_drop_th);
/* "response_required" field should be set if a HTT response message is
* required after setting up the ring.
*/