Commit 79df6a49 authored by Glen Lee's avatar Glen Lee Committed by Greg Kroah-Hartman

staging: wilc1000: pass vif to wilc_send_config_pkt

This patch passes vif instead of wilc to wilc_send_config_pkt and it's related
functions as well, because we need vif which is currently being used and
vif has wilc as well.
Change custom print with netdev_xxx format if there are custom print inside
the functions we have changed.

Function parameter of following functions are modified to vif.
wilc_send_config_pkt
wilc_wlan_cfg_set
wilc_wlan_cfg_get
wilc_wlan_cfg_commit
wilc_wlan_txq_add_cfg_pkt
wilc_wlan_txq_add_to_head
Signed-off-by: default avatarGlen Lee <glen.lee@atmel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ef7e012f
This diff is collapsed.
...@@ -526,86 +526,86 @@ static int linux_wlan_init_test_config(struct net_device *dev, ...@@ -526,86 +526,86 @@ static int linux_wlan_init_test_config(struct net_device *dev,
*(int *)c_val = 1; *(int *)c_val = 1;
if (!wilc_wlan_cfg_set(wilc, 1, WID_SET_DRV_HANDLER, c_val, 4, 0, 0)) if (!wilc_wlan_cfg_set(vif, 1, WID_SET_DRV_HANDLER, c_val, 4, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 0; c_val[0] = 0;
if (!wilc_wlan_cfg_set(wilc, 0, WID_PC_TEST_MODE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_PC_TEST_MODE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = INFRASTRUCTURE; c_val[0] = INFRASTRUCTURE;
if (!wilc_wlan_cfg_set(wilc, 0, WID_BSS_TYPE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_BSS_TYPE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = RATE_AUTO; c_val[0] = RATE_AUTO;
if (!wilc_wlan_cfg_set(wilc, 0, WID_CURRENT_TX_RATE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_CURRENT_TX_RATE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = G_MIXED_11B_2_MODE; c_val[0] = G_MIXED_11B_2_MODE;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11G_OPERATING_MODE, c_val, 1, 0, if (!wilc_wlan_cfg_set(vif, 0, WID_11G_OPERATING_MODE, c_val, 1, 0,
0)) 0))
goto _fail_; goto _fail_;
c_val[0] = 1; c_val[0] = 1;
if (!wilc_wlan_cfg_set(wilc, 0, WID_CURRENT_CHANNEL, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_CURRENT_CHANNEL, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = G_SHORT_PREAMBLE; c_val[0] = G_SHORT_PREAMBLE;
if (!wilc_wlan_cfg_set(wilc, 0, WID_PREAMBLE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_PREAMBLE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = AUTO_PROT; c_val[0] = AUTO_PROT;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_PROT_MECH, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_11N_PROT_MECH, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = ACTIVE_SCAN; c_val[0] = ACTIVE_SCAN;
if (!wilc_wlan_cfg_set(wilc, 0, WID_SCAN_TYPE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_SCAN_TYPE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = SITE_SURVEY_OFF; c_val[0] = SITE_SURVEY_OFF;
if (!wilc_wlan_cfg_set(wilc, 0, WID_SITE_SURVEY, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_SITE_SURVEY, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
*((int *)c_val) = 0xffff; *((int *)c_val) = 0xffff;
if (!wilc_wlan_cfg_set(wilc, 0, WID_RTS_THRESHOLD, c_val, 2, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_RTS_THRESHOLD, c_val, 2, 0, 0))
goto _fail_; goto _fail_;
*((int *)c_val) = 2346; *((int *)c_val) = 2346;
if (!wilc_wlan_cfg_set(wilc, 0, WID_FRAG_THRESHOLD, c_val, 2, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_FRAG_THRESHOLD, c_val, 2, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 0; c_val[0] = 0;
if (!wilc_wlan_cfg_set(wilc, 0, WID_BCAST_SSID, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_BCAST_SSID, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 1; c_val[0] = 1;
if (!wilc_wlan_cfg_set(wilc, 0, WID_QOS_ENABLE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_QOS_ENABLE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = NO_POWERSAVE; c_val[0] = NO_POWERSAVE;
if (!wilc_wlan_cfg_set(wilc, 0, WID_POWER_MANAGEMENT, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_POWER_MANAGEMENT, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = NO_SECURITY; /* NO_ENCRYPT, 0x79 */ c_val[0] = NO_SECURITY; /* NO_ENCRYPT, 0x79 */
if (!wilc_wlan_cfg_set(wilc, 0, WID_11I_MODE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_11I_MODE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = OPEN_SYSTEM; c_val[0] = OPEN_SYSTEM;
if (!wilc_wlan_cfg_set(wilc, 0, WID_AUTH_TYPE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_AUTH_TYPE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
strcpy(c_val, "123456790abcdef1234567890"); strcpy(c_val, "123456790abcdef1234567890");
if (!wilc_wlan_cfg_set(wilc, 0, WID_WEP_KEY_VALUE, c_val, if (!wilc_wlan_cfg_set(vif, 0, WID_WEP_KEY_VALUE, c_val,
(strlen(c_val) + 1), 0, 0)) (strlen(c_val) + 1), 0, 0))
goto _fail_; goto _fail_;
strcpy(c_val, "12345678"); strcpy(c_val, "12345678");
if (!wilc_wlan_cfg_set(wilc, 0, WID_11I_PSK, c_val, (strlen(c_val)), 0, if (!wilc_wlan_cfg_set(vif, 0, WID_11I_PSK, c_val, (strlen(c_val)), 0,
0)) 0))
goto _fail_; goto _fail_;
strcpy(c_val, "password"); strcpy(c_val, "password");
if (!wilc_wlan_cfg_set(wilc, 0, WID_1X_KEY, c_val, (strlen(c_val) + 1), if (!wilc_wlan_cfg_set(vif, 0, WID_1X_KEY, c_val, (strlen(c_val) + 1),
0, 0)) 0, 0))
goto _fail_; goto _fail_;
...@@ -613,106 +613,106 @@ static int linux_wlan_init_test_config(struct net_device *dev, ...@@ -613,106 +613,106 @@ static int linux_wlan_init_test_config(struct net_device *dev,
c_val[1] = 168; c_val[1] = 168;
c_val[2] = 1; c_val[2] = 1;
c_val[3] = 112; c_val[3] = 112;
if (!wilc_wlan_cfg_set(wilc, 0, WID_1X_SERV_ADDR, c_val, 4, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_1X_SERV_ADDR, c_val, 4, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 3; c_val[0] = 3;
if (!wilc_wlan_cfg_set(wilc, 0, WID_LISTEN_INTERVAL, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_LISTEN_INTERVAL, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 3; c_val[0] = 3;
if (!wilc_wlan_cfg_set(wilc, 0, WID_DTIM_PERIOD, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_DTIM_PERIOD, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = NORMAL_ACK; c_val[0] = NORMAL_ACK;
if (!wilc_wlan_cfg_set(wilc, 0, WID_ACK_POLICY, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_ACK_POLICY, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 0; c_val[0] = 0;
if (!wilc_wlan_cfg_set(wilc, 0, WID_USER_CONTROL_ON_TX_POWER, c_val, 1, if (!wilc_wlan_cfg_set(vif, 0, WID_USER_CONTROL_ON_TX_POWER, c_val, 1,
0, 0)) 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 48; c_val[0] = 48;
if (!wilc_wlan_cfg_set(wilc, 0, WID_TX_POWER_LEVEL_11A, c_val, 1, 0, if (!wilc_wlan_cfg_set(vif, 0, WID_TX_POWER_LEVEL_11A, c_val, 1, 0,
0)) 0))
goto _fail_; goto _fail_;
c_val[0] = 28; c_val[0] = 28;
if (!wilc_wlan_cfg_set(wilc, 0, WID_TX_POWER_LEVEL_11B, c_val, 1, 0, if (!wilc_wlan_cfg_set(vif, 0, WID_TX_POWER_LEVEL_11B, c_val, 1, 0,
0)) 0))
goto _fail_; goto _fail_;
*((int *)c_val) = 100; *((int *)c_val) = 100;
if (!wilc_wlan_cfg_set(wilc, 0, WID_BEACON_INTERVAL, c_val, 2, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_BEACON_INTERVAL, c_val, 2, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = REKEY_DISABLE; c_val[0] = REKEY_DISABLE;
if (!wilc_wlan_cfg_set(wilc, 0, WID_REKEY_POLICY, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_REKEY_POLICY, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
*((int *)c_val) = 84600; *((int *)c_val) = 84600;
if (!wilc_wlan_cfg_set(wilc, 0, WID_REKEY_PERIOD, c_val, 4, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_REKEY_PERIOD, c_val, 4, 0, 0))
goto _fail_; goto _fail_;
*((int *)c_val) = 500; *((int *)c_val) = 500;
if (!wilc_wlan_cfg_set(wilc, 0, WID_REKEY_PACKET_COUNT, c_val, 4, 0, if (!wilc_wlan_cfg_set(vif, 0, WID_REKEY_PACKET_COUNT, c_val, 4, 0,
0)) 0))
goto _fail_; goto _fail_;
c_val[0] = 1; c_val[0] = 1;
if (!wilc_wlan_cfg_set(wilc, 0, WID_SHORT_SLOT_ALLOWED, c_val, 1, 0, if (!wilc_wlan_cfg_set(vif, 0, WID_SHORT_SLOT_ALLOWED, c_val, 1, 0,
0)) 0))
goto _fail_; goto _fail_;
c_val[0] = G_SELF_CTS_PROT; c_val[0] = G_SELF_CTS_PROT;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_ERP_PROT_TYPE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_11N_ERP_PROT_TYPE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 1; c_val[0] = 1;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_ENABLE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_11N_ENABLE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = HT_MIXED_MODE; c_val[0] = HT_MIXED_MODE;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_OPERATING_MODE, c_val, 1, 0, if (!wilc_wlan_cfg_set(vif, 0, WID_11N_OPERATING_MODE, c_val, 1, 0,
0)) 0))
goto _fail_; goto _fail_;
c_val[0] = 1; c_val[0] = 1;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_TXOP_PROT_DISABLE, c_val, 1, 0, if (!wilc_wlan_cfg_set(vif, 0, WID_11N_TXOP_PROT_DISABLE, c_val, 1, 0,
0)) 0))
goto _fail_; goto _fail_;
memcpy(c_val, mac_add, 6); memcpy(c_val, mac_add, 6);
if (!wilc_wlan_cfg_set(wilc, 0, WID_MAC_ADDR, c_val, 6, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_MAC_ADDR, c_val, 6, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = DETECT_PROTECT_REPORT; c_val[0] = DETECT_PROTECT_REPORT;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_OBSS_NONHT_DETECTION, c_val, 1, if (!wilc_wlan_cfg_set(vif, 0, WID_11N_OBSS_NONHT_DETECTION, c_val, 1,
0, 0)) 0, 0))
goto _fail_; goto _fail_;
c_val[0] = RTS_CTS_NONHT_PROT; c_val[0] = RTS_CTS_NONHT_PROT;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_HT_PROT_TYPE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_11N_HT_PROT_TYPE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 0; c_val[0] = 0;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_RIFS_PROT_ENABLE, c_val, 1, 0, if (!wilc_wlan_cfg_set(vif, 0, WID_11N_RIFS_PROT_ENABLE, c_val, 1, 0,
0)) 0))
goto _fail_; goto _fail_;
c_val[0] = MIMO_MODE; c_val[0] = MIMO_MODE;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_SMPS_MODE, c_val, 1, 0, 0)) if (!wilc_wlan_cfg_set(vif, 0, WID_11N_SMPS_MODE, c_val, 1, 0, 0))
goto _fail_; goto _fail_;
c_val[0] = 7; c_val[0] = 7;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_CURRENT_TX_MCS, c_val, 1, 0, if (!wilc_wlan_cfg_set(vif, 0, WID_11N_CURRENT_TX_MCS, c_val, 1, 0,
0)) 0))
goto _fail_; goto _fail_;
c_val[0] = 1; c_val[0] = 1;
if (!wilc_wlan_cfg_set(wilc, 0, WID_11N_IMMEDIATE_BA_ENABLED, c_val, 1, if (!wilc_wlan_cfg_set(vif, 0, WID_11N_IMMEDIATE_BA_ENABLED, c_val, 1,
1, 1)) 1, 1))
goto _fail_; goto _fail_;
...@@ -927,7 +927,7 @@ int wilc1000_wlan_init(struct net_device *dev, struct wilc_vif *vif) ...@@ -927,7 +927,7 @@ int wilc1000_wlan_init(struct net_device *dev, struct wilc_vif *vif)
goto _fail_irq_enable_; goto _fail_irq_enable_;
} }
if (wilc_wlan_cfg_get(wl, 1, WID_FIRMWARE_VERSION, 1, 0)) { if (wilc_wlan_cfg_get(vif, 1, WID_FIRMWARE_VERSION, 1, 0)) {
int size; int size;
char Firmware_ver[20]; char Firmware_ver[20];
......
...@@ -113,9 +113,11 @@ static void wilc_wlan_txq_add_to_tail(struct net_device *dev, ...@@ -113,9 +113,11 @@ static void wilc_wlan_txq_add_to_tail(struct net_device *dev,
up(&wilc->txq_event); up(&wilc->txq_event);
} }
static int wilc_wlan_txq_add_to_head(struct wilc *wilc, struct txq_entry_t *tqe) static int wilc_wlan_txq_add_to_head(struct wilc_vif *vif, struct txq_entry_t *tqe)
{ {
unsigned long flags; unsigned long flags;
struct wilc *wilc = vif->wilc;
if (wilc_lock_timeout(wilc, &wilc->txq_add_to_head_cs, if (wilc_lock_timeout(wilc, &wilc->txq_add_to_head_cs,
CFG_PKTS_TIMEOUT)) CFG_PKTS_TIMEOUT))
return -1; return -1;
...@@ -134,12 +136,12 @@ static int wilc_wlan_txq_add_to_head(struct wilc *wilc, struct txq_entry_t *tqe) ...@@ -134,12 +136,12 @@ static int wilc_wlan_txq_add_to_head(struct wilc *wilc, struct txq_entry_t *tqe)
wilc->txq_head = tqe; wilc->txq_head = tqe;
} }
wilc->txq_entries += 1; wilc->txq_entries += 1;
PRINT_D(TX_DBG, "Number of entries in TxQ = %d\n", wilc->txq_entries); netdev_dbg(vif->ndev, "Number of entries in TxQ = %d\n", wilc->txq_entries);
spin_unlock_irqrestore(&wilc->txq_spinlock, flags); spin_unlock_irqrestore(&wilc->txq_spinlock, flags);
up(&wilc->txq_add_to_head_cs); up(&wilc->txq_add_to_head_cs);
up(&wilc->txq_event); up(&wilc->txq_event);
PRINT_D(TX_DBG, "Wake up the txq_handler\n"); netdev_dbg(vif->ndev, "Wake up the txq_handler\n");
return 0; return 0;
} }
...@@ -351,20 +353,22 @@ static bool is_tcp_ack_filter_enabled(void) ...@@ -351,20 +353,22 @@ static bool is_tcp_ack_filter_enabled(void)
return enabled; return enabled;
} }
static int wilc_wlan_txq_add_cfg_pkt(struct wilc *wilc, u8 *buffer, u32 buffer_size) static int wilc_wlan_txq_add_cfg_pkt(struct wilc_vif *vif, u8 *buffer,
u32 buffer_size)
{ {
struct txq_entry_t *tqe; struct txq_entry_t *tqe;
struct wilc *wilc = vif->wilc;
PRINT_D(TX_DBG, "Adding config packet ...\n"); netdev_dbg(vif->ndev, "Adding config packet ...\n");
if (wilc->quit) { if (wilc->quit) {
PRINT_D(TX_DBG, "Return due to clear function\n"); netdev_dbg(vif->ndev, "Return due to clear function\n");
up(&wilc->cfg_event); up(&wilc->cfg_event);
return 0; return 0;
} }
tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC);
if (!tqe) { if (!tqe) {
PRINT_ER("Failed to allocate memory\n"); netdev_err(vif->ndev, "Failed to allocate memory\n");
return 0; return 0;
} }
...@@ -374,9 +378,9 @@ static int wilc_wlan_txq_add_cfg_pkt(struct wilc *wilc, u8 *buffer, u32 buffer_s ...@@ -374,9 +378,9 @@ static int wilc_wlan_txq_add_cfg_pkt(struct wilc *wilc, u8 *buffer, u32 buffer_s
tqe->tx_complete_func = NULL; tqe->tx_complete_func = NULL;
tqe->priv = NULL; tqe->priv = NULL;
tqe->tcp_pending_ack_idx = NOT_TCP_ACK; tqe->tcp_pending_ack_idx = NOT_TCP_ACK;
PRINT_D(TX_DBG, "Adding the config packet at the Queue tail\n"); netdev_dbg(vif->ndev, "Adding the config packet at the Queue tail\n");
if (wilc_wlan_txq_add_to_head(wilc, tqe)) if (wilc_wlan_txq_add_to_head(vif, tqe))
return 0; return 0;
return 1; return 1;
} }
...@@ -1326,8 +1330,10 @@ void wilc_wlan_cleanup(struct net_device *dev) ...@@ -1326,8 +1330,10 @@ void wilc_wlan_cleanup(struct net_device *dev)
wilc->hif_func->hif_deinit(NULL); wilc->hif_func->hif_deinit(NULL);
} }
static int wilc_wlan_cfg_commit(struct wilc *wilc, int type, u32 drv_handler) static int wilc_wlan_cfg_commit(struct wilc_vif *vif, int type,
u32 drv_handler)
{ {
struct wilc *wilc = vif->wilc;
struct wilc_cfg_frame *cfg = &wilc->cfg_frame; struct wilc_cfg_frame *cfg = &wilc->cfg_frame;
int total_len = wilc->cfg_frame_offset + 4 + DRIVER_HANDLER_SIZE; int total_len = wilc->cfg_frame_offset + 4 + DRIVER_HANDLER_SIZE;
int seq_no = wilc->cfg_seq_no % 256; int seq_no = wilc->cfg_seq_no % 256;
...@@ -1346,17 +1352,18 @@ static int wilc_wlan_cfg_commit(struct wilc *wilc, int type, u32 drv_handler) ...@@ -1346,17 +1352,18 @@ static int wilc_wlan_cfg_commit(struct wilc *wilc, int type, u32 drv_handler)
cfg->wid_header[7] = (u8)(driver_handler >> 24); cfg->wid_header[7] = (u8)(driver_handler >> 24);
wilc->cfg_seq_no = seq_no; wilc->cfg_seq_no = seq_no;
if (!wilc_wlan_txq_add_cfg_pkt(wilc, &cfg->wid_header[0], total_len)) if (!wilc_wlan_txq_add_cfg_pkt(vif, &cfg->wid_header[0], total_len))
return -1; return -1;
return 0; return 0;
} }
int wilc_wlan_cfg_set(struct wilc *wilc, int start, u32 wid, u8 *buffer, int wilc_wlan_cfg_set(struct wilc_vif *vif, int start, u32 wid, u8 *buffer,
u32 buffer_size, int commit, u32 drv_handler) u32 buffer_size, int commit, u32 drv_handler)
{ {
u32 offset; u32 offset;
int ret_size; int ret_size;
struct wilc *wilc = vif->wilc;
if (wilc->cfg_frame_in_use) if (wilc->cfg_frame_in_use)
return 0; return 0;
...@@ -1371,17 +1378,18 @@ int wilc_wlan_cfg_set(struct wilc *wilc, int start, u32 wid, u8 *buffer, ...@@ -1371,17 +1378,18 @@ int wilc_wlan_cfg_set(struct wilc *wilc, int start, u32 wid, u8 *buffer,
wilc->cfg_frame_offset = offset; wilc->cfg_frame_offset = offset;
if (commit) { if (commit) {
PRINT_D(TX_DBG, "[WILC]PACKET Commit with sequence number %d\n", netdev_dbg(vif->ndev,
wilc->cfg_seq_no); "[WILC]PACKET Commit with sequence number %d\n",
PRINT_D(RX_DBG, "Processing cfg_set()\n"); wilc->cfg_seq_no);
netdev_dbg(vif->ndev, "Processing cfg_set()\n");
wilc->cfg_frame_in_use = 1; wilc->cfg_frame_in_use = 1;
if (wilc_wlan_cfg_commit(wilc, WILC_CFG_SET, drv_handler)) if (wilc_wlan_cfg_commit(vif, WILC_CFG_SET, drv_handler))
ret_size = 0; ret_size = 0;
if (wilc_lock_timeout(wilc, &wilc->cfg_event, if (wilc_lock_timeout(wilc, &wilc->cfg_event,
CFG_PKTS_TIMEOUT)) { CFG_PKTS_TIMEOUT)) {
PRINT_D(TX_DBG, "Set Timed Out\n"); netdev_dbg(vif->ndev, "Set Timed Out\n");
ret_size = 0; ret_size = 0;
} }
wilc->cfg_frame_in_use = 0; wilc->cfg_frame_in_use = 0;
...@@ -1392,11 +1400,12 @@ int wilc_wlan_cfg_set(struct wilc *wilc, int start, u32 wid, u8 *buffer, ...@@ -1392,11 +1400,12 @@ int wilc_wlan_cfg_set(struct wilc *wilc, int start, u32 wid, u8 *buffer,
return ret_size; return ret_size;
} }
int wilc_wlan_cfg_get(struct wilc *wilc, int start, u32 wid, int commit, int wilc_wlan_cfg_get(struct wilc_vif *vif, int start, u32 wid, int commit,
u32 drv_handler) u32 drv_handler)
{ {
u32 offset; u32 offset;
int ret_size; int ret_size;
struct wilc *wilc = vif->wilc;
if (wilc->cfg_frame_in_use) if (wilc->cfg_frame_in_use)
return 0; return 0;
...@@ -1413,15 +1422,15 @@ int wilc_wlan_cfg_get(struct wilc *wilc, int start, u32 wid, int commit, ...@@ -1413,15 +1422,15 @@ int wilc_wlan_cfg_get(struct wilc *wilc, int start, u32 wid, int commit,
if (commit) { if (commit) {
wilc->cfg_frame_in_use = 1; wilc->cfg_frame_in_use = 1;
if (wilc_wlan_cfg_commit(wilc, WILC_CFG_QUERY, drv_handler)) if (wilc_wlan_cfg_commit(vif, WILC_CFG_QUERY, drv_handler))
ret_size = 0; ret_size = 0;
if (wilc_lock_timeout(wilc, &wilc->cfg_event, if (wilc_lock_timeout(wilc, &wilc->cfg_event,
CFG_PKTS_TIMEOUT)) { CFG_PKTS_TIMEOUT)) {
PRINT_D(TX_DBG, "Get Timed Out\n"); netdev_dbg(vif->ndev, "Get Timed Out\n");
ret_size = 0; ret_size = 0;
} }
PRINT_D(GENERIC_DBG, "[WILC]Get Response received\n"); netdev_dbg(vif->ndev, "[WILC]Get Response received\n");
wilc->cfg_frame_in_use = 0; wilc->cfg_frame_in_use = 0;
wilc->cfg_frame_offset = 0; wilc->cfg_frame_offset = 0;
wilc->cfg_seq_no += 1; wilc->cfg_seq_no += 1;
...@@ -1439,14 +1448,14 @@ int wilc_wlan_cfg_get_val(u32 wid, u8 *buffer, u32 buffer_size) ...@@ -1439,14 +1448,14 @@ int wilc_wlan_cfg_get_val(u32 wid, u8 *buffer, u32 buffer_size)
return ret; return ret;
} }
s32 wilc_send_config_pkt(struct wilc *wilc, u8 mode, struct wid *wids, s32 wilc_send_config_pkt(struct wilc_vif *vif, u8 mode, struct wid *wids,
u32 count, u32 drv) u32 count, u32 drv)
{ {
s32 counter = 0, ret = 0; s32 counter = 0, ret = 0;
if (mode == GET_CFG) { if (mode == GET_CFG) {
for (counter = 0; counter < count; counter++) { for (counter = 0; counter < count; counter++) {
if (!wilc_wlan_cfg_get(wilc, !counter, if (!wilc_wlan_cfg_get(vif, !counter,
wids[counter].id, wids[counter].id,
(counter == count - 1), (counter == count - 1),
drv)) { drv)) {
...@@ -1463,7 +1472,7 @@ s32 wilc_send_config_pkt(struct wilc *wilc, u8 mode, struct wid *wids, ...@@ -1463,7 +1472,7 @@ s32 wilc_send_config_pkt(struct wilc *wilc, u8 mode, struct wid *wids,
} }
} else if (mode == SET_CFG) { } else if (mode == SET_CFG) {
for (counter = 0; counter < count; counter++) { for (counter = 0; counter < count; counter++) {
if (!wilc_wlan_cfg_set(wilc, !counter, if (!wilc_wlan_cfg_set(vif, !counter,
wids[counter].id, wids[counter].id,
wids[counter].val, wids[counter].val,
wids[counter].size, wids[counter].size,
......
...@@ -268,6 +268,7 @@ struct wilc_cfg_rsp { ...@@ -268,6 +268,7 @@ struct wilc_cfg_rsp {
}; };
struct wilc; struct wilc;
struct wilc_vif;
int wilc_wlan_firmware_download(struct wilc *wilc, const u8 *buffer, u32 buffer_size); int wilc_wlan_firmware_download(struct wilc *wilc, const u8 *buffer, u32 buffer_size);
int wilc_wlan_start(struct wilc *); int wilc_wlan_start(struct wilc *);
...@@ -277,9 +278,9 @@ int wilc_wlan_txq_add_net_pkt(struct net_device *dev, void *priv, u8 *buffer, ...@@ -277,9 +278,9 @@ int wilc_wlan_txq_add_net_pkt(struct net_device *dev, void *priv, u8 *buffer,
int wilc_wlan_handle_txq(struct net_device *dev, u32 *txq_count); int wilc_wlan_handle_txq(struct net_device *dev, u32 *txq_count);
void wilc_handle_isr(struct wilc *wilc); void wilc_handle_isr(struct wilc *wilc);
void wilc_wlan_cleanup(struct net_device *dev); void wilc_wlan_cleanup(struct net_device *dev);
int wilc_wlan_cfg_set(struct wilc *wilc, int start, u32 wid, u8 *buffer, int wilc_wlan_cfg_set(struct wilc_vif *vif, int start, u32 wid, u8 *buffer,
u32 buffer_size, int commit, u32 drv_handler); u32 buffer_size, int commit, u32 drv_handler);
int wilc_wlan_cfg_get(struct wilc *wilc, int start, u32 wid, int commit, int wilc_wlan_cfg_get(struct wilc_vif *vif, int start, u32 wid, int commit,
u32 drv_handler); u32 drv_handler);
int wilc_wlan_cfg_get_val(u32 wid, u8 *buffer, u32 buffer_size); int wilc_wlan_cfg_get_val(u32 wid, u8 *buffer, u32 buffer_size);
int wilc_wlan_txq_add_mgmt_pkt(struct net_device *dev, void *priv, u8 *buffer, int wilc_wlan_txq_add_mgmt_pkt(struct net_device *dev, void *priv, u8 *buffer,
...@@ -299,6 +300,6 @@ void host_sleep_notify(struct wilc *wilc); ...@@ -299,6 +300,6 @@ void host_sleep_notify(struct wilc *wilc);
extern bool wilc_enable_ps; extern bool wilc_enable_ps;
void chip_allow_sleep(struct wilc *wilc); void chip_allow_sleep(struct wilc *wilc);
void chip_wakeup(struct wilc *wilc); void chip_wakeup(struct wilc *wilc);
s32 wilc_send_config_pkt(struct wilc *wilc, u8 mode, struct wid *wids, s32 wilc_send_config_pkt(struct wilc_vif *vif, u8 mode, struct wid *wids,
u32 count, u32 drv); u32 count, u32 drv);
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment