qcacmn: Change monitor ring reap sequence for qcn9000
For qcn9000 in case of monitor mode, reap monitor destination ring first and status ring later to avoid backpressure on monitor destination ring Change-Id: I4e1931afe0453221f1326ca7bdb7f0273cc7363d CRs-Fixed: 2670656
此提交包含在:
@@ -19,6 +19,19 @@
|
||||
#ifndef _DP_RX_MON_H_
|
||||
#define _DP_RX_MON_H_
|
||||
|
||||
/*
|
||||
* dp_rx_mon_status_process() - Process monitor status ring and
|
||||
*>.....TLV in status ring.
|
||||
*
|
||||
* @soc: core txrx main context
|
||||
* @mac_id: mac_id which is one of 3 mac_ids
|
||||
* @quota: No. of ring entry that can be serviced in one shot.
|
||||
|
||||
* Return: uint32_t: No. of ring entry that is processed.
|
||||
*/
|
||||
uint32_t
|
||||
dp_rx_mon_status_process(struct dp_soc *soc, uint32_t mac_id, uint32_t quota);
|
||||
|
||||
/**
|
||||
* dp_rx_mon_dest_process() - Brain of the Rx processing functionality
|
||||
* Called from the bottom half (tasklet/NET_RX_SOFTIRQ)
|
||||
|
@@ -1618,9 +1618,7 @@ dp_rx_mon_status_process_tlv(struct dp_soc *soc, uint32_t mac_id,
|
||||
pdev->mon_chan_freq;
|
||||
}
|
||||
|
||||
if (qdf_unlikely(soc->full_mon_mode))
|
||||
dp_rx_mon_process(soc, mac_id, quota);
|
||||
else
|
||||
if (!soc->full_mon_mode)
|
||||
dp_rx_mon_dest_process(soc, mac_id, quota);
|
||||
|
||||
pdev->mon_ppdu_status = DP_PPDU_STATUS_START;
|
||||
@@ -1831,7 +1829,7 @@ done:
|
||||
|
||||
* Return: uint32_t: No. of ring entry that is processed.
|
||||
*/
|
||||
static inline uint32_t
|
||||
uint32_t
|
||||
dp_rx_mon_status_process(struct dp_soc *soc, uint32_t mac_id, uint32_t quota) {
|
||||
uint32_t work_done;
|
||||
|
||||
@@ -1854,6 +1852,9 @@ dp_rx_mon_status_process(struct dp_soc *soc, uint32_t mac_id, uint32_t quota) {
|
||||
*/
|
||||
uint32_t
|
||||
dp_mon_process(struct dp_soc *soc, uint32_t mac_id, uint32_t quota) {
|
||||
if (qdf_unlikely(soc->full_mon_mode))
|
||||
return dp_rx_mon_process(soc, mac_id, quota);
|
||||
|
||||
return dp_rx_mon_status_process(soc, mac_id, quota);
|
||||
}
|
||||
|
||||
|
新增問題並參考
封鎖使用者