From: Eugene Krasnikov <k.eugene.e@gmail.com>
To: linux-wireless@vger.kernel.org
Cc: wcn36xx@lists.infradead.org, Eugene Krasnikov <k.eugene.e@gmail.com>
Subject: [PATCH v2 10/16] wcn36xx: add smd.h
Date: Fri, 23 Aug 2013 10:58:13 +0200 [thread overview]
Message-ID: <1377248299-21007-11-git-send-email-k.eugene.e@gmail.com> (raw)
In-Reply-To: <1377248299-21007-1-git-send-email-k.eugene.e@gmail.com>
Adding smd.h
Signed-off-by: Eugene Krasnikov <k.eugene.e@gmail.com>
---
drivers/net/wireless/ath/wcn36xx/smd.h | 121 +++++++++++++++++++++++++++++++++
1 file changed, 121 insertions(+)
create mode 100644 drivers/net/wireless/ath/wcn36xx/smd.h
diff --git a/drivers/net/wireless/ath/wcn36xx/smd.h b/drivers/net/wireless/ath/wcn36xx/smd.h
new file mode 100644
index 0000000..28d5826
--- /dev/null
+++ b/drivers/net/wireless/ath/wcn36xx/smd.h
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2013 Eugene Krasnikov <k.eugene.e@gmail.com>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _SMD_H_
+#define _SMD_H_
+
+#include "wcn36xx.h"
+
+/* Max shared size is 4k but we take less.*/
+#define WCN36XX_NV_FRAGMENT_SIZE 3072
+
+#define WCN36XX_SMD_BUF_SIZE 4096
+
+#define SMD_MSG_TIMEOUT 200
+#define WCN36XX_SMSM_WLAN_TX_ENABLE 0x00000400
+#define WCN36XX_SMSM_WLAN_TX_RINGS_EMPTY 0x00000200
+/* The PNO version info be contained in the rsp msg */
+#define WCN36XX_FW_MSG_PNO_VERSION_MASK 0x8000
+
+enum wcn36xx_fw_msg_result {
+ WCN36XX_FW_MSG_RESULT_SUCCESS = 0,
+ WCN36XX_FW_MSG_RESULT_SUCCESS_SYNC = 1,
+
+ WCN36XX_FW_MSG_RESULT_MEM_FAIL = 5,
+};
+
+/******************************/
+/* SMD requests and responses */
+/******************************/
+struct wcn36xx_fw_msg_status_rsp {
+ u32 status;
+} __packed;
+
+struct wcn36xx;
+
+int wcn36xx_smd_open(struct wcn36xx *wcn);
+void wcn36xx_smd_close(struct wcn36xx *wcn);
+
+int wcn36xx_smd_load_nv(struct wcn36xx *wcn);
+int wcn36xx_smd_start(struct wcn36xx *wcn);
+int wcn36xx_smd_stop(struct wcn36xx *wcn);
+int wcn36xx_smd_init_scan(struct wcn36xx *wcn);
+int wcn36xx_smd_start_scan(struct wcn36xx *wcn);
+int wcn36xx_smd_end_scan(struct wcn36xx *wcn);
+int wcn36xx_smd_finish_scan(struct wcn36xx *wcn);
+int wcn36xx_smd_update_scan_params(struct wcn36xx *wcn);
+int wcn36xx_smd_add_sta_self(struct wcn36xx *wcn, u8 *addr, u32 status);
+int wcn36xx_smd_delete_sta_self(struct wcn36xx *wcn, u8 *addr);
+int wcn36xx_smd_delete_sta(struct wcn36xx *wcn, u8 sta_index);
+int wcn36xx_smd_join(struct wcn36xx *wcn, const u8 *bssid, u8 *vif, u8 ch);
+int wcn36xx_smd_set_link_st(struct wcn36xx *wcn, const u8 *bssid,
+ const u8 *sta_mac,
+ enum wcn36xx_hal_link_state state);
+int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta, const u8 *bssid,
+ bool update);
+int wcn36xx_smd_delete_bss(struct wcn36xx *wcn);
+int wcn36xx_smd_config_sta(struct wcn36xx *wcn, struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta);
+int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct sk_buff *skb_beacon,
+ u16 tim_off, u16 p2p_off);
+int wcn36xx_smd_switch_channel(struct wcn36xx *wcn, int ch);
+int wcn36xx_smd_update_proberesp_tmpl(struct wcn36xx *wcn, struct sk_buff *skb);
+int wcn36xx_smd_set_stakey(struct wcn36xx *wcn,
+ enum ani_ed_type enc_type,
+ u8 keyidx,
+ u8 keylen,
+ u8 *key,
+ u8 sta_index);
+int wcn36xx_smd_set_bsskey(struct wcn36xx *wcn,
+ enum ani_ed_type enc_type,
+ u8 keyidx,
+ u8 keylen,
+ u8 *key);
+int wcn36xx_smd_remove_stakey(struct wcn36xx *wcn,
+ enum ani_ed_type enc_type,
+ u8 keyidx,
+ u8 sta_index);
+int wcn36xx_smd_remove_bsskey(struct wcn36xx *wcn,
+ enum ani_ed_type enc_type,
+ u8 keyidx);
+int wcn36xx_smd_enter_bmps(struct wcn36xx *wcn, u64 tbtt);
+int wcn36xx_smd_exit_bmps(struct wcn36xx *wcn);
+int wcn36xx_smd_keep_alive_req(struct wcn36xx *wcn, int packet_type);
+int wcn36xx_smd_dump_cmd_req(struct wcn36xx *wcn, u32 arg1, u32 arg2,
+ u32 arg3, u32 arg4, u32 arg5);
+int wcn36xx_smd_feature_caps_exchange(struct wcn36xx *wcn);
+
+int wcn36xx_smd_add_ba_session(struct wcn36xx *wcn,
+ struct ieee80211_sta *sta,
+ u16 tid,
+ u16 *ssn,
+ u8 direction,
+ u8 sta_index);
+int wcn36xx_smd_add_ba(struct wcn36xx *wcn);
+int wcn36xx_smd_del_ba(struct wcn36xx *wcn, u16 tid, u8 sta_index);
+int wcn36xx_smd_trigger_ba(struct wcn36xx *wcn, u8 sta_index);
+
+int wcn36xx_smd_update_cfg(struct wcn36xx *wcn, u32 cfg_id, u32 value);
+/* WCN36XX configuration parameters */
+struct wcn36xx_fw_cfg {
+ u16 id;
+ u16 len;
+ u16 pad_bytes;
+ u16 reserved;
+ u8 *val;
+};
+#endif /* _SMD_H_ */
--
1.8.2.2
next prev parent reply other threads:[~2013-08-23 8:59 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-23 8:58 [PATCH v2 00/16] wcn36xx: mac80211 driver for Qualcomm WCN3660/WCN3680 hardware Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 01/16] wcn36xx: Add main.c Eugene Krasnikov
2013-08-23 9:22 ` Johannes Berg
2013-08-23 9:42 ` Eugene Krasnikov
2013-08-23 9:47 ` Johannes Berg
2013-08-23 10:06 ` Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 02/16] wcn36xx: add debug.c Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 03/16] wcn36xx: add debug.h Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 04/16] wcn36xx: add dxe.c Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 05/16] wcn36xx: add dxe.h Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 06/16] wcn36xx: add hal.h Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 07/16] wcn36xx: add pmc.c Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 08/16] wcn36xx: add pmc.h Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 09/16] wcn36xx: add smd.c Eugene Krasnikov
2013-08-23 8:58 ` Eugene Krasnikov [this message]
2013-08-23 8:58 ` [PATCH v2 11/16] wcn36xx: add txrx.c Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 12/16] wcn36xx: add txrx.h Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 13/16] wcn36xx: add wcn36xx.h Eugene Krasnikov
2013-08-23 23:02 ` Joe Perches
2013-08-26 7:23 ` Eugene Krasnikov
2013-09-02 14:15 ` Kalle Valo
2013-09-02 17:49 ` Joe Perches
2013-09-03 5:08 ` Kalle Valo
2013-09-03 5:13 ` Joe Perches
2013-09-03 5:25 ` Kalle Valo
2013-09-03 5:27 ` Joe Perches
2013-09-03 5:39 ` Kalle Valo
2013-09-03 5:41 ` Joe Perches
2013-09-03 5:48 ` Kalle Valo
2013-08-23 8:58 ` [PATCH v2 14/16] wcn36xx: add Makefile Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 15/16] wcn36xx: add Kconfig Eugene Krasnikov
2013-08-23 8:58 ` [PATCH v2 16/16] wcn36xx: Add wcn36xx to ath Makefile and Kconfig Eugene Krasnikov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1377248299-21007-11-git-send-email-k.eugene.e@gmail.com \
--to=k.eugene.e@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=wcn36xx@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox