qcacmn: Add WMI reference in PSOC and PSoc reference in WMI

Add WMI reference in PSOC and PSoc reference in WMI.

Change-Id: I6841bec1748447c6c98a81417365cf6e8d228b54
CRs-Fixed: 2002025
This commit is contained in:
Mukul Sharma
2017-01-30 19:55:40 +05:30
committed by qcabuildsw
부모 4b05a25dee
커밋 45223f3b60
4개의 변경된 파일58개의 추가작업 그리고 2개의 파일을 삭제

파일 보기

@@ -41,6 +41,7 @@
#endif
#include "htc_api.h"
#include "wmi_unified_param.h"
#include "wlan_objmgr_psoc_obj.h"
typedef qdf_nbuf_t wmi_buf_t;
#define wmi_buf_data(_buf) qdf_nbuf_data(_buf)
@@ -112,11 +113,14 @@ enum wmi_rx_exec_ctx {
* @param target_type : type of supported wmi command
* @param use_cookie : flag to indicate cookie based allocation
* @param ops : handle to wmi ops
* @psoc : objmgr psoc
* @return opaque handle.
*/
void *wmi_unified_attach(void *scn_handle,
osdev_t osdev, enum wmi_target_type target_type,
bool use_cookie, struct wmi_rx_ops *ops);
bool use_cookie, struct wmi_rx_ops *ops,
struct wlan_objmgr_psoc *psoc);
/**

파일 보기

@@ -1234,6 +1234,9 @@ struct target_abi_version {
/** ABI version namespace fourth four dwords */
};
/* Forward declartion for psoc*/
struct wlan_objmgr_psoc;
/**
* struct wmi_init_cmd - Saved wmi INIT command
* @buf: Buffer containing the wmi INIT command
@@ -1247,6 +1250,7 @@ struct wmi_cmd_init {
struct wmi_unified {
void *scn_handle; /* handle to device */
osdev_t osdev; /* handle to use OS-independent services */
struct wlan_objmgr_psoc *wmi_psoc;
qdf_atomic_t pending_cmds;
HTC_ENDPOINT_ID wmi_endpoint_id;
uint16_t max_msg_len;

파일 보기

@@ -2223,12 +2223,14 @@ static void wmi_runtime_pm_init(struct wmi_unified *wmi_handle)
* @target_type: TLV or not-TLV based target
* @use_cookie: cookie based allocation enabled/disabled
* @ops: umac rx callbacks
* @psoc: objmgr psoc
*
* @Return: wmi handle.
*/
void *wmi_unified_attach(void *scn_handle,
osdev_t osdev, enum wmi_target_type target_type,
bool use_cookie, struct wmi_rx_ops *rx_ops)
bool use_cookie, struct wmi_rx_ops *rx_ops,
struct wlan_objmgr_psoc *psoc)
{
struct wmi_unified *wmi_handle;
@@ -2273,6 +2275,8 @@ void *wmi_unified_attach(void *scn_handle,
wmi_handle->use_cookie = use_cookie;
wmi_handle->osdev = osdev;
wmi_handle->wmi_stopinprogress = 0;
/* Increase the ref count once refcount infra is present */
wmi_handle->wmi_psoc = psoc;
qdf_spinlock_create(&wmi_handle->ctx_lock);
return wmi_handle;
@@ -2305,6 +2309,8 @@ void wmi_unified_detach(struct wmi_unified *wmi_handle)
qdf_spinlock_destroy(&wmi_handle->eventq_lock);
qdf_spinlock_destroy(&wmi_handle->ctx_lock);
/* Decrease the ref count once refcount infra is present */
wmi_handle->wmi_psoc = NULL;
OS_FREE(wmi_handle);
wmi_handle = NULL;
}