diff --git a/core/dp/txrx/ol_rx_defrag.c b/core/dp/txrx/ol_rx_defrag.c index 2ae467d94e02..a11ac5bf2585 100644 --- a/core/dp/txrx/ol_rx_defrag.c +++ b/core/dp/txrx/ol_rx_defrag.c @@ -61,7 +61,6 @@ #include #include #include -#include #include #include #include diff --git a/core/dp/txrx/ol_rx_reorder.c b/core/dp/txrx/ol_rx_reorder.c index aa1fe958169f..a3dab80eaed9 100644 --- a/core/dp/txrx/ol_rx_reorder.c +++ b/core/dp/txrx/ol_rx_reorder.c @@ -30,8 +30,6 @@ #include /* qdf_nbuf_t, etc. */ #include /* qdf_mem_malloc */ -#include /* IEEE80211_SEQ_MAX */ - /* external interfaces */ #include /* ol_txrx_pdev_handle */ #include /* ol_rx_addba_handler, etc. */ diff --git a/core/dp/txrx/ol_tx_send.c b/core/dp/txrx/ol_tx_send.c index d350cd949a69..b8e305f1f5e1 100644 --- a/core/dp/txrx/ol_tx_send.c +++ b/core/dp/txrx/ol_tx_send.c @@ -33,7 +33,6 @@ #include /* TAILQ */ #ifdef QCA_COMPUTE_TX_DELAY -#include /* ieee80211_frame, etc. */ #include /* ethernet_hdr_t, etc. */ #include /* ipv6_traffic_class */ #endif diff --git a/core/dp/txrx/ol_txrx_encap.c b/core/dp/txrx/ol_txrx_encap.c index 8895aae731eb..7c20bb55a192 100644 --- a/core/dp/txrx/ol_txrx_encap.c +++ b/core/dp/txrx/ol_txrx_encap.c @@ -37,7 +37,6 @@ #include /* qdf_nbuf_t, etc. */ #include /* ieee80211_frame */ -#include /* struct llc, struct ether_header, etc. */ #include /* TXRX_ASSERT1 */ #include /* struct ol_rx_decap_info_t */ diff --git a/core/dp/txrx/ol_txrx_internal.h b/core/dp/txrx/ol_txrx_internal.h index 9506f4462bf2..d5e75b9861e8 100644 --- a/core/dp/txrx/ol_txrx_internal.h +++ b/core/dp/txrx/ol_txrx_internal.h @@ -39,7 +39,6 @@ #include #include /* ETHERNET_HDR_LEN, etc. */ #include /* IPV4_HDR_LEN, etc. */ -#include /* IPV6_HDR_LEN, etc. */ #include /* IP_PROTOCOL_TCP, etc. */ #ifdef ATH_11AC_TXCOMPACT diff --git a/core/dp/txrx/ol_txrx_ipa.c b/core/dp/txrx/ol_txrx_ipa.c index a7f0a29bbc5d..56543ab70873 100644 --- a/core/dp/txrx/ol_txrx_ipa.c +++ b/core/dp/txrx/ol_txrx_ipa.c @@ -303,39 +303,45 @@ QDF_STATUS ol_txrx_ipa_setup(struct cdp_pdev *ppdev, void *ipa_i2w_cb, { ol_txrx_pdev_handle pdev = (ol_txrx_pdev_handle)ppdev; struct ol_txrx_ipa_resources *ipa_res = &pdev->ipa_resource; - struct ipa_wdi_in_params pipe_in; - struct ipa_wdi_out_params pipe_out; + qdf_ipa_wdi_in_params_t pipe_in; + qdf_ipa_wdi_out_params_t pipe_out; + int ret; - qdf_mem_zero(&pipe_in, sizeof(struct ipa_wdi_in_params)); - qdf_mem_zero(&pipe_out, sizeof(struct ipa_wdi_out_params)); + qdf_mem_zero(&pipe_in, sizeof(pipe_in)); + qdf_mem_zero(&pipe_out, sizeof(pipe_out)); + /* TX PIPE */ - pipe_in.sys.ipa_ep_cfg.nat.nat_en = IPA_BYPASS_NAT; - pipe_in.sys.ipa_ep_cfg.hdr.hdr_len = OL_TXRX_IPA_UC_WLAN_TX_HDR_LEN; - pipe_in.sys.ipa_ep_cfg.hdr.hdr_ofst_pkt_size_valid = 1; - pipe_in.sys.ipa_ep_cfg.hdr.hdr_ofst_pkt_size = 0; - pipe_in.sys.ipa_ep_cfg.hdr.hdr_additional_const_len = + QDF_IPA_PIPE_IN_NAT_EN(&pipe_in) = IPA_BYPASS_NAT; + QDF_IPA_PIPE_IN_HDR_LEN(&pipe_in) = OL_TXRX_IPA_UC_WLAN_TX_HDR_LEN; + QDF_IPA_PIPE_IN_HDR_OFST_PKT_SIZE_VALID(&pipe_in) = 1; + QDF_IPA_PIPE_IN_HDR_OFST_PKT_SIZE(&pipe_in) = 0; + QDF_IPA_PIPE_IN_HDR_ADDITIONAL_CONST_LEN(&pipe_in) = OL_TXRX_IPA_UC_WLAN_8023_HDR_SIZE; - pipe_in.sys.ipa_ep_cfg.mode.mode = IPA_BASIC; - pipe_in.sys.client = IPA_CLIENT_WLAN1_CONS; - pipe_in.sys.desc_fifo_sz = ipa_desc_size; - pipe_in.sys.priv = ipa_priv; - pipe_in.sys.ipa_ep_cfg.hdr_ext.hdr_little_endian = true; - pipe_in.sys.notify = ipa_i2w_cb; + QDF_IPA_PIPE_IN_MODE(&pipe_in) = IPA_BASIC; + QDF_IPA_PIPE_IN_CLIENT(&pipe_in) = IPA_CLIENT_WLAN1_CONS; + QDF_IPA_PIPE_IN_DESC_FIFO_SZ(&pipe_in) = ipa_desc_size; + QDF_IPA_PIPE_IN_PRIV(&pipe_in) = ipa_priv; + QDF_IPA_PIPE_IN_HDR_LITTLE_ENDIAN(&pipe_in) = true; + QDF_IPA_PIPE_IN_NOTIFY(&pipe_in) = ipa_i2w_cb; + if (!is_rm_enabled) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, "%s: IPA RM DISABLED, IPA AWAKE", __func__); - pipe_in.sys.keep_ipa_awake = true; + QDF_IPA_PIPE_IN_KEEP_IPA_AWAKE(&pipe_in) = true; } - pipe_in.u.dl.comp_ring_base_pa = ipa_res->tx_comp_ring_base_paddr; - pipe_in.u.dl.comp_ring_size = ipa_res->tx_comp_ring_size * - sizeof(qdf_dma_addr_t); - pipe_in.u.dl.ce_ring_base_pa = ipa_res->ce_sr_base_paddr; - pipe_in.u.dl.ce_door_bell_pa = ipa_res->ce_reg_paddr; - pipe_in.u.dl.ce_ring_size = ipa_res->ce_sr_ring_size; - pipe_in.u.dl.num_tx_buffers = ipa_res->tx_num_alloc_buffer; + QDF_IPA_PIPE_IN_DL_COMP_RING_BASE_PA(&pipe_in) = + ipa_res->tx_comp_ring_base_paddr; + QDF_IPA_PIPE_IN_DL_COMP_RING_SIZE(&pipe_in) = + ipa_res->tx_comp_ring_size * sizeof(qdf_dma_addr_t); + QDF_IPA_PIPE_IN_DL_CE_RING_BASE_PA(&pipe_in) = + ipa_res->ce_sr_base_paddr; + QDF_IPA_PIPE_IN_DL_CE_DOOR_BELL_PA(&pipe_in) = ipa_res->ce_reg_paddr; + QDF_IPA_PIPE_IN_DL_CE_RING_SIZE(&pipe_in) = ipa_res->ce_sr_ring_size; + QDF_IPA_PIPE_IN_DL_NUM_TX_BUFFERS(&pipe_in) = + ipa_res->tx_num_alloc_buffer; /* Connect WDI IPA PIPE */ ret = ipa_connect_wdi_pipe(&pipe_in, &pipe_out); @@ -347,52 +353,56 @@ QDF_STATUS ol_txrx_ipa_setup(struct cdp_pdev *ppdev, void *ipa_i2w_cb, /* Micro Controller Doorbell register */ QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, - "%s CONS DB pipe out 0x%x TX PIPE Handle 0x%x", - __func__, (unsigned int)pipe_out.uc_door_bell_pa, + "%s CONS DB pipe out 0x%x TX PIPE Handle 0x%x", __func__, + (unsigned int)QDF_IPA_PIPE_OUT_UC_DOOR_BELL_PA(&pipe_out), pipe_out.clnt_hdl); - ipa_res->tx_comp_doorbell_paddr = pipe_out.uc_door_bell_pa; + ipa_res->tx_comp_doorbell_paddr = + QDF_IPA_PIPE_OUT_UC_DOOR_BELL_PA(&pipe_out); /* WLAN TX PIPE Handle */ - ipa_res->tx_pipe_handle = pipe_out.clnt_hdl; - *p_tx_pipe_handle = pipe_out.clnt_hdl; + ipa_res->tx_pipe_handle = QDF_IPA_PIPE_OUT_CLNT_HDL(&pipe_out); + *p_tx_pipe_handle = QDF_IPA_PIPE_OUT_CLNT_HDL(&pipe_out); QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, "TX: %s 0x%x, %s %d, %s 0x%x, %s 0x%x, %s %d, %sNB %d, %s 0x%x", "comp_ring_base_pa", - (unsigned int)pipe_in.u.dl.comp_ring_base_pa, + (unsigned int)QDF_IPA_PIPE_IN_DL_COMP_RING_BASE_PA(&pipe_in), "comp_ring_size", - pipe_in.u.dl.comp_ring_size, + QDF_IPA_PIPE_IN_DL_COMP_RING_SIZE(&pipe_in), "ce_ring_base_pa", - (unsigned int)pipe_in.u.dl.ce_ring_base_pa, + (unsigned int)QDF_IPA_PIPE_IN_DL_CE_RING_BASE_PA(&pipe_in), "ce_door_bell_pa", - (unsigned int)pipe_in.u.dl.ce_door_bell_pa, + (unsigned int)QDF_IPA_PIPE_IN_DL_CE_DOOR_BELL_PA(&pipe_in), "ce_ring_size", - pipe_in.u.dl.ce_ring_size, + QDF_IPA_PIPE_IN_DL_CE_RING_SIZE(&pipe_in), "num_tx_buffers", - pipe_in.u.dl.num_tx_buffers, + QDF_IPA_PIPE_IN_DL_NUM_TX_BUFFERS(&pipe_in), "tx_comp_doorbell_paddr", (unsigned int)ipa_res->tx_comp_doorbell_paddr); /* RX PIPE */ - pipe_in.sys.ipa_ep_cfg.nat.nat_en = IPA_BYPASS_NAT; - pipe_in.sys.ipa_ep_cfg.hdr.hdr_len = OL_TXRX_IPA_UC_WLAN_RX_HDR_LEN; - pipe_in.sys.ipa_ep_cfg.hdr.hdr_ofst_metadata_valid = 0; - pipe_in.sys.ipa_ep_cfg.hdr.hdr_metadata_reg_valid = 1; - pipe_in.sys.ipa_ep_cfg.mode.mode = IPA_BASIC; - pipe_in.sys.client = IPA_CLIENT_WLAN1_PROD; - pipe_in.sys.desc_fifo_sz = ipa_desc_size + sizeof(struct sps_iovec); - pipe_in.sys.notify = ipa_w2i_cb; + QDF_IPA_PIPE_IN_NAT_EN(&pipe_in) = IPA_BYPASS_NAT; + QDF_IPA_PIPE_IN_HDR_LEN(&pipe_in) = OL_TXRX_IPA_UC_WLAN_RX_HDR_LEN; + QDF_IPA_PIPE_IN_HDR_OFST_METADATA_VALID(&pipe_in) = 0; + QDF_IPA_PIPE_IN_HDR_METADATA_REG_VALID(&pipe_in) = 1; + QDF_IPA_PIPE_IN_MODE(&pipe_in) = IPA_BASIC; + QDF_IPA_PIPE_IN_CLIENT(&pipe_in) = IPA_CLIENT_WLAN1_PROD; + QDF_IPA_PIPE_IN_DESC_FIFO_SZ(&pipe_in) = + ipa_desc_size + sizeof(struct sps_iovec); + QDF_IPA_PIPE_IN_NOTIFY(&pipe_in) = ipa_w2i_cb; if (!is_rm_enabled) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "%s: IPA RM DISABLED, IPA AWAKE", __func__); - pipe_in.sys.keep_ipa_awake = true; + QDF_IPA_PIPE_IN_KEEP_IPA_AWAKE(&pipe_in) = true; } - pipe_in.u.ul.rdy_ring_base_pa = ipa_res->rx_rdy_ring_base_paddr; - pipe_in.u.ul.rdy_ring_size = ipa_res->rx_rdy_ring_size; - pipe_in.u.ul.rdy_ring_rp_pa = ipa_res->rx_proc_done_idx_paddr; + QDF_IPA_PIPE_IN_UL_RDY_RING_BASE_PA(&pipe_in) = + ipa_res->rx_rdy_ring_base_paddr; + QDF_IPA_PIPE_IN_UL_RDY_RING_SIZE(&pipe_in) = ipa_res->rx_rdy_ring_size; + QDF_IPA_PIPE_IN_UL_RDY_RING_RP_PA(&pipe_in) = + ipa_res->rx_proc_done_idx_paddr; OL_TXRX_IPA_WDI2_SET(pipe_in, ipa_res); #ifdef FEATURE_METERING - pipe_in.wdi_notify = ipa_wdi_meter_notifier_cb; + QDF_IPA_PIPE_IN_WDI_NOTIFY(&pipe_in) = ipa_wdi_meter_notifier_cb; #endif ret = ipa_connect_wdi_pipe(&pipe_in, &pipe_out); @@ -401,17 +411,18 @@ QDF_STATUS ol_txrx_ipa_setup(struct cdp_pdev *ppdev, void *ipa_i2w_cb, "ipa_connect_wdi_pipe: Rx pipe setup failed: ret=%d", ret); return QDF_STATUS_E_FAILURE; } - ipa_res->rx_ready_doorbell_paddr = pipe_out.uc_door_bell_pa; - ipa_res->rx_pipe_handle = pipe_out.clnt_hdl; - *p_rx_pipe_handle = pipe_out.clnt_hdl; + ipa_res->rx_ready_doorbell_paddr = + QDF_IPA_PIPE_OUT_UC_DOOR_BELL_PA(&pipe_out); + ipa_res->rx_pipe_handle = QDF_IPA_PIPE_OUT_CLNT_HDL(&pipe_out); + *p_rx_pipe_handle = QDF_IPA_PIPE_OUT_CLNT_HDL(&pipe_out); QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, "RX: %s 0x%x, %s %d, %s 0x%x, %s 0x%x", "rdy_ring_base_pa", - (unsigned int)pipe_in.u.ul.rdy_ring_base_pa, + (unsigned int)QDF_IPA_PIPE_IN_UL_RDY_RING_BASE_PA(&pipe_in), "rdy_ring_size", - pipe_in.u.ul.rdy_ring_size, + QDF_IPA_PIPE_IN_UL_RDY_RING_SIZE(&pipe_in), "rdy_ring_rp_pa", - (unsigned int)pipe_in.u.ul.rdy_ring_rp_pa, + (unsigned int)QDF_IPA_PIPE_IN_UL_RDY_RING_RP_PA(&pipe_in), "rx_ready_doorbell_paddr", (unsigned int)ipa_res->rx_ready_doorbell_paddr); @@ -462,13 +473,13 @@ QDF_STATUS ol_txrx_ipa_cleanup(uint32_t tx_pipe_handle, uint32_t rx_pipe_handle) */ static QDF_STATUS ol_txrx_ipa_remove_header(char *name) { - struct ipa_ioc_get_hdr hdrlookup; + qdf_ipa_ioc_get_hdr_t hdrlookup; int ret = 0, len; - struct ipa_ioc_del_hdr *ipa_hdr; + qdf_ipa_ioc_del_hdr_t *ipa_hdr; qdf_mem_zero(&hdrlookup, sizeof(hdrlookup)); strlcpy(hdrlookup.name, name, sizeof(hdrlookup.name)); - ret = ipa_get_hdr(&hdrlookup); + ret = qdf_ipa_get_hdr(&hdrlookup); if (ret) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, "Hdr deleted already %s, %d", name, ret); @@ -477,18 +488,18 @@ static QDF_STATUS ol_txrx_ipa_remove_header(char *name) QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, "hdl: 0x%x", hdrlookup.hdl); - len = sizeof(struct ipa_ioc_del_hdr) + sizeof(struct ipa_hdr_del) * 1; - ipa_hdr = (struct ipa_ioc_del_hdr *)qdf_mem_malloc(len); + len = sizeof(qdf_ipa_ioc_del_hdr_t) + sizeof(qdf_ipa_hdr_del_t) * 1; + ipa_hdr = (qdf_ipa_ioc_del_hdr_t *)qdf_mem_malloc(len); if (ipa_hdr == NULL) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "ipa_hdr allocation failed"); return QDF_STATUS_E_FAILURE; } - ipa_hdr->num_hdls = 1; - ipa_hdr->commit = 0; - ipa_hdr->hdl[0].hdl = hdrlookup.hdl; - ipa_hdr->hdl[0].status = -1; - ret = ipa_del_hdr(ipa_hdr); + QDF_IPA_IOC_DEL_HDR_NUM_HDRS(ipa_hdr) = 1; + QDF_IPA_IOC_DEL_HDR_COMMIT(ipa_hdr) = 0; + QDF_IPA_IOC_DEL_HDR_HDL(ipa_hdr) = QDF_IPA_IOC_GET_HDR_HDL(&hdrlookup); + QDF_IPA_IOC_DEL_HDR_STATUS(ipa_hdr) = -1; + ret = qdf_ipa_del_hdr(ipa_hdr); if (ret != 0) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "Delete header failed: %d", ret); @@ -511,7 +522,7 @@ static QDF_STATUS ol_txrx_ipa_remove_header(char *name) static int ol_txrx_ipa_add_header_info(char *ifname, uint8_t *mac_addr, uint8_t session_id, bool is_ipv6_enabled) { - struct ipa_ioc_add_hdr *ipa_hdr = NULL; + qdf_ipa_ioc_add_hdr_t *ipa_hdr = NULL; int ret = -EINVAL; struct ol_txrx_ipa_uc_tx_hdr *uc_tx_hdr = NULL; @@ -519,8 +530,8 @@ static int ol_txrx_ipa_add_header_info(char *ifname, uint8_t *mac_addr, "Add Partial hdr: %s, %pM", ifname, mac_addr); /* dynamically allocate the memory to add the hdrs */ - ipa_hdr = qdf_mem_malloc(sizeof(struct ipa_ioc_add_hdr) - + sizeof(struct ipa_hdr_add)); + ipa_hdr = qdf_mem_malloc(sizeof(qdf_ipa_ioc_add_hdr_t) + + sizeof(qdf_ipa_hdr_add_t)); if (!ipa_hdr) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "%s: ipa_hdr allocation failed", ifname); @@ -528,26 +539,28 @@ static int ol_txrx_ipa_add_header_info(char *ifname, uint8_t *mac_addr, goto end; } - ipa_hdr->commit = 0; - ipa_hdr->num_hdrs = 1; + QDF_IPA_IOC_ADD_HDR_COMMIT(ipa_hdr) = 0; + QDF_IPA_IOC_ADD_HDR_NUM_HDRS(ipa_hdr) = 1; - uc_tx_hdr = (struct ol_txrx_ipa_uc_tx_hdr *)ipa_hdr->hdr[0].hdr; + uc_tx_hdr = (struct ol_txrx_ipa_uc_tx_hdr *) + QDF_IPA_IOC_ADD_HDR_HDR(ipa_hdr); memcpy(uc_tx_hdr, &ipa_uc_tx_hdr, OL_TXRX_IPA_UC_WLAN_TX_HDR_LEN); memcpy(uc_tx_hdr->eth.h_source, mac_addr, ETH_ALEN); uc_tx_hdr->ipa_hd.vdev_id = session_id; QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, "ifname=%s, vdev_id=%d", ifname, uc_tx_hdr->ipa_hd.vdev_id); - snprintf(ipa_hdr->hdr[0].name, IPA_RESOURCE_NAME_MAX, "%s%s", - ifname, OL_TXRX_IPA_IPV4_NAME_EXT); - ipa_hdr->hdr[0].hdr_len = OL_TXRX_IPA_UC_WLAN_TX_HDR_LEN; - ipa_hdr->hdr[0].type = IPA_HDR_L2_ETHERNET_II; - ipa_hdr->hdr[0].is_partial = 1; - ipa_hdr->hdr[0].hdr_hdl = 0; - ipa_hdr->hdr[0].is_eth2_ofst_valid = 1; - ipa_hdr->hdr[0].eth2_ofst = OL_TXRX_IPA_UC_WLAN_HDR_DES_MAC_OFFSET; + snprintf(QDF_IPA_IOC_ADD_HDR_NAME(ipa_hdr), IPA_RESOURCE_NAME_MAX, + "%s%s", ifname, OL_TXRX_IPA_IPV4_NAME_EXT); + QDF_IPA_IOC_ADD_HDR_HDR_LEN(ipa_hdr) = OL_TXRX_IPA_UC_WLAN_TX_HDR_LEN; + QDF_IPA_IOC_ADD_HDR_TYPE(ipa_hdr) = IPA_HDR_L2_ETHERNET_II; + QDF_IPA_IOC_ADD_HDR_IS_PARTIAL(ipa_hdr) = 1; + QDF_IPA_IOC_ADD_HDR_HDR_HDL(ipa_hdr) = 0; + QDF_IPA_IOC_ADD_HDR_IS_ETH2_OFST_VALID(ipa_hdr) = 1; + QDF_IPA_IOC_ADD_HDR_ETH2_OFST(ipa_hdr) = + OL_TXRX_IPA_UC_WLAN_HDR_DES_MAC_OFFSET; - ret = ipa_add_hdr(ipa_hdr); + ret = qdf_ipa_add_hdr(ipa_hdr); if (ret) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "%s IPv4 add hdr failed: %d", ifname, ret); @@ -555,17 +568,20 @@ static int ol_txrx_ipa_add_header_info(char *ifname, uint8_t *mac_addr, } QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, - "%s: IPv4 hdr_hdl: 0x%x", - ipa_hdr->hdr[0].name, ipa_hdr->hdr[0].hdr_hdl); + "%s: IPv4 hdr_hdl: 0x%x", + QDF_IPA_IOC_ADD_HDR_NAME(ipa_hdr), + QDF_IPA_IOC_ADD_HDR_HDR_HDL(ipa_hdr)); if (is_ipv6_enabled) { - snprintf(ipa_hdr->hdr[0].name, IPA_RESOURCE_NAME_MAX, "%s%s", + snprintf(QDF_IPA_IOC_ADD_HDR_NAME(ipa_hdr), + IPA_RESOURCE_NAME_MAX, "%s%s", ifname, OL_TXRX_IPA_IPV6_NAME_EXT); - uc_tx_hdr = (struct ol_txrx_ipa_uc_tx_hdr *)ipa_hdr->hdr[0].hdr; + uc_tx_hdr = (struct ol_txrx_ipa_uc_tx_hdr *) + QDF_IPA_IOC_ADD_HDR_HDR(ipa_hdr); uc_tx_hdr->eth.h_proto = cpu_to_be16(ETH_P_IPV6); - ret = ipa_add_hdr(ipa_hdr); + ret = qdf_ipa_add_hdr(ipa_hdr); if (ret) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "%s: IPv6 add hdr failed: %d", ifname, ret); @@ -573,8 +589,9 @@ static int ol_txrx_ipa_add_header_info(char *ifname, uint8_t *mac_addr, } QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, - "%s: IPv6 hdr_hdl: 0x%x", - ipa_hdr->hdr[0].name, ipa_hdr->hdr[0].hdr_hdl); + "%s: IPv6 hdr_hdl: 0x%x", + QDF_IPA_IOC_ADD_HDR_NAME(ipa_hdr), + QDF_IPA_IOC_ADD_HDR_HDR_HDL(ipa_hdr)); } qdf_mem_free(ipa_hdr); @@ -603,15 +620,15 @@ end: * Return: 0 on success, negative errno on error */ static int ol_txrx_ipa_register_interface(char *ifname, - enum ipa_client_type prod_client, - enum ipa_client_type cons_client, + qdf_ipa_client_type_t prod_client, + qdf_ipa_client_type_t cons_client, uint8_t session_id, bool is_ipv6_enabled) { - struct ipa_tx_intf tx_intf; - struct ipa_rx_intf rx_intf; - struct ipa_ioc_tx_intf_prop *tx_prop = NULL; - struct ipa_ioc_rx_intf_prop *rx_prop = NULL; + qdf_ipa_tx_intf_t tx_intf; + qdf_ipa_rx_intf_t rx_intf; + qdf_ipa_ioc_tx_intf_prop_t *tx_prop = NULL; + qdf_ipa_ioc_rx_intf_prop_t *rx_prop = NULL; char ipv4_hdr_name[IPA_RESOURCE_NAME_MAX]; char ipv6_hdr_name[IPA_RESOURCE_NAME_MAX]; @@ -624,7 +641,7 @@ static int ol_txrx_ipa_register_interface(char *ifname, /* Allocate TX properties for TOS categories, 1 each for IPv4 & IPv6 */ tx_prop = - qdf_mem_malloc(sizeof(struct ipa_ioc_tx_intf_prop) * num_prop); + qdf_mem_malloc(sizeof(qdf_ipa_ioc_tx_intf_prop_t) * num_prop); if (!tx_prop) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "tx_prop allocation failed"); @@ -633,7 +650,7 @@ static int ol_txrx_ipa_register_interface(char *ifname, /* Allocate RX properties, 1 each for IPv4 & IPv6 */ rx_prop = - qdf_mem_malloc(sizeof(struct ipa_ioc_rx_intf_prop) * num_prop); + qdf_mem_malloc(sizeof(qdf_ipa_ioc_rx_intf_prop_t) * num_prop); if (!rx_prop) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "rx_prop allocation failed"); @@ -648,52 +665,65 @@ static int ol_txrx_ipa_register_interface(char *ifname, snprintf(ipv6_hdr_name, IPA_RESOURCE_NAME_MAX, "%s%s", ifname, OL_TXRX_IPA_IPV6_NAME_EXT); - rx_prop[IPA_IP_v4].ip = IPA_IP_v4; - rx_prop[IPA_IP_v4].src_pipe = prod_client; - rx_prop[IPA_IP_v4].hdr_l2_type = IPA_HDR_L2_ETHERNET_II; - rx_prop[IPA_IP_v4].attrib.attrib_mask = IPA_FLT_META_DATA; + QDF_IPA_IOC_RX_INTF_PROP_IP(&rx_prop[IPA_IP_v4]) = IPA_IP_v4; + QDF_IPA_IOC_RX_INTF_PROP_SRC_PIPE(&rx_prop[IPA_IP_v4]) = prod_client; + QDF_IPA_IOC_RX_INTF_PROP_HDR_L2_TYPE(&rx_prop[IPA_IP_v4]) = + IPA_HDR_L2_ETHERNET_II; + QDF_IPA_IOC_RX_INTF_PROP_ATTRIB_MASK(&rx_prop[IPA_IP_v4]) = + IPA_FLT_META_DATA; /* * Interface ID is 3rd byte in the CLD header. Add the meta data and * mask to identify the interface in IPA hardware */ - rx_prop[IPA_IP_v4].attrib.meta_data = + QDF_IPA_IOC_RX_INTF_PROP_META_DATA(&rx_prop[IPA_IP_v4]) = htonl(session_id << 16); - rx_prop[IPA_IP_v4].attrib.meta_data_mask = htonl(0x00FF0000); + QDF_IPA_IOC_RX_INTF_PROP_META_DATA_MASK(&rx_prop[IPA_IP_v4]) = + htonl(0x00FF0000); rx_intf.num_props++; if (is_ipv6_enabled) { - rx_prop[IPA_IP_v6].ip = IPA_IP_v6; - rx_prop[IPA_IP_v6].src_pipe = prod_client; - rx_prop[IPA_IP_v6].hdr_l2_type = IPA_HDR_L2_ETHERNET_II; - rx_prop[IPA_IP_v6].attrib.attrib_mask = IPA_FLT_META_DATA; - rx_prop[IPA_IP_v6].attrib.meta_data = + QDF_IPA_IOC_RX_INTF_PROP_IP(&rx_prop[IPA_IP_v6]) = IPA_IP_v6; + QDF_IPA_IOC_RX_INTF_PROP_SRC_PIPE(&rx_prop[IPA_IP_v6]) = + prod_client; + QDF_IPA_IOC_RX_INTF_PROP_HDR_L2_TYPE(&rx_prop[IPA_IP_v6]) = + IPA_HDR_L2_ETHERNET_II; + QDF_IPA_IOC_RX_INTF_PROP_ATTRIB_MASK(&rx_prop[IPA_IP_v6]) = + IPA_FLT_META_DATA; + QDF_IPA_IOC_RX_INTF_PROP_META_DATA(&rx_prop[IPA_IP_v6]) = htonl(session_id << 16); - rx_prop[IPA_IP_v4].attrib.meta_data_mask = htonl(0x00FF0000); + QDF_IPA_IOC_RX_INTF_PROP_META_DATA_MASK(&rx_prop[IPA_IP_v6]) = + htonl(0x00FF0000); rx_intf.num_props++; } - tx_prop[IPA_IP_v4].ip = IPA_IP_v4; - tx_prop[IPA_IP_v4].hdr_l2_type = IPA_HDR_L2_ETHERNET_II; - tx_prop[IPA_IP_v4].dst_pipe = IPA_CLIENT_WLAN1_CONS; - tx_prop[IPA_IP_v4].alt_dst_pipe = cons_client; - strlcpy(tx_prop[IPA_IP_v4].hdr_name, ipv4_hdr_name, - IPA_RESOURCE_NAME_MAX); + QDF_IPA_IOC_TX_INTF_PROP_IP(&tx_prop[IPA_IP_v4]) = IPA_IP_v4; + QDF_IPA_IOC_TX_INTF_PROP_HDR_L2_TYPE(&tx_prop[IPA_IP_v4]) = + IPA_HDR_L2_ETHERNET_II; + QDF_IPA_IOC_TX_INTF_PROP_DST_PIPE(&tx_prop[IPA_IP_v4]) = + IPA_CLIENT_WLAN1_CONS; + QDF_IPA_IOC_TX_INTF_PROP_ALT_DST_PIPE(&tx_prop[IPA_IP_v4]) = + cons_client; + strlcpy(QDF_IPA_IOC_TX_INTF_PROP_HDR_NAME(&tx_prop[IPA_IP_v4]), + ipv4_hdr_name, IPA_RESOURCE_NAME_MAX); tx_intf.num_props++; if (is_ipv6_enabled) { - tx_prop[IPA_IP_v6].ip = IPA_IP_v6; - tx_prop[IPA_IP_v6].hdr_l2_type = IPA_HDR_L2_ETHERNET_II; - tx_prop[IPA_IP_v6].dst_pipe = IPA_CLIENT_WLAN1_CONS; - tx_prop[IPA_IP_v6].alt_dst_pipe = cons_client; - strlcpy(tx_prop[IPA_IP_v6].hdr_name, ipv6_hdr_name, - IPA_RESOURCE_NAME_MAX); + QDF_IPA_IOC_TX_INTF_PROP_IP(&tx_prop[IPA_IP_v6]) = IPA_IP_v6; + QDF_IPA_IOC_TX_INTF_PROP_HDR_L2_TYPE(&tx_prop[IPA_IP_v6]) = + IPA_HDR_L2_ETHERNET_II; + QDF_IPA_IOC_TX_INTF_PROP_DST_PIPE(&tx_prop[IPA_IP_v6]) = + IPA_CLIENT_WLAN1_CONS; + QDF_IPA_IOC_TX_INTF_PROP_ALT_DST_PIPE(&tx_prop[IPA_IP_v6]) = + cons_client; + strlcpy(QDF_IPA_IOC_TX_INTF_PROP_HDR_NAME(&tx_prop[IPA_IP_v6]), + ipv6_hdr_name, IPA_RESOURCE_NAME_MAX); tx_intf.num_props++; } - tx_intf.prop = tx_prop; - rx_intf.prop = rx_prop; + QDF_IPA_TX_INTF_PROP(&tx_intf) = tx_prop; + QDF_IPA_RX_INTF_PROP(&rx_intf) = rx_prop; /* Call the ipa api to register interface */ ret = ipa_register_intf(ifname, &tx_intf, &rx_intf); @@ -716,8 +746,8 @@ register_interface_fail: * Return: QDF_STATUS */ QDF_STATUS ol_txrx_ipa_setup_iface(char *ifname, uint8_t *mac_addr, - enum ipa_client_type prod_client, - enum ipa_client_type cons_client, + qdf_ipa_client_type_t prod_client, + qdf_ipa_client_type_t cons_client, uint8_t session_id, bool is_ipv6_enabled) { int ret; @@ -728,7 +758,9 @@ QDF_STATUS ol_txrx_ipa_setup_iface(char *ifname, uint8_t *mac_addr, return QDF_STATUS_E_FAILURE; /* Configure the TX and RX pipes filter rules */ - ret = ol_txrx_ipa_register_interface(ifname, prod_client, cons_client, + ret = ol_txrx_ipa_register_interface(ifname, + prod_client, + cons_client, session_id, is_ipv6_enabled); if (ret) return QDF_STATUS_E_FAILURE; @@ -759,7 +791,7 @@ QDF_STATUS ol_txrx_ipa_cleanup_iface(char *ifname, bool is_ipv6_enabled) ol_txrx_ipa_remove_header(name_ipa); } /* unregister the interface with IPA */ - ret = ipa_deregister_intf(ifname); + ret = qdf_ipa_deregister_intf(ifname); if (ret) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, "%s: ipa_deregister_intf fail: %d", @@ -885,11 +917,12 @@ QDF_STATUS ol_txrx_ipa_disable_pipes(struct cdp_pdev *ppdev) QDF_STATUS ol_txrx_ipa_set_perf_level(int client, uint32_t max_supported_bw_mbps) { - struct ipa_rm_perf_profile profile; + qdf_ipa_rm_perf_profile_t profile; int result; - profile.max_supported_bandwidth_mbps = max_supported_bw_mbps; - result = ipa_rm_set_perf_profile(client, &profile); + QDF_IPA_RM_PERF_PROFILE_MAX_SUPPORTED_BANDWIDTH_MBPS(&profile) = + max_supported_bw_mbps; + result = qdf_ipa_rm_set_perf_profile(client, &profile); if (result) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, diff --git a/core/dp/txrx/ol_txrx_ipa.h b/core/dp/txrx/ol_txrx_ipa.h index 3d45180150e7..c846a26752c0 100644 --- a/core/dp/txrx/ol_txrx_ipa.h +++ b/core/dp/txrx/ol_txrx_ipa.h @@ -117,8 +117,8 @@ QDF_STATUS ol_txrx_ipa_setup(struct cdp_pdev *pdev, void *ipa_i2w_cb, QDF_STATUS ol_txrx_ipa_cleanup(uint32_t tx_pipe_handle, uint32_t rx_pipe_handle); QDF_STATUS ol_txrx_ipa_setup_iface(char *ifname, uint8_t *mac_addr, - enum ipa_client_type prod_client, - enum ipa_client_type cons_client, + qdf_ipa_client_type_t prod_client, + qdf_ipa_client_type_t cons_client, uint8_t session_id, bool is_ipv6_enabled); QDF_STATUS ol_txrx_ipa_cleanup_iface(char *ifname, bool is_ipv6_enabled); QDF_STATUS ol_txrx_ipa_enable_pipes(struct cdp_pdev *pdev); diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c index b63405c8b9cb..ae666015ba64 100644 --- a/core/hdd/src/wlan_hdd_ipa.c +++ b/core/hdd/src/wlan_hdd_ipa.c @@ -35,18 +35,11 @@ #ifdef IPA_OFFLOAD /* Include Files */ -#include +#include #include #include -#include -#include -#include -#include -#include -#include #include -#include #include #include #include @@ -213,13 +206,13 @@ struct hdd_ipa_pm_tx_cb { bool exception; struct hdd_adapter *adapter; struct hdd_ipa_iface_context *iface_context; - struct ipa_rx_data *ipa_tx_desc; + qdf_ipa_rx_data_t *ipa_tx_desc; }; struct hdd_ipa_sys_pipe { uint32_t conn_hdl; uint8_t conn_hdl_valid; - struct ipa_sys_connect_params ipa_sys_params; + qdf_ipa_sys_connect_params_t ipa_sys_params; }; struct hdd_ipa_iface_stats { @@ -237,8 +230,8 @@ struct hdd_ipa_iface_context { struct hdd_adapter *adapter; void *tl_context; - enum ipa_client_type cons_client; - enum ipa_client_type prod_client; + qdf_ipa_client_type_t cons_client; + qdf_ipa_client_type_t prod_client; uint8_t iface_id; /* This iface ID */ uint8_t sta_id; /* This iface station ID */ @@ -313,7 +306,7 @@ struct ipa_uc_fw_stats { struct ipa_uc_pending_event { qdf_list_node_t node; struct hdd_adapter *adapter; - enum ipa_wlan_event type; + qdf_ipa_wlan_event_t type; uint8_t sta_id; uint8_t mac_addr[QDF_MAC_ADDR_SIZE]; }; @@ -325,7 +318,7 @@ struct ipa_uc_pending_event { */ struct uc_rm_work_struct { struct work_struct work; - enum ipa_rm_event event; + qdf_ipa_rm_event_t event; }; /** @@ -395,7 +388,7 @@ struct hdd_ipa_tx_desc { struct list_head link; void *priv; uint32_t id; - struct ipa_rx_data *ipa_tx_desc_ptr; + qdf_ipa_rx_data_t *ipa_tx_desc_ptr; }; struct hdd_ipa_priv { @@ -459,8 +452,8 @@ struct hdd_ipa_priv { qdf_mc_timer_t rt_debug_timer; struct uc_rt_debug_info rt_bug_buffer[HDD_IPA_UC_RT_DEBUG_BUF_COUNT]; unsigned int rt_buf_fill_index; - struct ipa_wdi_in_params cons_pipe_in; - struct ipa_wdi_in_params prod_pipe_in; + qdf_ipa_wdi_in_params_t cons_pipe_in; + qdf_ipa_wdi_in_params_t prod_pipe_in; bool uc_loaded; bool wdi_enabled; qdf_mc_timer_t rt_debug_fill_timer; @@ -522,8 +515,8 @@ struct hdd_ipa_priv { #define HDD_IPA_DBG_DUMP_TX_LEN 48 static struct hdd_ipa_adapter_2_client { - enum ipa_client_type cons_client; - enum ipa_client_type prod_client; + qdf_ipa_client_type_t cons_client; + qdf_ipa_client_type_t prod_client; } hdd_ipa_adapter_2_client[HDD_IPA_MAX_IFACE] = { { IPA_CLIENT_WLAN2_CONS, IPA_CLIENT_WLAN1_PROD @@ -544,12 +537,12 @@ static struct hdd_ipa_adapter_2_client { static struct hdd_ipa_priv *ghdd_ipa; /* Local Function Prototypes */ -static void hdd_ipa_i2w_cb(void *priv, enum ipa_dp_evt_type evt, +static void hdd_ipa_i2w_cb(void *priv, qdf_ipa_dp_evt_type_t evt, unsigned long data); -static void hdd_ipa_w2i_cb(void *priv, enum ipa_dp_evt_type evt, +static void hdd_ipa_w2i_cb(void *priv, qdf_ipa_dp_evt_type_t evt, unsigned long data); #ifdef FEATURE_METERING -static void hdd_ipa_wdi_meter_notifier_cb(enum ipa_wdi_meter_evt_type evt, +static void hdd_ipa_wdi_meter_notifier_cb(qdf_ipa_wdi_meter_evt_type_t evt, void *data); #else static void hdd_ipa_wdi_meter_notifier_cb(void); @@ -616,13 +609,13 @@ done: */ static int hdd_ipa_uc_send_wdi_control_msg(bool ctrl) { - struct ipa_msg_meta meta; - struct ipa_wlan_msg *ipa_msg; + qdf_ipa_msg_meta_t meta; + qdf_ipa_wlan_msg_t *ipa_msg; int ret = 0; /* WDI enable message to IPA */ - meta.msg_len = sizeof(*ipa_msg); - ipa_msg = qdf_mem_malloc(meta.msg_len); + QDF_IPA_MSG_META_MSG_LEN(&meta) = sizeof(*ipa_msg); + ipa_msg = qdf_mem_malloc(QDF_IPA_MSG_META_MSG_LEN(&meta)); if (ipa_msg == NULL) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "msg allocation failed"); @@ -630,17 +623,17 @@ static int hdd_ipa_uc_send_wdi_control_msg(bool ctrl) } if (ctrl == true) - meta.msg_type = WLAN_WDI_ENABLE; + QDF_IPA_MSG_META_MSG_TYPE(&meta) = WLAN_WDI_ENABLE; else - meta.msg_type = WLAN_WDI_DISABLE; + QDF_IPA_MSG_META_MSG_TYPE(&meta) = WLAN_WDI_DISABLE; HDD_IPA_LOG(QDF_TRACE_LEVEL_DEBUG, - "ipa_send_msg(Evt:%d)", meta.msg_type); - ret = ipa_send_msg(&meta, ipa_msg, hdd_ipa_msg_free_fn); + "ipa_send_msg(Evt:%d)", QDF_IPA_MSG_META_MSG_TYPE(&meta)); + ret = qdf_ipa_send_msg(&meta, ipa_msg, hdd_ipa_msg_free_fn); if (ret) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "ipa_send_msg(Evt:%d)-fail=%d", - meta.msg_type, ret); + QDF_IPA_MSG_META_MSG_TYPE(&meta), ret); qdf_mem_free(ipa_msg); } return ret; @@ -659,18 +652,19 @@ static int hdd_ipa_uc_send_wdi_control_msg(bool ctrl) */ static int hdd_ipa_uc_register_uc_ready(struct hdd_ipa_priv *hdd_ipa) { - struct ipa_wdi_uc_ready_params uc_ready_param; + qdf_ipa_wdi_uc_ready_params_t uc_ready_param; int ret = 0; hdd_ipa->uc_loaded = false; - uc_ready_param.priv = (void *)hdd_ipa; - uc_ready_param.notify = hdd_ipa_uc_loaded_uc_cb; + QDF_IPA_UC_READY_PARAMS_PRIV(&uc_ready_param) = (void *)hdd_ipa; + QDF_IPA_UC_READY_PARAMS_NOTIFY(&uc_ready_param) = + hdd_ipa_uc_loaded_uc_cb; if (ipa_uc_reg_rdyCB(&uc_ready_param)) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "UC Ready CB register fail"); return -EPERM; } - if (true == uc_ready_param.is_uC_ready) { + if (false != QDF_IPA_UC_READY_PARAMS_IS_UC_READY(&uc_ready_param)) { HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO, "UC Ready"); hdd_ipa->uc_loaded = true; } else { @@ -1241,7 +1235,7 @@ static void hdd_ipa_dump_sys_pipe(struct hdd_ipa_priv *hdd_ipa) for (i = 0; i < HDD_IPA_MAX_SYSBAM_PIPE; i++) { struct hdd_ipa_sys_pipe *sys_pipe; - struct ipa_sys_connect_params *ipa_sys_params; + qdf_ipa_sys_connect_params_t *ipa_sys_params; sys_pipe = &hdd_ipa->sys_pipe[i]; ipa_sys_params = &sys_pipe->ipa_sys_params; @@ -1266,19 +1260,21 @@ static void hdd_ipa_dump_sys_pipe(struct hdd_ipa_priv *hdd_ipa) i, sys_pipe->conn_hdl, sys_pipe->conn_hdl_valid, - ipa_sys_params->ipa_ep_cfg.nat.nat_en, - ipa_sys_params->ipa_ep_cfg.hdr.hdr_len, - ipa_sys_params->ipa_ep_cfg.hdr.hdr_additional_const_len, - ipa_sys_params->ipa_ep_cfg.hdr.hdr_ofst_pkt_size_valid, - ipa_sys_params->ipa_ep_cfg.hdr.hdr_ofst_pkt_size, - ipa_sys_params->ipa_ep_cfg.hdr_ext.hdr_little_endian, - ipa_sys_params->ipa_ep_cfg.mode.mode, - ipa_sys_params->client, - ipa_sys_params->desc_fifo_sz, - ipa_sys_params->priv, - ipa_sys_params->notify, - ipa_sys_params->skip_ep_cfg, - ipa_sys_params->keep_ipa_awake); + QDF_IPA_SYS_PARAMS_NAT_EN(ipa_sys_params), + QDF_IPA_SYS_PARAMS_HDR_LEN(ipa_sys_params), + QDF_IPA_SYS_PARAMS_HDR_ADDITIONAL_CONST_LEN( + ipa_sys_params), + QDF_IPA_SYS_PARAMS_HDR_OFST_PKT_SIZE_VALID( + ipa_sys_params), + QDF_IPA_SYS_PARAMS_HDR_OFST_PKT_SIZE(ipa_sys_params), + QDF_IPA_SYS_PARAMS_HDR_LITTLE_ENDIAN(ipa_sys_params), + QDF_IPA_SYS_PARAMS_MODE(ipa_sys_params), + QDF_IPA_SYS_PARAMS_CLIENT(ipa_sys_params), + QDF_IPA_SYS_PARAMS_DESC_FIFO_SZ(ipa_sys_params), + QDF_IPA_SYS_PARAMS_PRIV(ipa_sys_params), + QDF_IPA_SYS_PARAMS_NOTIFY(ipa_sys_params), + QDF_IPA_SYS_PARAMS_SKIP_EP_CFG(ipa_sys_params), + QDF_IPA_SYS_PARAMS_KEEP_IPA_AWAKE(ipa_sys_params)); } } @@ -2055,7 +2051,7 @@ static void hdd_ipa_uc_handle_last_discon(struct hdd_ipa_priv *hdd_ipa) * Return: None */ static void -hdd_ipa_uc_rm_notify_handler(void *context, enum ipa_rm_event event) +hdd_ipa_uc_rm_notify_handler(void *context, qdf_ipa_rm_event_t event) { struct hdd_ipa_priv *hdd_ipa = context; QDF_STATUS status = QDF_STATUS_SUCCESS; @@ -2110,7 +2106,7 @@ hdd_ipa_uc_rm_notify_handler(void *context, enum ipa_rm_event event) */ static void hdd_ipa_uc_rm_notify_defer(struct work_struct *work) { - enum ipa_rm_event event; + qdf_ipa_rm_event_t event; struct uc_rm_work_struct *uc_rm_work = container_of(work, struct uc_rm_work_struct, work); struct hdd_ipa_priv *hdd_ipa = container_of(uc_rm_work, @@ -2276,7 +2272,7 @@ static QDF_STATUS hdd_ipa_uc_op_metering(struct hdd_context *hdd_ctx, * * Return: ASCII string representing the IPA WLAN event */ -static inline char *hdd_ipa_wlan_event_to_str(enum ipa_wlan_event event) +static inline char *hdd_ipa_wlan_event_to_str(qdf_ipa_wlan_event_t event) { switch (event) { CASE_RETURN_STRING(WLAN_CLIENT_CONNECT); @@ -2940,13 +2936,13 @@ static void hdd_ipa_init_uc_op_work(struct work_struct *work, * * Return: None */ -static void __hdd_ipa_wdi_meter_notifier_cb(enum ipa_wdi_meter_evt_type evt, +static void __hdd_ipa_wdi_meter_notifier_cb(qdf_ipa_wdi_meter_evt_type_t evt, void *data) { struct hdd_ipa_priv *hdd_ipa = ghdd_ipa; struct hdd_adapter *adapter = NULL; - struct ipa_get_wdi_sap_stats *wdi_sap_stats; - struct ipa_set_wifi_quota *ipa_set_quota; + qdf_ipa_get_wdi_sap_stats_t *wdi_sap_stats; + qdf_ipa_set_wifi_quota_t *ipa_set_quota; int ret = 0; if (wlan_hdd_validate_context(hdd_ipa->hdd_ctx)) @@ -2966,51 +2962,63 @@ static void __hdd_ipa_wdi_meter_notifier_cb(enum ipa_wdi_meter_evt_type evt, if (!adapter) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "IPA uC share stats failed - no adapter"); - wdi_sap_stats->stats_valid = 0; + QDF_IPA_GET_WDI_SAP_STATS_STATS_VALID(wdi_sap_stats) = + 0; return; } INIT_COMPLETION(hdd_ipa->ipa_uc_sharing_stats_comp); hdd_ipa_uc_sharing_stats_request(adapter, - wdi_sap_stats->reset_stats); + QDF_IPA_GET_WDI_SAP_STATS_RESET_STATS(wdi_sap_stats)); ret = wait_for_completion_timeout( &hdd_ipa->ipa_uc_sharing_stats_comp, msecs_to_jiffies(IPA_UC_SHARING_STATES_WAIT_TIME)); if (!ret) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "IPA uC share stats request timed out"); - wdi_sap_stats->stats_valid = 0; + QDF_IPA_GET_WDI_SAP_STATS_STATS_VALID(wdi_sap_stats) + = 0; } else { - wdi_sap_stats->stats_valid = 1; + QDF_IPA_GET_WDI_SAP_STATS_STATS_VALID(wdi_sap_stats) + = 1; - wdi_sap_stats->ipv4_rx_packets = - hdd_ipa->ipa_sharing_stats.ipv4_rx_packets; - wdi_sap_stats->ipv4_rx_bytes = - hdd_ipa->ipa_sharing_stats.ipv4_rx_bytes; - wdi_sap_stats->ipv6_rx_packets = - hdd_ipa->ipa_sharing_stats.ipv6_rx_packets; - wdi_sap_stats->ipv6_rx_bytes = - hdd_ipa->ipa_sharing_stats.ipv6_rx_bytes; - wdi_sap_stats->ipv4_tx_packets = - hdd_ipa->ipa_sharing_stats.ipv4_tx_packets; - wdi_sap_stats->ipv4_tx_bytes = - hdd_ipa->ipa_sharing_stats.ipv4_tx_bytes; - wdi_sap_stats->ipv6_tx_packets = - hdd_ipa->ipa_sharing_stats.ipv6_tx_packets; - wdi_sap_stats->ipv6_tx_bytes = - hdd_ipa->ipa_sharing_stats.ipv6_tx_bytes; + QDF_IPA_GET_WDI_SAP_STATS_IPV4_RX_PACKETS(wdi_sap_stats) + = hdd_ipa->ipa_sharing_stats.ipv4_rx_packets; + QDF_IPA_GET_WDI_SAP_STATS_IPV4_RX_BYTES(wdi_sap_stats) + = hdd_ipa->ipa_sharing_stats.ipv4_rx_bytes; + QDF_IPA_GET_WDI_SAP_STATS_IPV6_RX_PACKETS(wdi_sap_stats) + = hdd_ipa->ipa_sharing_stats.ipv6_rx_packets; + QDF_IPA_GET_WDI_SAP_STATS_IPV6_RX_BYTES(wdi_sap_stats) + = hdd_ipa->ipa_sharing_stats.ipv6_rx_bytes; + QDF_IPA_GET_WDI_SAP_STATS_IPV4_TX_PACKETS(wdi_sap_stats) + = hdd_ipa->ipa_sharing_stats.ipv4_tx_packets; + QDF_IPA_GET_WDI_SAP_STATS_IPV4_TX_BYTES(wdi_sap_stats) + = hdd_ipa->ipa_sharing_stats.ipv4_tx_bytes; + QDF_IPA_GET_WDI_SAP_STATS_IPV6_TX_PACKETS(wdi_sap_stats) + = hdd_ipa->ipa_sharing_stats.ipv6_tx_packets; + QDF_IPA_GET_WDI_SAP_STATS_IPV6_TX_BYTES(wdi_sap_stats) + = hdd_ipa->ipa_sharing_stats.ipv6_tx_bytes; HDD_IPA_DP_LOG(QDF_TRACE_LEVEL_DEBUG, "%s:%d,%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu", "IPA_GET_WDI_SAP_STATS", - wdi_sap_stats->stats_valid, - wdi_sap_stats->ipv4_rx_packets, - wdi_sap_stats->ipv4_rx_bytes, - wdi_sap_stats->ipv6_rx_packets, - wdi_sap_stats->ipv6_rx_bytes, - wdi_sap_stats->ipv4_tx_packets, - wdi_sap_stats->ipv4_tx_bytes, - wdi_sap_stats->ipv6_tx_packets, - wdi_sap_stats->ipv6_tx_bytes); + QDF_IPA_GET_WDI_SAP_STATS_STATS_VALID( + wdi_sap_stats), + QDF_IPA_GET_WDI_SAP_STATS_IPV4_RX_PACKETS( + wdi_sap_stats), + QDF_IPA_GET_WDI_SAP_STATS_IPV4_RX_BYTES( + wdi_sap_stats), + QDF_IPA_GET_WDI_SAP_STATS_IPV6_RX_PACKETS( + wdi_sap_stats), + QDF_IPA_GET_WDI_SAP_STATS_IPV6_RX_BYTES( + wdi_sap_stats), + QDF_IPA_GET_WDI_SAP_STATS_IPV4_TX_PACKETS( + wdi_sap_stats), + QDF_IPA_GET_WDI_SAP_STATS_IPV4_TX_BYTES( + wdi_sap_stats), + QDF_IPA_GET_WDI_SAP_STATS_IPV6_TX_PACKETS( + wdi_sap_stats), + QDF_IPA_GET_WDI_SAP_STATS_IPV6_TX_BYTES( + wdi_sap_stats)); } break; case IPA_SET_WIFI_QUOTA: @@ -3036,12 +3044,12 @@ static void __hdd_ipa_wdi_meter_notifier_cb(enum ipa_wdi_meter_evt_type evt, if (!ret) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "IPA uC set quota request timed out"); - ipa_set_quota->set_valid = 0; + QDF_IPA_SET_WIFI_QUOTA_SET_VALID(ipa_set_quota) = 0; } else { - ipa_set_quota->quota_bytes = + QDF_IPA_SET_WIFI_QUOTA_BYTES(ipa_set_quota) = ((uint64_t)(hdd_ipa->ipa_quota_rsp.quota_hi) <<32)|hdd_ipa->ipa_quota_rsp.quota_lo; - ipa_set_quota->set_valid = + QDF_IPA_SET_WIFI_QUOTA_SET_VALID(ipa_set_quota) = hdd_ipa->ipa_quota_rsp.success; } @@ -3062,7 +3070,7 @@ static void __hdd_ipa_wdi_meter_notifier_cb(enum ipa_wdi_meter_evt_type evt, * * Return: None */ -static void hdd_ipa_wdi_meter_notifier_cb(enum ipa_wdi_meter_evt_type evt, +static void hdd_ipa_wdi_meter_notifier_cb(qdf_ipa_wdi_meter_evt_type_t evt, void *data) { cds_ssr_protect(__func__); @@ -3289,32 +3297,33 @@ static void hdd_ipa_msg_free_fn(void *buff, uint32_t len, uint32_t type) * Return: 0 - Success */ static int hdd_ipa_uc_send_evt(struct hdd_adapter *adapter, - enum ipa_wlan_event type, uint8_t *mac_addr) + qdf_ipa_wlan_event_t type, uint8_t *mac_addr) { struct hdd_ipa_priv *hdd_ipa = ghdd_ipa; - struct ipa_msg_meta meta; - struct ipa_wlan_msg *msg; + qdf_ipa_msg_meta_t meta; + qdf_ipa_wlan_msg_t *msg; int ret = 0; - meta.msg_len = sizeof(struct ipa_wlan_msg); - msg = qdf_mem_malloc(meta.msg_len); + QDF_IPA_MSG_META_MSG_LEN(&meta) = sizeof(qdf_ipa_wlan_msg_t); + msg = qdf_mem_malloc(QDF_IPA_MSG_META_MSG_LEN(&meta)); if (msg == NULL) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "msg allocation failed"); return -ENOMEM; } - meta.msg_type = type; - strlcpy(msg->name, adapter->dev->name, + QDF_IPA_MSG_META_MSG_TYPE(&meta) = type; + strlcpy(QDF_IPA_WLAN_MSG_NAME(msg), adapter->dev->name, IPA_RESOURCE_NAME_MAX); - memcpy(msg->mac_addr, mac_addr, ETH_ALEN); + memcpy(QDF_IPA_WLAN_MSG_MAC_ADDR(msg), mac_addr, ETH_ALEN); HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO, "%s: Evt: %d", - msg->name, meta.msg_type); - ret = ipa_send_msg(&meta, msg, hdd_ipa_msg_free_fn); + QDF_IPA_WLAN_MSG_NAME(msg), QDF_IPA_MSG_META_MSG_TYPE(&meta)); + ret = qdf_ipa_send_msg(&meta, msg, hdd_ipa_msg_free_fn); if (ret) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "%s: Evt: %d fail:%d", - msg->name, meta.msg_type, ret); + QDF_IPA_WLAN_MSG_NAME(msg), + QDF_IPA_MSG_META_MSG_TYPE(&meta), ret); qdf_mem_free(msg); return ret; } @@ -3646,7 +3655,7 @@ static int hdd_ipa_rm_request(struct hdd_ipa_priv *hdd_ipa) qdf_spin_unlock_bh(&hdd_ipa->rm_lock); - ret = ipa_rm_inactivity_timer_request_resource( + ret = qdf_ipa_rm_inactivity_timer_request_resource( IPA_RM_RESOURCE_WLAN_PROD); qdf_spin_lock_bh(&hdd_ipa->rm_lock); @@ -3709,7 +3718,7 @@ static int hdd_ipa_rm_try_release(struct hdd_ipa_priv *hdd_ipa) hdd_ipa->stats.num_rm_release++; qdf_spin_unlock_bh(&hdd_ipa->rm_lock); - ret = ipa_rm_inactivity_timer_release_resource( + ret = qdf_ipa_rm_inactivity_timer_release_resource( IPA_RM_RESOURCE_WLAN_PROD); qdf_spin_lock_bh(&hdd_ipa->rm_lock); @@ -3743,7 +3752,7 @@ static int hdd_ipa_rm_try_release(struct hdd_ipa_priv *hdd_ipa) * * Return: None */ -static void hdd_ipa_rm_notify(void *user_data, enum ipa_rm_event event, +static void hdd_ipa_rm_notify(void *user_data, qdf_ipa_rm_event_t event, unsigned long data) { struct hdd_ipa_priv *hdd_ipa = user_data; @@ -3838,7 +3847,7 @@ static int __hdd_ipa_set_perf_level(struct hdd_context *hdd_ctx, { uint32_t next_cons_bw, next_prod_bw; struct hdd_ipa_priv *hdd_ipa; - struct ipa_rm_perf_profile profile; + qdf_ipa_rm_perf_profile_t profile; void *soc = cds_get_context(QDF_MODULE_ID_SOC); int ret; @@ -3947,7 +3956,7 @@ static void hdd_ipa_init_uc_rm_work(struct work_struct *work, */ static int hdd_ipa_setup_rm(struct hdd_ipa_priv *hdd_ipa) { - struct ipa_rm_create_params create_params = { 0 }; + qdf_ipa_rm_create_params_t create_params = { 0 }; int ret; if (!hdd_ipa_is_rm_enabled(hdd_ipa->hdd_ctx)) @@ -3956,12 +3965,16 @@ static int hdd_ipa_setup_rm(struct hdd_ipa_priv *hdd_ipa) hdd_ipa_init_uc_rm_work(&hdd_ipa->uc_rm_work.work, hdd_ipa_uc_rm_notify_defer); memset(&create_params, 0, sizeof(create_params)); - create_params.name = IPA_RM_RESOURCE_WLAN_PROD; - create_params.reg_params.user_data = hdd_ipa; - create_params.reg_params.notify_cb = hdd_ipa_rm_notify; - create_params.floor_voltage = IPA_VOLTAGE_SVS; + QDF_IPA_RM_CREATE_PARAMS_NAME(&create_params) = + IPA_RM_RESOURCE_WLAN_PROD; + QDF_IPA_RM_CREATE_PARAMS_USER_DATA(&create_params) = + hdd_ipa; + QDF_IPA_RM_CREATE_PARAMS_NOTIFY_CB(&create_params) = + hdd_ipa_rm_notify; + QDF_IPA_RM_CREATE_PARAMS_FLOOR_VOLTAGE(&create_params) = + IPA_VOLTAGE_SVS; - ret = ipa_rm_create_resource(&create_params); + ret = qdf_ipa_rm_create_resource(&create_params); if (ret) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "Create RM resource failed: %d", ret); @@ -3969,12 +3982,16 @@ static int hdd_ipa_setup_rm(struct hdd_ipa_priv *hdd_ipa) } memset(&create_params, 0, sizeof(create_params)); - create_params.name = IPA_RM_RESOURCE_WLAN_CONS; - create_params.request_resource = hdd_ipa_rm_cons_request; - create_params.release_resource = hdd_ipa_rm_cons_release; - create_params.floor_voltage = IPA_VOLTAGE_SVS; + QDF_IPA_RM_CREATE_PARAMS_NAME(&create_params) = + IPA_RM_RESOURCE_WLAN_CONS; + QDF_IPA_RM_CREATE_PARAMS_REQUEST_RESOURCE(&create_params) = + hdd_ipa_rm_cons_request; + QDF_IPA_RM_CREATE_PARAMS_RELEASE_RESOURCE(&create_params) = + hdd_ipa_rm_cons_release; + QDF_IPA_RM_CREATE_PARAMS_FLOOR_VOLTAGE(&create_params) = + IPA_VOLTAGE_SVS; - ret = ipa_rm_create_resource(&create_params); + ret = qdf_ipa_rm_create_resource(&create_params); if (ret) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "Create RM CONS resource failed: %d", ret); @@ -3984,8 +4001,8 @@ static int hdd_ipa_setup_rm(struct hdd_ipa_priv *hdd_ipa) ipa_rm_add_dependency(IPA_RM_RESOURCE_WLAN_PROD, IPA_RM_RESOURCE_APPS_CONS); - ret = ipa_rm_inactivity_timer_init(IPA_RM_RESOURCE_WLAN_PROD, - HDD_IPA_RX_INACTIVITY_MSEC_DELAY); + ret = qdf_ipa_rm_inactivity_timer_init(IPA_RM_RESOURCE_WLAN_PROD, + HDD_IPA_RX_INACTIVITY_MSEC_DELAY); if (ret) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "Timer init failed: %d", ret); @@ -4047,12 +4064,12 @@ static void hdd_ipa_destroy_rm_resource(struct hdd_ipa_priv *hdd_ipa) ipa_rm_inactivity_timer_destroy(IPA_RM_RESOURCE_WLAN_PROD); - ret = ipa_rm_delete_resource(IPA_RM_RESOURCE_WLAN_PROD); + ret = qdf_ipa_rm_delete_resource(IPA_RM_RESOURCE_WLAN_PROD); if (ret) HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "RM PROD resource delete failed %d", ret); - ret = ipa_rm_delete_resource(IPA_RM_RESOURCE_WLAN_CONS); + ret = qdf_ipa_rm_delete_resource(IPA_RM_RESOURCE_WLAN_CONS); if (ret) HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "RM CONS resource delete failed %d", ret); @@ -4256,8 +4273,8 @@ static enum hdd_ipa_forward_type hdd_ipa_intrabss_forward( * * Return: None */ -static void __hdd_ipa_w2i_cb(void *priv, enum ipa_dp_evt_type evt, - unsigned long data) +static void __hdd_ipa_w2i_cb(void *priv, qdf_ipa_dp_evt_type_t evt, + unsigned long data) { struct hdd_ipa_priv *hdd_ipa = NULL; struct hdd_adapter *adapter = NULL; @@ -4377,7 +4394,7 @@ static void __hdd_ipa_w2i_cb(void *priv, enum ipa_dp_evt_type evt, * * Return: None */ -static void hdd_ipa_w2i_cb(void *priv, enum ipa_dp_evt_type evt, +static void hdd_ipa_w2i_cb(void *priv, qdf_ipa_dp_evt_type_t evt, unsigned long data) { cds_ssr_protect(__func__); @@ -4394,7 +4411,7 @@ static void hdd_ipa_w2i_cb(void *priv, enum ipa_dp_evt_type evt, void hdd_ipa_nbuf_cb(qdf_nbuf_t skb) { struct hdd_ipa_priv *hdd_ipa = ghdd_ipa; - struct ipa_rx_data *ipa_tx_desc; + qdf_ipa_rx_data_t *ipa_tx_desc; struct hdd_ipa_tx_desc *tx_desc; uint16_t id; @@ -4434,7 +4451,7 @@ void hdd_ipa_nbuf_cb(qdf_nbuf_t skb) */ static void hdd_ipa_send_pkt_to_tl( struct hdd_ipa_iface_context *iface_context, - struct ipa_rx_data *ipa_tx_desc) + qdf_ipa_rx_data_t *ipa_tx_desc) { struct hdd_ipa_priv *hdd_ipa = iface_context->hdd_ipa; struct hdd_adapter *adapter = NULL; @@ -4471,7 +4488,7 @@ static void hdd_ipa_send_pkt_to_tl( qdf_spin_unlock_bh(&iface_context->interface_lock); - skb = ipa_tx_desc->skb; + skb = QDF_IPA_RX_DATA_SKB(ipa_tx_desc); qdf_mem_set(skb->cb, sizeof(skb->cb), 0); @@ -4479,10 +4496,10 @@ static void hdd_ipa_send_pkt_to_tl( qdf_nbuf_ipa_owned_set(skb); if (hdd_ipa_uc_sta_is_enabled(hdd_ipa->hdd_ctx)) { qdf_nbuf_mapped_paddr_set(skb, - ipa_tx_desc->dma_addr + QDF_IPA_RX_DATA_DMA_ADDR(ipa_tx_desc) + HDD_IPA_WLAN_FRAG_HEADER + HDD_IPA_WLAN_IPA_HEADER); - ipa_tx_desc->skb->len -= + QDF_IPA_RX_DATA_SKB_LEN(ipa_tx_desc) -= HDD_IPA_WLAN_FRAG_HEADER + HDD_IPA_WLAN_IPA_HEADER; } else qdf_nbuf_mapped_paddr_set(skb, ipa_tx_desc->dma_addr); @@ -4506,11 +4523,11 @@ static void hdd_ipa_send_pkt_to_tl( return; } - adapter->stats.tx_bytes += ipa_tx_desc->skb->len; + adapter->stats.tx_bytes += QDF_IPA_RX_DATA_SKB_LEN(ipa_tx_desc); skb = cdp_ipa_tx_send_data_frame(cds_get_context(QDF_MODULE_ID_SOC), - (struct cdp_vdev *)iface_context->tl_context, - ipa_tx_desc->skb); + (struct cdp_vdev *)iface_context->tl_context, + QDF_IPA_RX_DATA_SKB(ipa_tx_desc)); if (skb) { qdf_nbuf_free(skb); iface_context->stats.num_tx_err++; @@ -4601,18 +4618,18 @@ static void hdd_ipa_pm_flush(struct work_struct *work) * * Return: None */ -static void __hdd_ipa_i2w_cb(void *priv, enum ipa_dp_evt_type evt, - unsigned long data) +static void __hdd_ipa_i2w_cb(void *priv, qdf_ipa_dp_evt_type_t evt, + unsigned long data) { struct hdd_ipa_priv *hdd_ipa = NULL; - struct ipa_rx_data *ipa_tx_desc; + qdf_ipa_rx_data_t *ipa_tx_desc; struct hdd_ipa_iface_context *iface_context; qdf_nbuf_t skb; struct hdd_ipa_pm_tx_cb *pm_tx_cb = NULL; QDF_STATUS status = QDF_STATUS_SUCCESS; iface_context = (struct hdd_ipa_iface_context *)priv; - ipa_tx_desc = (struct ipa_rx_data *)data; + ipa_tx_desc = (qdf_ipa_rx_data_t *)data; hdd_ipa = iface_context->hdd_ipa; if (evt != IPA_RECEIVE) { @@ -4634,7 +4651,7 @@ static void __hdd_ipa_i2w_cb(void *priv, enum ipa_dp_evt_type evt, return; } - skb = ipa_tx_desc->skb; + skb = QDF_IPA_RX_DATA_SKB(ipa_tx_desc); HDD_IPA_DBG_DUMP(QDF_TRACE_LEVEL_DEBUG, "i2w", skb->data, HDD_IPA_DBG_DUMP_TX_LEN); @@ -4687,7 +4704,7 @@ static void __hdd_ipa_i2w_cb(void *priv, enum ipa_dp_evt_type evt, * * Return: None */ -static void hdd_ipa_i2w_cb(void *priv, enum ipa_dp_evt_type evt, +static void hdd_ipa_i2w_cb(void *priv, qdf_ipa_dp_evt_type_t evt, unsigned long data) { cds_ssr_protect(__func__); @@ -4851,7 +4868,7 @@ static int hdd_ipa_alloc_tx_desc_list(struct hdd_ipa_priv *hdd_ipa) static int hdd_ipa_setup_sys_pipe(struct hdd_ipa_priv *hdd_ipa) { int i, ret = 0; - struct ipa_sys_connect_params *ipa; + qdf_ipa_sys_connect_params_t *ipa; uint32_t desc_fifo_sz; /* The maximum number of descriptors that can be provided to a BAM at @@ -4892,7 +4909,8 @@ static int hdd_ipa_setup_sys_pipe(struct hdd_ipa_priv *hdd_ipa) if (!hdd_ipa_is_rm_enabled(hdd_ipa->hdd_ctx)) ipa->keep_ipa_awake = 1; - ret = ipa_setup_sys_pipe(ipa, &(hdd_ipa->sys_pipe[i].conn_hdl)); + ret = qdf_ipa_setup_sys_pipe(ipa, + &hdd_ipa->sys_pipe[i].conn_hdl); if (ret) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "Failed for pipe %d ret: %d", i, ret); @@ -4923,7 +4941,8 @@ static int hdd_ipa_setup_sys_pipe(struct hdd_ipa_priv *hdd_ipa) if (!hdd_ipa_is_rm_enabled(hdd_ipa->hdd_ctx)) ipa->keep_ipa_awake = 1; - ret = ipa_setup_sys_pipe(ipa, &(hdd_ipa->sys_pipe[i].conn_hdl)); + ret = qdf_ipa_setup_sys_pipe(ipa, + &hdd_ipa->sys_pipe[i].conn_hdl); if (ret) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "Failed for RX pipe: %d", ret); @@ -4961,7 +4980,7 @@ static void hdd_ipa_teardown_sys_pipe(struct hdd_ipa_priv *hdd_ipa) int ret = 0, i; uint32_t max_desc_cnt; struct hdd_ipa_tx_desc *tmp_desc; - struct ipa_rx_data *ipa_tx_desc; + qdf_ipa_rx_data_t *ipa_tx_desc; for (i = 0; i < HDD_IPA_MAX_SYSBAM_PIPE; i++) { if (hdd_ipa->sys_pipe[i].conn_hdl_valid) { @@ -5124,8 +5143,9 @@ static int __hdd_ipa_send_mcc_scc_msg(struct hdd_context *hdd_ctx, hdd_adapter_list_node_t *adapter_node = NULL, *next = NULL; QDF_STATUS status; struct hdd_adapter *adapter; - struct ipa_msg_meta meta; - struct ipa_wlan_msg *msg; + qdf_ipa_msg_meta_t meta; + qdf_ipa_wlan_msg_t *msg; + int ret; if (wlan_hdd_validate_context(hdd_ctx)) @@ -5152,22 +5172,22 @@ static int __hdd_ipa_send_mcc_scc_msg(struct hdd_context *hdd_ctx, } /* Send SCC/MCC Switching event to IPA */ - meta.msg_len = sizeof(*msg); - msg = qdf_mem_malloc(meta.msg_len); + QDF_IPA_MSG_META_MSG_LEN(&meta) = sizeof(*msg); + msg = qdf_mem_malloc(QDF_IPA_MSG_META_MSG_LEN(&meta)); if (msg == NULL) { hdd_err("msg allocation failed"); return -ENOMEM; } - meta.msg_type = mcc_mode ? + QDF_IPA_MSG_META_MSG_TYPE(&meta) = mcc_mode ? WLAN_SWITCH_TO_MCC : WLAN_SWITCH_TO_SCC; - hdd_debug("ipa_send_msg(Evt:%d)", meta.msg_type); + hdd_debug("ipa_send_msg(Evt:%d)", QDF_IPA_MSG_META_MSG_TYPE(&meta)); - ret = ipa_send_msg(&meta, msg, hdd_ipa_msg_free_fn); + ret = qdf_ipa_send_msg(&meta, msg, hdd_ipa_msg_free_fn); if (ret) { hdd_err("ipa_send_msg(Evt:%d) - fail=%d", - meta.msg_type, ret); + QDF_IPA_MSG_META_MSG_TYPE(&meta), ret); qdf_mem_free(msg); } @@ -5196,12 +5216,12 @@ int hdd_ipa_send_mcc_scc_msg(struct hdd_context *hdd_ctx, bool mcc_mode) * hdd_to_ipa_wlan_event() - convert hdd_ipa_wlan_event to ipa_wlan_event * @hdd_ipa_event_type: HDD IPA WLAN event to be converted to an ipa_wlan_event * - * Return: ipa_wlan_event representing the hdd_ipa_wlan_event + * Return: qdf_ipa_wlan_event representing the hdd_ipa_wlan_event */ -static enum ipa_wlan_event +static qdf_ipa_wlan_event_t hdd_to_ipa_wlan_event(enum hdd_ipa_wlan_event hdd_ipa_event_type) { - enum ipa_wlan_event ipa_event; + qdf_ipa_wlan_event_t ipa_event; switch (hdd_ipa_event_type) { case HDD_IPA_CLIENT_CONNECT: @@ -5246,12 +5266,12 @@ hdd_to_ipa_wlan_event(enum hdd_ipa_wlan_event hdd_ipa_event_type) * Return: 0 on success, negative errno value on error */ static int __hdd_ipa_wlan_evt(struct hdd_adapter *adapter, uint8_t sta_id, - enum ipa_wlan_event type, uint8_t *mac_addr) + qdf_ipa_wlan_event_t type, uint8_t *mac_addr) { struct hdd_ipa_priv *hdd_ipa = ghdd_ipa; - struct ipa_msg_meta meta; - struct ipa_wlan_msg *msg; - struct ipa_wlan_msg_ex *msg_ex = NULL; + qdf_ipa_msg_meta_t meta; + qdf_ipa_wlan_msg_t *msg; + qdf_ipa_wlan_msg_ex_t *msg_ex = NULL; int ret; HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO, "%s: EVT: %s, MAC: %pM, sta_id: %d", @@ -5348,7 +5368,7 @@ static int __hdd_ipa_wlan_evt(struct hdd_adapter *adapter, uint8_t sta_id, hdd_ipa->stats.event[type]++; - meta.msg_type = type; + QDF_IPA_MSG_META_MSG_TYPE(&meta) = type; switch (type) { case WLAN_STA_CONNECT: qdf_mutex_acquire(&hdd_ipa->event_lock); @@ -5404,7 +5424,7 @@ static int __hdd_ipa_wlan_evt(struct hdd_adapter *adapter, uint8_t sta_id, if (ret) { qdf_mutex_release(&hdd_ipa->event_lock); hdd_err("%s: Evt: %d, Interface setup failed", - msg_ex->name, meta.msg_type); + msg_ex->name, QDF_IPA_MSG_META_MSG_TYPE(&meta)); goto end; } @@ -5428,7 +5448,7 @@ static int __hdd_ipa_wlan_evt(struct hdd_adapter *adapter, uint8_t sta_id, if (!hdd_ipa->sta_connected) { qdf_mutex_release(&hdd_ipa->event_lock); hdd_err("%s: Evt: %d, STA already disconnected", - msg_ex->name, meta.msg_type); + msg_ex->name, QDF_IPA_MSG_META_MSG_TYPE(&meta)); return -EINVAL; } @@ -5470,7 +5490,7 @@ static int __hdd_ipa_wlan_evt(struct hdd_adapter *adapter, uint8_t sta_id, if (!adapter->ipa_context) { qdf_mutex_release(&hdd_ipa->event_lock); hdd_err("%s: Evt: %d, SAP already disconnected", - msg_ex->name, meta.msg_type); + msg_ex->name, QDF_IPA_MSG_META_MSG_TYPE(&meta)); return -EINVAL; } @@ -5570,10 +5590,11 @@ static int __hdd_ipa_wlan_evt(struct hdd_adapter *adapter, uint8_t sta_id, qdf_mutex_release(&hdd_ipa->event_lock); - meta.msg_type = type; - meta.msg_len = (sizeof(struct ipa_wlan_msg_ex) + - sizeof(struct ipa_wlan_hdr_attrib_val)); - msg_ex = qdf_mem_malloc(meta.msg_len); + QDF_IPA_MSG_META_MSG_TYPE(&meta) = type; + QDF_IPA_MSG_META_MSG_LEN(&meta) = + (sizeof(qdf_ipa_wlan_msg_ex_t) + + sizeof(qdf_ipa_wlan_hdr_attrib_val_t)); + msg_ex = qdf_mem_malloc(QDF_IPA_MSG_META_MSG_LEN(&meta)); if (msg_ex == NULL) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, @@ -5620,7 +5641,7 @@ static int __hdd_ipa_wlan_evt(struct hdd_adapter *adapter, uint8_t sta_id, if (!hdd_ipa->sap_num_connected_sta) { qdf_mutex_release(&hdd_ipa->event_lock); hdd_err("%s: Evt: %d, Client already disconnected", - msg_ex->name, meta.msg_type); + msg_ex->name, QDF_IPA_MSG_META_MSG_TYPE(&meta)); return 0; } if (!hdd_ipa_uc_find_add_assoc_sta(hdd_ipa, false, sta_id)) { @@ -5664,25 +5685,28 @@ static int __hdd_ipa_wlan_evt(struct hdd_adapter *adapter, uint8_t sta_id, return 0; } - meta.msg_len = sizeof(struct ipa_wlan_msg); - msg = qdf_mem_malloc(meta.msg_len); + QDF_IPA_MSG_META_MSG_LEN(&meta) = sizeof(qdf_ipa_wlan_msg_t); + msg = qdf_mem_malloc(QDF_IPA_MSG_META_MSG_LEN(&meta)); if (msg == NULL) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, "msg allocation failed"); return -ENOMEM; } - meta.msg_type = type; - strlcpy(msg->name, adapter->dev->name, IPA_RESOURCE_NAME_MAX); - memcpy(msg->mac_addr, mac_addr, ETH_ALEN); + QDF_IPA_MSG_META_MSG_TYPE(&meta) = type; + strlcpy(QDF_IPA_WLAN_MSG_NAME(msg), adapter->dev->name, + IPA_RESOURCE_NAME_MAX); + memcpy(QDF_IPA_WLAN_MSG_MAC_ADDR(msg), mac_addr, ETH_ALEN); HDD_IPA_LOG(QDF_TRACE_LEVEL_DEBUG, "%s: Evt: %d", - msg->name, meta.msg_type); + QDF_IPA_WLAN_MSG_NAME(msg), + QDF_IPA_MSG_META_MSG_TYPE(&meta)); ret = ipa_send_msg(&meta, msg, hdd_ipa_msg_free_fn); if (ret) { hdd_err("%s: Evt: %d fail:%d", - msg->name, meta.msg_type, ret); + QDF_IPA_WLAN_MSG_NAME(msg), + QDF_IPA_MSG_META_MSG_TYPE(&meta), ret); qdf_mem_free(msg); return ret; } @@ -5707,7 +5731,7 @@ end: int hdd_ipa_wlan_evt(struct hdd_adapter *adapter, uint8_t sta_id, enum hdd_ipa_wlan_event hdd_event_type, uint8_t *mac_addr) { - enum ipa_wlan_event type = hdd_to_ipa_wlan_event(hdd_event_type); + qdf_ipa_wlan_event_t type = hdd_to_ipa_wlan_event(hdd_event_type); int ret = 0; cds_ssr_protect(__func__); @@ -5792,7 +5816,7 @@ static QDF_STATUS __hdd_ipa_init(struct hdd_context *hdd_ctx) int ret, i; struct hdd_ipa_iface_context *iface_context = NULL; struct ol_txrx_pdev_t *pdev = NULL; - struct ipa_rm_perf_profile profile; + qdf_ipa_rm_perf_profile_t profile; if (!hdd_ipa_is_enabled(hdd_ctx)) return QDF_STATUS_SUCCESS;