Loading drivers/net/wireless/cnss2/main.c +12 −0 Original line number Diff line number Diff line Loading @@ -522,6 +522,10 @@ static char *cnss_driver_event_to_str(enum cnss_driver_event_type type) return "IDLE_RESTART"; case CNSS_DRIVER_EVENT_IDLE_SHUTDOWN: return "IDLE_SHUTDOWN"; case CNSS_DRIVER_EVENT_IMS_WFC_CALL_IND: return "IMS_WFC_CALL_IND"; case CNSS_DRIVER_EVENT_WLFW_TWT_CFG_IND: return "WLFW_TWC_CFG_IND"; case CNSS_DRIVER_EVENT_QDSS_TRACE_REQ_MEM: return "QDSS_TRACE_REQ_MEM"; case CNSS_DRIVER_EVENT_QDSS_TRACE_SAVE: Loading Loading @@ -1672,6 +1676,14 @@ static void cnss_driver_event_work(struct work_struct *work) case CNSS_DRIVER_EVENT_POWER_DOWN: ret = cnss_power_down_hdlr(plat_priv); break; case CNSS_DRIVER_EVENT_IMS_WFC_CALL_IND: ret = cnss_process_wfc_call_ind_event(plat_priv, event->data); break; case CNSS_DRIVER_EVENT_WLFW_TWT_CFG_IND: ret = cnss_process_twt_cfg_ind_event(plat_priv, event->data); break; case CNSS_DRIVER_EVENT_QDSS_TRACE_REQ_MEM: ret = cnss_qdss_trace_req_mem_hdlr(plat_priv); break; Loading drivers/net/wireless/cnss2/main.h +2 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,8 @@ enum cnss_driver_event_type { CNSS_DRIVER_EVENT_POWER_DOWN, CNSS_DRIVER_EVENT_IDLE_RESTART, CNSS_DRIVER_EVENT_IDLE_SHUTDOWN, CNSS_DRIVER_EVENT_IMS_WFC_CALL_IND, CNSS_DRIVER_EVENT_WLFW_TWT_CFG_IND, CNSS_DRIVER_EVENT_QDSS_TRACE_REQ_MEM, CNSS_DRIVER_EVENT_QDSS_TRACE_SAVE, CNSS_DRIVER_EVENT_QDSS_TRACE_FREE, Loading drivers/net/wireless/cnss2/qmi.c +34 −2 Original line number Diff line number Diff line Loading @@ -2115,6 +2115,17 @@ static int cnss_ims_wfc_call_twt_cfg_send_sync return ret; } int cnss_process_twt_cfg_ind_event(struct cnss_plat_data *plat_priv, void *data) { int ret; struct wlfw_wfc_call_twt_config_ind_msg_v01 *ind_msg = data; ret = cnss_ims_wfc_call_twt_cfg_send_sync(plat_priv, ind_msg); kfree(data); return ret; } static void cnss_wlfw_process_twt_cfg_ind(struct qmi_handle *qmi_wlfw, struct sockaddr_qrtr *sq, struct qmi_txn *txn, Loading @@ -2123,6 +2134,7 @@ static void cnss_wlfw_process_twt_cfg_ind(struct qmi_handle *qmi_wlfw, struct cnss_plat_data *plat_priv = container_of(qmi_wlfw, struct cnss_plat_data, qmi_wlfw); const struct wlfw_wfc_call_twt_config_ind_msg_v01 *ind_msg = data; struct wlfw_wfc_call_twt_config_ind_msg_v01 *event_data; if (!txn) { cnss_pr_err("FW->CNSS: TWT_CFG_IND: Spurious indication\n"); Loading @@ -2142,7 +2154,11 @@ static void cnss_wlfw_process_twt_cfg_ind(struct qmi_handle *qmi_wlfw, ind_msg->twt_sta_config_changed_valid, ind_msg->twt_sta_config_changed); cnss_ims_wfc_call_twt_cfg_send_sync(plat_priv, ind_msg); event_data = kmemdup(ind_msg, sizeof(*event_data), GFP_KERNEL); if (!event_data) return; cnss_driver_event_post(plat_priv, CNSS_DRIVER_EVENT_WLFW_TWT_CFG_IND, 0, event_data); } static struct qmi_msg_handler qmi_wlfw_msg_handlers[] = { Loading Loading @@ -2855,6 +2871,17 @@ static void ims_subscribe_for_indication_resp_cb(struct qmi_handle *qmi, } } int cnss_process_wfc_call_ind_event(struct cnss_plat_data *plat_priv, void *data) { int ret; struct ims_private_service_wfc_call_status_ind_msg_v01 *ind_msg = data; ret = cnss_wlfw_wfc_call_status_send_sync(plat_priv, ind_msg); kfree(data); return ret; } static void cnss_ims_process_wfc_call_ind_cb(struct qmi_handle *ims_qmi, struct sockaddr_qrtr *sq, Loading @@ -2864,6 +2891,7 @@ cnss_ims_process_wfc_call_ind_cb(struct qmi_handle *ims_qmi, container_of(ims_qmi, struct cnss_plat_data, ims_qmi); const struct ims_private_service_wfc_call_status_ind_msg_v01 *ind_msg = data; struct ims_private_service_wfc_call_status_ind_msg_v01 *event_data; if (!txn) { cnss_pr_err("IMS->CNSS: WFC_CALL_IND: Spurious indication\n"); Loading @@ -2882,7 +2910,11 @@ cnss_ims_process_wfc_call_ind_cb(struct qmi_handle *ims_qmi, ind_msg->twt_ims_int_valid, ind_msg->twt_ims_int, ind_msg->media_quality_valid, ind_msg->media_quality); cnss_wlfw_wfc_call_status_send_sync(plat_priv, ind_msg); event_data = kmemdup(ind_msg, sizeof(*event_data), GFP_KERNEL); if (!event_data) return; cnss_driver_event_post(plat_priv, CNSS_DRIVER_EVENT_IMS_WFC_CALL_IND, 0, event_data); } static struct qmi_msg_handler qmi_ims_msg_handlers[] = { Loading drivers/net/wireless/cnss2/qmi.h +18 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,10 @@ int cnss_wlfw_antenna_grant_send_sync(struct cnss_plat_data *plat_priv); int cnss_wlfw_dynamic_feature_mask_send_sync(struct cnss_plat_data *plat_priv); int cnss_wlfw_get_info_send_sync(struct cnss_plat_data *plat_priv, int type, void *cmd, int cmd_len); int cnss_process_wfc_call_ind_event(struct cnss_plat_data *plat_priv, void *data); int cnss_process_twt_cfg_ind_event(struct cnss_plat_data *plat_priv, void *data); int cnss_register_coex_service(struct cnss_plat_data *plat_priv); void cnss_unregister_coex_service(struct cnss_plat_data *plat_priv); int coex_antenna_switch_to_wlan_send_sync_msg(struct cnss_plat_data *plat_priv); Loading Loading @@ -191,6 +195,20 @@ int cnss_wlfw_get_info_send_sync(struct cnss_plat_data *plat_priv, int type, return 0; } static inline int cnss_process_wfc_call_ind_event(struct cnss_plat_data *plat_priv, void *data) { return 0; } static inline int cnss_process_twt_cfg_ind_event(struct cnss_plat_data *plat_priv, void *data) { return 0; } static inline int cnss_register_coex_service(struct cnss_plat_data *plat_priv) { Loading Loading
drivers/net/wireless/cnss2/main.c +12 −0 Original line number Diff line number Diff line Loading @@ -522,6 +522,10 @@ static char *cnss_driver_event_to_str(enum cnss_driver_event_type type) return "IDLE_RESTART"; case CNSS_DRIVER_EVENT_IDLE_SHUTDOWN: return "IDLE_SHUTDOWN"; case CNSS_DRIVER_EVENT_IMS_WFC_CALL_IND: return "IMS_WFC_CALL_IND"; case CNSS_DRIVER_EVENT_WLFW_TWT_CFG_IND: return "WLFW_TWC_CFG_IND"; case CNSS_DRIVER_EVENT_QDSS_TRACE_REQ_MEM: return "QDSS_TRACE_REQ_MEM"; case CNSS_DRIVER_EVENT_QDSS_TRACE_SAVE: Loading Loading @@ -1672,6 +1676,14 @@ static void cnss_driver_event_work(struct work_struct *work) case CNSS_DRIVER_EVENT_POWER_DOWN: ret = cnss_power_down_hdlr(plat_priv); break; case CNSS_DRIVER_EVENT_IMS_WFC_CALL_IND: ret = cnss_process_wfc_call_ind_event(plat_priv, event->data); break; case CNSS_DRIVER_EVENT_WLFW_TWT_CFG_IND: ret = cnss_process_twt_cfg_ind_event(plat_priv, event->data); break; case CNSS_DRIVER_EVENT_QDSS_TRACE_REQ_MEM: ret = cnss_qdss_trace_req_mem_hdlr(plat_priv); break; Loading
drivers/net/wireless/cnss2/main.h +2 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,8 @@ enum cnss_driver_event_type { CNSS_DRIVER_EVENT_POWER_DOWN, CNSS_DRIVER_EVENT_IDLE_RESTART, CNSS_DRIVER_EVENT_IDLE_SHUTDOWN, CNSS_DRIVER_EVENT_IMS_WFC_CALL_IND, CNSS_DRIVER_EVENT_WLFW_TWT_CFG_IND, CNSS_DRIVER_EVENT_QDSS_TRACE_REQ_MEM, CNSS_DRIVER_EVENT_QDSS_TRACE_SAVE, CNSS_DRIVER_EVENT_QDSS_TRACE_FREE, Loading
drivers/net/wireless/cnss2/qmi.c +34 −2 Original line number Diff line number Diff line Loading @@ -2115,6 +2115,17 @@ static int cnss_ims_wfc_call_twt_cfg_send_sync return ret; } int cnss_process_twt_cfg_ind_event(struct cnss_plat_data *plat_priv, void *data) { int ret; struct wlfw_wfc_call_twt_config_ind_msg_v01 *ind_msg = data; ret = cnss_ims_wfc_call_twt_cfg_send_sync(plat_priv, ind_msg); kfree(data); return ret; } static void cnss_wlfw_process_twt_cfg_ind(struct qmi_handle *qmi_wlfw, struct sockaddr_qrtr *sq, struct qmi_txn *txn, Loading @@ -2123,6 +2134,7 @@ static void cnss_wlfw_process_twt_cfg_ind(struct qmi_handle *qmi_wlfw, struct cnss_plat_data *plat_priv = container_of(qmi_wlfw, struct cnss_plat_data, qmi_wlfw); const struct wlfw_wfc_call_twt_config_ind_msg_v01 *ind_msg = data; struct wlfw_wfc_call_twt_config_ind_msg_v01 *event_data; if (!txn) { cnss_pr_err("FW->CNSS: TWT_CFG_IND: Spurious indication\n"); Loading @@ -2142,7 +2154,11 @@ static void cnss_wlfw_process_twt_cfg_ind(struct qmi_handle *qmi_wlfw, ind_msg->twt_sta_config_changed_valid, ind_msg->twt_sta_config_changed); cnss_ims_wfc_call_twt_cfg_send_sync(plat_priv, ind_msg); event_data = kmemdup(ind_msg, sizeof(*event_data), GFP_KERNEL); if (!event_data) return; cnss_driver_event_post(plat_priv, CNSS_DRIVER_EVENT_WLFW_TWT_CFG_IND, 0, event_data); } static struct qmi_msg_handler qmi_wlfw_msg_handlers[] = { Loading Loading @@ -2855,6 +2871,17 @@ static void ims_subscribe_for_indication_resp_cb(struct qmi_handle *qmi, } } int cnss_process_wfc_call_ind_event(struct cnss_plat_data *plat_priv, void *data) { int ret; struct ims_private_service_wfc_call_status_ind_msg_v01 *ind_msg = data; ret = cnss_wlfw_wfc_call_status_send_sync(plat_priv, ind_msg); kfree(data); return ret; } static void cnss_ims_process_wfc_call_ind_cb(struct qmi_handle *ims_qmi, struct sockaddr_qrtr *sq, Loading @@ -2864,6 +2891,7 @@ cnss_ims_process_wfc_call_ind_cb(struct qmi_handle *ims_qmi, container_of(ims_qmi, struct cnss_plat_data, ims_qmi); const struct ims_private_service_wfc_call_status_ind_msg_v01 *ind_msg = data; struct ims_private_service_wfc_call_status_ind_msg_v01 *event_data; if (!txn) { cnss_pr_err("IMS->CNSS: WFC_CALL_IND: Spurious indication\n"); Loading @@ -2882,7 +2910,11 @@ cnss_ims_process_wfc_call_ind_cb(struct qmi_handle *ims_qmi, ind_msg->twt_ims_int_valid, ind_msg->twt_ims_int, ind_msg->media_quality_valid, ind_msg->media_quality); cnss_wlfw_wfc_call_status_send_sync(plat_priv, ind_msg); event_data = kmemdup(ind_msg, sizeof(*event_data), GFP_KERNEL); if (!event_data) return; cnss_driver_event_post(plat_priv, CNSS_DRIVER_EVENT_IMS_WFC_CALL_IND, 0, event_data); } static struct qmi_msg_handler qmi_ims_msg_handlers[] = { Loading
drivers/net/wireless/cnss2/qmi.h +18 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,10 @@ int cnss_wlfw_antenna_grant_send_sync(struct cnss_plat_data *plat_priv); int cnss_wlfw_dynamic_feature_mask_send_sync(struct cnss_plat_data *plat_priv); int cnss_wlfw_get_info_send_sync(struct cnss_plat_data *plat_priv, int type, void *cmd, int cmd_len); int cnss_process_wfc_call_ind_event(struct cnss_plat_data *plat_priv, void *data); int cnss_process_twt_cfg_ind_event(struct cnss_plat_data *plat_priv, void *data); int cnss_register_coex_service(struct cnss_plat_data *plat_priv); void cnss_unregister_coex_service(struct cnss_plat_data *plat_priv); int coex_antenna_switch_to_wlan_send_sync_msg(struct cnss_plat_data *plat_priv); Loading Loading @@ -191,6 +195,20 @@ int cnss_wlfw_get_info_send_sync(struct cnss_plat_data *plat_priv, int type, return 0; } static inline int cnss_process_wfc_call_ind_event(struct cnss_plat_data *plat_priv, void *data) { return 0; } static inline int cnss_process_twt_cfg_ind_event(struct cnss_plat_data *plat_priv, void *data) { return 0; } static inline int cnss_register_coex_service(struct cnss_plat_data *plat_priv) { Loading