qcacmn: Implement converged packetdump API
Packetdump invokes legacy data path API directly without considering underlying HW: 1. ol_register_packetdump_callback 2. ol_deregister_packetdump_callback Global pointer pdev_txrx_ctx will be casted to struct ol_txrx_pdev_t always even Lithium (use struct dp_pdev) underlying, and overwrite struct dp_pdev unexpected. Wrap with cdp API to avoid. Change-Id: I5c8847ddc51548e8854ba600bec99ce5200dd817 CRs-Fixed: 2366344
This commit is contained in:
@@ -32,6 +32,7 @@
|
|||||||
#include "wma.h"
|
#include "wma.h"
|
||||||
#include "ol_txrx_api.h"
|
#include "ol_txrx_api.h"
|
||||||
#include "pktlog_ac.h"
|
#include "pktlog_ac.h"
|
||||||
|
#include <cdp_txrx_misc.h>
|
||||||
#endif
|
#endif
|
||||||
#include <wlan_logging_sock_svc.h>
|
#include <wlan_logging_sock_svc.h>
|
||||||
#include <linux/kthread.h>
|
#include <linux/kthread.h>
|
||||||
@@ -1425,8 +1426,13 @@ static void send_packetdump_monitor(uint8_t type)
|
|||||||
*/
|
*/
|
||||||
void wlan_deregister_txrx_packetdump(void)
|
void wlan_deregister_txrx_packetdump(void)
|
||||||
{
|
{
|
||||||
|
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||||
|
|
||||||
|
if (!soc)
|
||||||
|
return;
|
||||||
|
|
||||||
if (gtx_count || grx_count) {
|
if (gtx_count || grx_count) {
|
||||||
ol_deregister_packetdump_callback();
|
cdp_deregister_packetdump_cb(soc);
|
||||||
wma_deregister_packetdump_callback();
|
wma_deregister_packetdump_callback();
|
||||||
send_packetdump_monitor(STOP_MONITOR);
|
send_packetdump_monitor(STOP_MONITOR);
|
||||||
csr_packetdump_timer_stop();
|
csr_packetdump_timer_stop();
|
||||||
@@ -1527,8 +1533,12 @@ static void rx_packetdump_cb(qdf_nbuf_t netbuf, uint8_t status,
|
|||||||
*/
|
*/
|
||||||
void wlan_register_txrx_packetdump(void)
|
void wlan_register_txrx_packetdump(void)
|
||||||
{
|
{
|
||||||
ol_register_packetdump_callback(tx_packetdump_cb,
|
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||||
rx_packetdump_cb);
|
|
||||||
|
if (!soc)
|
||||||
|
return;
|
||||||
|
|
||||||
|
cdp_register_packetdump_cb(soc, tx_packetdump_cb, rx_packetdump_cb);
|
||||||
wma_register_packetdump_callback(tx_packetdump_cb,
|
wma_register_packetdump_callback(tx_packetdump_cb,
|
||||||
rx_packetdump_cb);
|
rx_packetdump_cb);
|
||||||
send_packetdump_monitor(START_MONITOR);
|
send_packetdump_monitor(START_MONITOR);
|
||||||
|
Reference in New Issue
Block a user