首页 技术 正文
技术 2022年11月21日
0 收藏 328 点赞 2,307 浏览 2519 个字

1 睡眠模式RX代码流程

ar_wal_rx_patch.c::patch_rx_process_recv_status//调用rx_ctxt->data_ind_handler

-> data_rx.c::wal_rx_install_data_ind//实际调用install_data_ind,具体函数patch_rx_install_data_ind

//设置rx_ctxt->data_ind_handler = data_rx

-> partial_reorder/data_rx.c::data_rx//调用ctxt->tgt_reorder_buff_store_and_release = data_rx_sta_store_and_release

-> data_rx_sta.c::data_rx_sta_store_and_release

-> data_rx_sta.c::data_rx_sta_deliver//调用ctxt->tgt_rx_deliver

-> data_rx_sta.c::data_rx_sta_register_deliver_cb//设置ctxt->tgt_rx_deliver = _offldmgr_data_handler

-> offload_mgr.c::_offldmgr_data_handler//调用p_offldmgr_ctxt->offload[OFFLOAD_EXTWOW].data_handler = _wlan_extwow_rx_data_handler

-> wlan_extwow.c::_wlan_extwow_rx_data_handler

对应的log:

//以wow为例,不是swol

enter patch_rx_process_recv_status call rx_ctxt->data_ind_handler 001.
enter data_rx call ctxt->tgt_reorder_buff_store_and_release.
enter data_rx_sta_store_and_release call data_rx_sta_deliver.
enter data_rx_sta_deliver call ctxt->tgt_rx_deliver.
enter _offldmgr_data_handler with CONFIG_FULL_PARTIAL_SUPPORT, i = 11 .
enter _wow_can_deliver_rxdata_tohost.
match happened

2 低功耗模式代码流程

ar_wal_rx_patch.c::patch_rx_process_recv_status//调用rx_ctxt->data_ind_handler

-> data_rx.c::wal_rx_install_data_ind//实际调用install_data_ind,具体函数patch_rx_install_data_ind

//设置rx_ctxt->data_ind_handler = data_rx

-> partial_reorder/data_rx.c::data_rx//调用ctxt->host_reorder_buff_store_and_release = _htt_tgt_rx_store_and_release_hl

-> htt_tgt_rx_event.c::_htt_tgt_rx_store_and_release_hl

对应的log:

enter patch_rx_process_recv_status call rx_ctxt->data_ind_handler 002.
enter _wlan_extwow_indoor_rx_data_process wow_does_magic_pattern_match return FALSE.
enter patch_rx_process_recv_status call rx_ctxt->data_ind_handler 002.
match happened
waker_mac_index:99
EW: indoor GPIO cnt=1
enter _htt_tgt_rx_store_and_release_hl wlan_extwow_indoor_rx_data_process, vdev->vdev_id = 0.

3 添加的代码patch

htt_tgt_rx_event.c::_htt_tgt_rx_store_and_release_hl中2182行

                wal_peer_t *peer;
wal_vdev_t *vdev;
WLAN_EXTWOW_CTX *pExtwow;
if ( g_pdev_p != NULL) {
pExtwow = (WLAN_EXTWOW_CTX *)g_pdev_p->extwow_ctx; peer = wal_peer_id_to_peer((wal_pdev_t *)(g_pdev_p->pdev_handle), (A_UINT32)peer_id);
if (peer != NULL) {
vdev = peer->vdev;
}
} if (g_pdev_p != NULL && vdev != NULL && pExtwow != NULL) {
A_PRINTF_ALWAYS("enter _htt_tgt_rx_store_and_release_hl pExtwow->swol_assist_enable = %d. \n", pExtwow->swol_assist_enable);
if (pExtwow->swol_assist_enable) {
if (wlan_extwow_indoor_rx_data_process(g_pdev_p, vdev->vdev_id, peer_id, tid, abf)) {
A_PRINTF_ALWAYS("enter _htt_tgt_rx_store_and_release_hl wlan_extwow_indoor_rx_data_process, vdev->vdev_id = %d. \n", vdev->vdev_id);
break;
}
}
}

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,557
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898