zoukankan      html  css  js  c++  java
  • android wifi SWOL低功耗模式

    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. 
    ", 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. 
    ", vdev->vdev_id);
                                 break;
                            }
                        }
                     }
    

      

  • 相关阅读:
    【JOI2017春季合宿】Port Facility
    LOJ504「LibreOJ β Round」ZQC 的手办
    UOJ37. 【清华集训2014】主旋律
    CF1012F Passports
    AT2370 Piling Up
    CF908G New Year and Original Order
    CF643E Bear and Destroying Subtrees
    CF183D T-shirt
    「JOISC 2016 Day 3」回转寿司
    「LibreOJ β Round #2」计算几何瞎暴力
  • 原文地址:https://www.cnblogs.com/xuhaohunter/p/5654187.html
Copyright © 2011-2022 走看看