mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 16:46:15 -04:00
Merge "qcacld-3.0: Enable WDI3.0 IPA offload" into wlan-cld3.driver.lnx.2.0-dev
This commit is contained in:
commit
96b1750080
4 changed files with 18 additions and 14 deletions
3
Kbuild
3
Kbuild
|
|
@ -9,7 +9,6 @@ endif
|
|||
ifeq ($(CONFIG_CNSS_QCA6290), y)
|
||||
CONFIG_LITHIUM := y
|
||||
CONFIG_WLAN_FEATURE_11AX := y
|
||||
CONFIG_IPA := n
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
|
||||
|
|
@ -2187,7 +2186,9 @@ CDEFINES += -DQCA_WIFI_QCA8074
|
|||
CDEFINES += -DQCA_WIFI_QCA8074_VP
|
||||
CDEFINES += -DDP_INTR_POLL_BASED
|
||||
CDEFINES += -DTX_PER_PDEV_DESC_POOL
|
||||
ifneq ($(CONFIG_IPA_OFFLOAD), 1)
|
||||
CDEFINES += -DWLAN_RX_HASH
|
||||
endif
|
||||
CDEFINES += -DCONFIG_DP_TRACE
|
||||
CDEFINES += -DFEATURE_TSO
|
||||
CDEFINES += -DTSO_DEBUG_LOG_ENABLE
|
||||
|
|
|
|||
|
|
@ -335,10 +335,11 @@ static QDF_STATUS ol_txrx_get_vdevid(void *ppeer, uint8_t *vdev_id)
|
|||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static struct cdp_vdev *ol_txrx_get_vdev_by_sta_id(uint8_t sta_id)
|
||||
static struct cdp_vdev *ol_txrx_get_vdev_by_sta_id(struct cdp_pdev *ppdev,
|
||||
uint8_t sta_id)
|
||||
{
|
||||
struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev;
|
||||
struct ol_txrx_peer_t *peer = NULL;
|
||||
ol_txrx_pdev_handle pdev = NULL;
|
||||
|
||||
if (sta_id >= WLAN_MAX_STA_COUNT) {
|
||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO_HIGH,
|
||||
|
|
@ -346,7 +347,6 @@ static struct cdp_vdev *ol_txrx_get_vdev_by_sta_id(uint8_t sta_id)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
||||
if (!pdev) {
|
||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO_HIGH,
|
||||
"PDEV not found for sta_id [%d]", sta_id);
|
||||
|
|
@ -377,8 +377,8 @@ static struct cdp_vdev *ol_txrx_get_vdev_by_sta_id(uint8_t sta_id)
|
|||
* Return: peer handle if peer is found, NULL if peer is not found.
|
||||
*/
|
||||
void *ol_txrx_find_peer_by_addr(struct cdp_pdev *ppdev,
|
||||
uint8_t *peer_addr,
|
||||
uint8_t *peer_id)
|
||||
uint8_t *peer_addr,
|
||||
uint8_t *peer_id)
|
||||
{
|
||||
struct ol_txrx_peer_t *peer;
|
||||
struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev;
|
||||
|
|
|
|||
|
|
@ -1885,6 +1885,7 @@ QDF_STATUS hdd_update_dp_vdev_flags(void *cbk_data,
|
|||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||
struct hdd_context *hdd_ctx;
|
||||
void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
||||
struct wlan_objmgr_psoc **psoc;
|
||||
|
||||
if (!cbk_data)
|
||||
|
|
@ -1896,7 +1897,7 @@ QDF_STATUS hdd_update_dp_vdev_flags(void *cbk_data,
|
|||
if (!hdd_ctx->tdls_nap_active)
|
||||
return status;
|
||||
|
||||
data_vdev = cdp_peer_get_vdev_by_sta_id(soc, sta_id);
|
||||
data_vdev = cdp_peer_get_vdev_by_sta_id(soc, pdev, sta_id);
|
||||
if (NULL == data_vdev) {
|
||||
status = QDF_STATUS_E_FAILURE;
|
||||
return status;
|
||||
|
|
|
|||
|
|
@ -539,7 +539,7 @@ struct hdd_ipa_priv {
|
|||
#define HDD_IPA_CHECK_HW() 0
|
||||
#endif /* IPA3 */
|
||||
|
||||
#define HDD_IPA_DBG_DUMP_RX_LEN 32
|
||||
#define HDD_IPA_DBG_DUMP_RX_LEN 84
|
||||
#define HDD_IPA_DBG_DUMP_TX_LEN 48
|
||||
|
||||
static struct hdd_ipa_adapter_2_client {
|
||||
|
|
@ -1636,8 +1636,6 @@ static void __hdd_ipa_uc_stat_query(struct hdd_context *hdd_ctx,
|
|||
(false == hdd_ipa->resource_loading)) {
|
||||
*ipa_tx_diff = hdd_ipa->ipa_tx_packets_diff;
|
||||
*ipa_rx_diff = hdd_ipa->ipa_rx_packets_diff;
|
||||
hdd_debug("STAT Query TX DIFF %d, RX DIFF %d",
|
||||
*ipa_tx_diff, *ipa_rx_diff);
|
||||
}
|
||||
qdf_mutex_release(&hdd_ipa->ipa_lock);
|
||||
}
|
||||
|
|
@ -1685,7 +1683,6 @@ static void __hdd_ipa_uc_stat_request(struct hdd_adapter *adapter,
|
|||
return;
|
||||
}
|
||||
|
||||
hdd_debug("STAT REQ Reason %d", reason);
|
||||
qdf_mutex_acquire(&hdd_ipa->ipa_lock);
|
||||
if ((HDD_IPA_UC_NUM_WDI_PIPE == hdd_ipa->activated_fw_pipe) &&
|
||||
(false == hdd_ipa->resource_loading)) {
|
||||
|
|
@ -3931,11 +3928,14 @@ static enum hdd_ipa_forward_type hdd_ipa_intrabss_forward(
|
|||
qdf_nbuf_t skb)
|
||||
{
|
||||
int ret = HDD_IPA_FORWARD_PKT_NONE;
|
||||
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||
struct ol_txrx_pdev_t *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
||||
|
||||
if ((desc & FW_RX_DESC_FORWARD_M)) {
|
||||
if (!ol_txrx_fwd_desc_thresh_check(
|
||||
(struct ol_txrx_vdev_t *)ol_txrx_get_vdev_from_vdev_id(
|
||||
adapter->sessionId))) {
|
||||
(struct ol_txrx_vdev_t *)cdp_get_vdev_from_vdev_id(soc,
|
||||
(struct cdp_pdev *)pdev,
|
||||
adapter->sessionId))) {
|
||||
/* Drop the packet*/
|
||||
hdd_ipa->stats.num_tx_fwd_err++;
|
||||
kfree_skb(skb);
|
||||
|
|
@ -4761,6 +4761,8 @@ static int hdd_ipa_setup_iface(struct hdd_ipa_priv *hdd_ipa,
|
|||
struct hdd_adapter *adapter, uint8_t sta_id)
|
||||
{
|
||||
struct hdd_ipa_iface_context *iface_context = NULL;
|
||||
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||
struct ol_txrx_pdev_t *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
||||
void *tl_context = NULL;
|
||||
int i, ret = 0;
|
||||
|
||||
|
|
@ -4792,7 +4794,7 @@ static int hdd_ipa_setup_iface(struct hdd_ipa_priv *hdd_ipa,
|
|||
iface_context->adapter = adapter;
|
||||
iface_context->sta_id = sta_id;
|
||||
tl_context = (void *)cdp_peer_get_vdev_by_sta_id(
|
||||
cds_get_context(QDF_MODULE_ID_SOC), sta_id);
|
||||
soc, (struct cdp_pdev *)pdev, sta_id);
|
||||
if (tl_context == NULL) {
|
||||
HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR,
|
||||
"Not able to get TL context sta_id: %d", sta_id);
|
||||
|
|
|
|||
Loading…
Reference in a new issue