Lines Matching refs:h2c_pkt

496 static void rtw_fw_send_h2c_packet(struct rtw_dev *rtwdev, u8 *h2c_pkt)
502 FW_OFFLOAD_H2C_SET_SEQ_NUM(h2c_pkt, rtwdev->h2c.seq);
503 ret = rtw_hci_write_data_h2c(rtwdev, h2c_pkt, H2C_PKT_SIZE);
513 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
519 rtw_h2c_pkt_set_header(h2c_pkt, H2C_PKT_GENERAL_INFO);
521 SET_PKT_H2C_TOTAL_LEN(h2c_pkt, total_size);
523 GENERAL_INFO_SET_FW_TX_BOUNDARY(h2c_pkt,
527 rtw_fw_send_h2c_packet(rtwdev, h2c_pkt);
535 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
547 rtw_h2c_pkt_set_header(h2c_pkt, H2C_PKT_PHYDM_INFO);
549 SET_PKT_H2C_TOTAL_LEN(h2c_pkt, total_size);
550 PHYDM_INFO_SET_REF_TYPE(h2c_pkt, efuse->rfe_option);
551 PHYDM_INFO_SET_RF_TYPE(h2c_pkt, fw_rf_type);
552 PHYDM_INFO_SET_CUT_VER(h2c_pkt, hal->cut_version);
553 PHYDM_INFO_SET_RX_ANT_STATUS(h2c_pkt, hal->antenna_tx);
554 PHYDM_INFO_SET_TX_ANT_STATUS(h2c_pkt, hal->antenna_rx);
556 rtw_fw_send_h2c_packet(rtwdev, h2c_pkt);
561 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
564 rtw_h2c_pkt_set_header(h2c_pkt, H2C_PKT_IQK);
565 SET_PKT_H2C_TOTAL_LEN(h2c_pkt, total_size);
566 IQK_SET_CLEAR(h2c_pkt, para->clear);
567 IQK_SET_SEGMENT_IQK(h2c_pkt, para->segment_iqk);
569 rtw_fw_send_h2c_packet(rtwdev, h2c_pkt);
575 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
577 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_WIFI_CALIBRATION);
579 RFK_SET_INFORM_START(h2c_pkt, start);
581 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
587 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
589 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_QUERY_BT_INFO);
591 SET_QUERY_BT_INFO(h2c_pkt, true);
593 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
615 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
617 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_WL_CH_INFO);
619 SET_WL_CH_INFO_LINK(h2c_pkt, link);
620 SET_WL_CH_INFO_CHNL(h2c_pkt, ch);
621 SET_WL_CH_INFO_BW(h2c_pkt, bw);
623 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
629 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
631 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_QUERY_BT_MP_INFO);
633 SET_BT_MP_INFO_SEQ(h2c_pkt, req->seq);
634 SET_BT_MP_INFO_OP_CODE(h2c_pkt, req->op_code);
635 SET_BT_MP_INFO_PARA1(h2c_pkt, req->para1);
636 SET_BT_MP_INFO_PARA2(h2c_pkt, req->para2);
637 SET_BT_MP_INFO_PARA3(h2c_pkt, req->para3);
639 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
644 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
647 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_FORCE_BT_TX_POWER);
649 SET_BT_TX_POWER_INDEX(h2c_pkt, index);
651 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
656 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
658 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_IGNORE_WLAN_ACTION);
660 SET_IGNORE_WLAN_ACTION_EN(h2c_pkt, enable);
662 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
668 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
670 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_COEX_TDMA_TYPE);
672 SET_COEX_TDMA_TYPE_PARA1(h2c_pkt, para1);
673 SET_COEX_TDMA_TYPE_PARA2(h2c_pkt, para2);
674 SET_COEX_TDMA_TYPE_PARA3(h2c_pkt, para3);
675 SET_COEX_TDMA_TYPE_PARA4(h2c_pkt, para4);
676 SET_COEX_TDMA_TYPE_PARA5(h2c_pkt, para5);
678 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
683 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
685 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_QUERY_BT_HID_INFO);
687 SET_COEX_QUERY_HID_INFO_SUBID(h2c_pkt, sub_id);
688 SET_COEX_QUERY_HID_INFO_DATA1(h2c_pkt, data);
690 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
695 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
697 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_BT_WIFI_CONTROL);
699 SET_BT_WIFI_CONTROL_OP_CODE(h2c_pkt, op_code);
701 SET_BT_WIFI_CONTROL_DATA1(h2c_pkt, *data);
702 SET_BT_WIFI_CONTROL_DATA2(h2c_pkt, *(data + 1));
703 SET_BT_WIFI_CONTROL_DATA3(h2c_pkt, *(data + 2));
704 SET_BT_WIFI_CONTROL_DATA4(h2c_pkt, *(data + 3));
705 SET_BT_WIFI_CONTROL_DATA5(h2c_pkt, *(data + 4));
707 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
712 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
716 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_RSSI_MONITOR);
718 SET_RSSI_INFO_MACID(h2c_pkt, si->mac_id);
719 SET_RSSI_INFO_RSSI(h2c_pkt, rssi);
720 SET_RSSI_INFO_STBC(h2c_pkt, stbc_en);
722 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
728 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
731 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_RA_INFO);
733 SET_RA_INFO_MACID(h2c_pkt, si->mac_id);
734 SET_RA_INFO_RATE_ID(h2c_pkt, si->rate_id);
735 SET_RA_INFO_INIT_RA_LVL(h2c_pkt, si->init_ra_lv);
736 SET_RA_INFO_SGI_EN(h2c_pkt, si->sgi_enable);
737 SET_RA_INFO_BW_MODE(h2c_pkt, si->bw_mode);
738 SET_RA_INFO_LDPC(h2c_pkt, !!si->ldpc_en);
739 SET_RA_INFO_NO_UPDATE(h2c_pkt, !reset_ra_mask);
740 SET_RA_INFO_VHT_EN(h2c_pkt, si->vht_enable);
741 SET_RA_INFO_DIS_PT(h2c_pkt, disable_pt);
742 SET_RA_INFO_RA_MASK0(h2c_pkt, (si->ra_mask & 0xff));
743 SET_RA_INFO_RA_MASK1(h2c_pkt, (si->ra_mask & 0xff00) >> 8);
744 SET_RA_INFO_RA_MASK2(h2c_pkt, (si->ra_mask & 0xff0000) >> 16);
745 SET_RA_INFO_RA_MASK3(h2c_pkt, (si->ra_mask & 0xff000000) >> 24);
749 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
754 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
756 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_MEDIA_STATUS_RPT);
757 MEDIA_STATUS_RPT_SET_OP_MODE(h2c_pkt, connect);
758 MEDIA_STATUS_RPT_SET_MACID(h2c_pkt, mac_id);
760 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
767 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
769 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_WL_PHY_INFO);
770 SET_WL_PHY_INFO_TX_TP(h2c_pkt, stats->tx_throughput);
771 SET_WL_PHY_INFO_RX_TP(h2c_pkt, stats->rx_throughput);
772 SET_WL_PHY_INFO_TX_RATE_DESC(h2c_pkt, dm_info->tx_rate);
773 SET_WL_PHY_INFO_RX_RATE_DESC(h2c_pkt, dm_info->curr_rx_rate);
774 SET_WL_PHY_INFO_RX_EVM(h2c_pkt, dm_info->rx_evm_dbm[RF_PATH_A]);
775 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
788 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
799 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_BCN_FILTER_OFFLOAD_P1);
800 SET_BCN_FILTER_OFFLOAD_P1_ENABLE(h2c_pkt, connect);
801 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
809 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_BCN_FILTER_OFFLOAD_P0);
810 ether_addr_copy(&h2c_pkt[1], bss_conf->bssid);
811 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
813 memset(h2c_pkt, 0, sizeof(h2c_pkt));
815 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_BCN_FILTER_OFFLOAD_P1);
816 SET_BCN_FILTER_OFFLOAD_P1_ENABLE(h2c_pkt, connect);
817 SET_BCN_FILTER_OFFLOAD_P1_OFFLOAD_MODE(h2c_pkt,
819 SET_BCN_FILTER_OFFLOAD_P1_THRESHOLD(h2c_pkt, thold);
820 SET_BCN_FILTER_OFFLOAD_P1_BCN_LOSS_CNT(h2c_pkt, BCN_LOSS_CNT);
821 SET_BCN_FILTER_OFFLOAD_P1_MACID(h2c_pkt, si->mac_id);
822 SET_BCN_FILTER_OFFLOAD_P1_HYST(h2c_pkt, hyst);
823 SET_BCN_FILTER_OFFLOAD_P1_BCN_INTERVAL(h2c_pkt, bss_conf->beacon_int);
824 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
830 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
832 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_SET_PWR_MODE);
834 SET_PWR_MODE_SET_MODE(h2c_pkt, conf->mode);
835 SET_PWR_MODE_SET_RLBM(h2c_pkt, conf->rlbm);
836 SET_PWR_MODE_SET_SMART_PS(h2c_pkt, conf->smart_ps);
837 SET_PWR_MODE_SET_AWAKE_INTERVAL(h2c_pkt, conf->awake_interval);
838 SET_PWR_MODE_SET_PORT_ID(h2c_pkt, conf->port_id);
839 SET_PWR_MODE_SET_PWR_STATE(h2c_pkt, conf->state);
841 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
846 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
853 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_KEEP_ALIVE);
854 SET_KEEP_ALIVE_ENABLE(h2c_pkt, enable);
855 SET_KEEP_ALIVE_ADOPT(h2c_pkt, mode.adopt);
856 SET_KEEP_ALIVE_PKT_TYPE(h2c_pkt, mode.pkt_type);
857 SET_KEEP_ALIVE_CHECK_PERIOD(h2c_pkt, mode.period);
859 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
865 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
872 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_DISCONNECT_DECISION);
875 SET_DISCONNECT_DECISION_ENABLE(h2c_pkt, enable);
876 SET_DISCONNECT_DECISION_ADOPT(h2c_pkt, mode.adopt);
877 SET_DISCONNECT_DECISION_CHECK_PERIOD(h2c_pkt, mode.period);
878 SET_DISCONNECT_DECISION_TRY_PKT_NUM(h2c_pkt, mode.retry_count);
881 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
887 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
889 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_WOWLAN);
891 SET_WOWLAN_FUNC_ENABLE(h2c_pkt, enable);
894 SET_WOWLAN_MAGIC_PKT_ENABLE(h2c_pkt, enable);
896 SET_WOWLAN_DEAUTH_WAKEUP_ENABLE(h2c_pkt, enable);
898 SET_WOWLAN_REKEY_WAKEUP_ENABLE(h2c_pkt, enable);
900 SET_WOWLAN_PATTERN_MATCH_ENABLE(h2c_pkt, enable);
903 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
910 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
912 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_AOAC_GLOBAL_INFO);
914 SET_AOAC_GLOBAL_INFO_PAIRWISE_ENC_ALG(h2c_pkt, pairwise_key_enc);
915 SET_AOAC_GLOBAL_INFO_GROUP_ENC_ALG(h2c_pkt, group_key_enc);
917 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
922 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
924 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_REMOTE_WAKE_CTRL);
926 SET_REMOTE_WAKECTRL_ENABLE(h2c_pkt, enable);
929 SET_REMOTE_WAKE_CTRL_NLO_OFFLOAD_EN(h2c_pkt, enable);
931 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
950 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
955 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_NLO_INFO);
957 SET_NLO_FUN_EN(h2c_pkt, enable);
960 SET_NLO_PS_32K(h2c_pkt, enable);
961 SET_NLO_IGNORE_SECURITY(h2c_pkt, enable);
962 SET_NLO_LOC_NLO_INFO(h2c_pkt, loc_nlo);
965 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
970 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
972 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_RECOVER_BT_DEV);
973 SET_RECOVER_BT_DEV_EN(h2c_pkt, 1);
975 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
981 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
987 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_LPS_PG_INFO);
989 LPS_PG_INFO_LOC(h2c_pkt, loc_pg);
990 LPS_PG_DPK_LOC(h2c_pkt, loc_dpk);
991 LPS_PG_SEC_CAM_EN(h2c_pkt, conf->sec_cam_backup);
992 LPS_PG_PATTERN_CAM_EN(h2c_pkt, conf->pattern_cam_backup);
994 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
1033 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
1036 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_RSVD_PAGE);
1039 *(h2c_pkt + 1) = location;
1043 *(h2c_pkt + 2) = location;
1047 *(h2c_pkt + 3) = location;
1051 *(h2c_pkt + 4) = location;
1054 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
1868 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
1871 rtw_h2c_pkt_set_header(h2c_pkt, H2C_PKT_UPDATE_PKT);
1873 SET_PKT_H2C_TOTAL_LEN(h2c_pkt, total_size);
1874 UPDATE_PKT_SET_PKT_ID(h2c_pkt, pkt_id);
1875 UPDATE_PKT_SET_LOCATION(h2c_pkt, location);
1879 UPDATE_PKT_SET_SIZE(h2c_pkt, size);
1881 rtw_fw_send_h2c_packet(rtwdev, h2c_pkt);
1908 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
1922 rtw_h2c_pkt_set_header(h2c_pkt, H2C_PKT_CH_SWITCH);
1923 SET_PKT_H2C_TOTAL_LEN(h2c_pkt, total_size);
1925 CH_SWITCH_SET_START(h2c_pkt, enable);
1926 CH_SWITCH_SET_DEST_CH_EN(h2c_pkt, cs_option.dest_ch_en);
1927 CH_SWITCH_SET_DEST_CH(h2c_pkt, cs_option.dest_ch);
1928 CH_SWITCH_SET_NORMAL_PERIOD(h2c_pkt, cs_option.normal_period);
1929 CH_SWITCH_SET_NORMAL_PERIOD_SEL(h2c_pkt, cs_option.normal_period_sel);
1930 CH_SWITCH_SET_SLOW_PERIOD(h2c_pkt, cs_option.slow_period);
1931 CH_SWITCH_SET_SLOW_PERIOD_SEL(h2c_pkt, cs_option.slow_period_sel);
1932 CH_SWITCH_SET_NORMAL_CYCLE(h2c_pkt, cs_option.normal_cycle);
1933 CH_SWITCH_SET_PERIODIC_OPT(h2c_pkt, cs_option.periodic_option);
1935 CH_SWITCH_SET_CH_NUM(h2c_pkt, rtw_pno_req->channel_cnt);
1936 CH_SWITCH_SET_INFO_SIZE(h2c_pkt, rtw_pno_req->channel_cnt * 4);
1939 CH_SWITCH_SET_INFO_LOC(h2c_pkt, loc_ch_info);
1941 rtw_fw_send_h2c_packet(rtwdev, h2c_pkt);
1947 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
1955 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_ADAPTIVITY);
1956 SET_ADAPTIVITY_MODE(h2c_pkt, dm_info->edcca_mode);
1957 SET_ADAPTIVITY_OPTION(h2c_pkt, 1);
1958 SET_ADAPTIVITY_IGI(h2c_pkt, dm_info->igi_history[0]);
1959 SET_ADAPTIVITY_L2H(h2c_pkt, dm_info->l2h_th_ini);
1960 SET_ADAPTIVITY_DENSITY(h2c_pkt, dm_info->scan_density);
1962 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
1967 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
1969 SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_SCAN);
1970 SET_SCAN_START(h2c_pkt, start);
1972 rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
2179 u8 h2c_pkt[H2C_PKT_SIZE] = {0};
2181 rtw_h2c_pkt_set_header(h2c_pkt, H2C_PKT_SCAN_OFFLOAD);
2182 SET_PKT_H2C_TOTAL_LEN(h2c_pkt, H2C_PKT_CH_SWITCH_LEN);
2184 SCAN_OFFLOAD_SET_START(h2c_pkt, opt->switch_en);
2185 SCAN_OFFLOAD_SET_BACK_OP_EN(h2c_pkt, opt->back_op_en);
2186 SCAN_OFFLOAD_SET_RANDOM_SEQ_EN(h2c_pkt, random_seq);
2187 SCAN_OFFLOAD_SET_NO_CCK_EN(h2c_pkt, req->no_cck);
2188 SCAN_OFFLOAD_SET_CH_NUM(h2c_pkt, list->ch_num);
2189 SCAN_OFFLOAD_SET_CH_INFO_SIZE(h2c_pkt, list->size);
2190 SCAN_OFFLOAD_SET_CH_INFO_LOC(h2c_pkt, list->addr - fifo->rsvd_boundary);
2191 SCAN_OFFLOAD_SET_OP_CH(h2c_pkt, scan_info->op_chan);
2192 SCAN_OFFLOAD_SET_OP_PRI_CH_IDX(h2c_pkt, scan_info->op_pri_ch_idx);
2193 SCAN_OFFLOAD_SET_OP_BW(h2c_pkt, scan_info->op_bw);
2194 SCAN_OFFLOAD_SET_OP_PORT_ID(h2c_pkt, rtwvif->port);
2195 SCAN_OFFLOAD_SET_OP_DWELL_TIME(h2c_pkt, req->duration_mandatory ?
2197 SCAN_OFFLOAD_SET_OP_GAP_TIME(h2c_pkt, RTW_OFF_CHAN_TIME);
2198 SCAN_OFFLOAD_SET_SSID_NUM(h2c_pkt, req->n_ssids);
2199 SCAN_OFFLOAD_SET_PKT_LOC(h2c_pkt, pkt_loc);
2201 rtw_fw_send_h2c_packet(rtwdev, h2c_pkt);