From 7f7b4aa23d60aa58f6f1e959722c72364d73820c Mon Sep 17 00:00:00 2001 From: Pramod Simha Date: Mon, 27 Mar 2017 14:48:09 -0700 Subject: [PATCH] qcacmn: Changing DBS query method from DP Changing the method DP queries WMA regarding DBS capability. Now his call will be made through policy manager. Change-Id: I269537761a7acfa7e20a00c0ee7fc26ec1d17106 CRs-Fixed: 2025317 --- dp/inc/cdp_txrx_cmn_reg.h | 9 +++++---- dp/inc/cdp_txrx_ops.h | 3 ++- dp/wifi3.0/dp_main.c | 7 ++++--- dp/wifi3.0/dp_types.h | 3 +++ 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/dp/inc/cdp_txrx_cmn_reg.h b/dp/inc/cdp_txrx_cmn_reg.h index cf00dc4053..2ef205fefe 100644 --- a/dp/inc/cdp_txrx_cmn_reg.h +++ b/dp/inc/cdp_txrx_cmn_reg.h @@ -35,7 +35,7 @@ ol_txrx_soc_handle ol_txrx_soc_attach(void *scn_handle, struct ol_if_ops *dp_ol_ #ifdef QCA_WIFI_QCA8074 void *dp_soc_attach_wifi3(void *osif_soc, void *hif_handle, HTC_HANDLE htc_handle, qdf_device_t qdf_osdev, - struct ol_if_ops *ol_ops); + struct ol_if_ops *ol_ops, struct wlan_objmgr_psoc *psoc); #else /* * dp_soc_attach_wifi3() - Attach txrx SOC @@ -48,7 +48,7 @@ void *dp_soc_attach_wifi3(void *osif_soc, void *hif_handle, */ static inline void *dp_soc_attach_wifi3(void *osif_soc, void *hif_handle, HTC_HANDLE htc_handle, qdf_device_t qdf_osdev, - struct ol_if_ops *ol_ops) + struct ol_if_ops *ol_ops, struct wlan_objmgr_psoc *psoc) { return NULL; } @@ -56,7 +56,8 @@ static inline void *dp_soc_attach_wifi3(void *osif_soc, void *hif_handle, static inline ol_txrx_soc_handle cdp_soc_attach(u_int16_t devid, void *hif_handle, void *scn, void *htc_handle, - qdf_device_t qdf_dev, struct ol_if_ops *dp_ol_if_ops) + qdf_device_t qdf_dev, struct ol_if_ops *dp_ol_if_ops, + struct wlan_objmgr_psoc *psoc) { switch (devid) { case LITHIUM_DP: /*FIXME Add lithium devide IDs */ @@ -66,7 +67,7 @@ static inline ol_txrx_soc_handle cdp_soc_attach(u_int16_t devid, case RUMIM2M_DEVICE_ID_NODE2: /*lithium emulation */ case RUMIM2M_DEVICE_ID_NODE3: /*lithium emulation */ return dp_soc_attach_wifi3(scn, hif_handle, htc_handle, - qdf_dev, dp_ol_if_ops); + qdf_dev, dp_ol_if_ops, psoc); break; default: return ol_txrx_soc_attach(scn, dp_ol_if_ops); diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index 0ae242c8bf..167c1408c5 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -32,6 +32,7 @@ #endif #include "cdp_txrx_handle.h" #include +#include "wlan_objmgr_psoc_obj.h" /****************************************************************************** * @@ -574,7 +575,7 @@ struct ol_if_ops { uint32_t tid_mask); int (*peer_unref_delete)(void *scn_handle, uint8_t vdev_id, uint8_t *peer_macaddr); - bool (*is_hw_dbs_2x2_capable)(void); + bool (*is_hw_dbs_2x2_capable)(struct wlan_objmgr_psoc *psoc); int (*peer_add_wds_entry)(void *ol_soc_handle, const uint8_t *dest_macaddr, uint8_t *peer_macaddr, uint32_t flags); diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index db6009119a..eb239db4ab 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -1484,7 +1484,7 @@ static void dp_rxdma_ring_config(struct dp_soc *soc) if (soc->cdp_soc.ol_ops-> is_hw_dbs_2x2_capable) { dbs_enable = soc->cdp_soc.ol_ops-> - is_hw_dbs_2x2_capable(); + is_hw_dbs_2x2_capable(soc->psoc); } if (dbs_enable) { @@ -3542,10 +3542,10 @@ static struct cdp_ops dp_txrx_ops = { */ void *dp_soc_attach_wifi3(void *osif_soc, void *hif_handle, HTC_HANDLE htc_handle, qdf_device_t qdf_osdev, - struct ol_if_ops *ol_ops); + struct ol_if_ops *ol_ops, struct wlan_objmgr_psoc *psoc); void *dp_soc_attach_wifi3(void *osif_soc, void *hif_handle, HTC_HANDLE htc_handle, qdf_device_t qdf_osdev, - struct ol_if_ops *ol_ops) + struct ol_if_ops *ol_ops, struct wlan_objmgr_psoc *psoc) { struct dp_soc *soc = qdf_mem_malloc(sizeof(*soc)); @@ -3560,6 +3560,7 @@ void *dp_soc_attach_wifi3(void *osif_soc, void *hif_handle, soc->osif_soc = osif_soc; soc->osdev = qdf_osdev; soc->hif_handle = hif_handle; + soc->psoc = psoc; soc->hal_soc = hif_get_hal_handle(hif_handle); soc->htt_handle = htt_soc_attach(soc, osif_soc, htc_handle, diff --git a/dp/wifi3.0/dp_types.h b/dp/wifi3.0/dp_types.h index 541cb9a07d..6548a26b2e 100644 --- a/dp/wifi3.0/dp_types.h +++ b/dp/wifi3.0/dp_types.h @@ -673,6 +673,9 @@ struct dp_soc { #endif qdf_list_t reo_desc_freelist; qdf_spinlock_t reo_desc_freelist_lock; + + /* Obj Mgr SoC */ + struct wlan_objmgr_psoc *psoc; }; /* PDEV level structure for data path */