Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 236060
b: refs/heads/master
c: 711a1bc
h: refs/heads/master
v: v3
  • Loading branch information
Vipin Mehta authored and Greg Kroah-Hartman committed Feb 18, 2011
1 parent 351dc2c commit 9a22720
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1581595dd918481e2df9927e08c71c5635b9af1e
refs/heads/master: 711a1bccf23a54868d94af200061d35207c358e9
36 changes: 25 additions & 11 deletions trunk/drivers/staging/ath6kl/include/common/wmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -422,17 +422,24 @@ typedef enum {
WMI_AP_SET_11BG_RATESET_CMDID,
WMI_SET_PMK_CMDID,
WMI_MCAST_FILTER_CMDID,
/* COEX CMDID AR6003*/
WMI_SET_BTCOEX_FE_ANT_CMDID,
WMI_SET_BTCOEX_COLOCATED_BT_DEV_CMDID,
WMI_SET_BTCOEX_SCO_CONFIG_CMDID,
WMI_SET_BTCOEX_A2DP_CONFIG_CMDID,
WMI_SET_BTCOEX_ACLCOEX_CONFIG_CMDID,
WMI_SET_BTCOEX_BTINQUIRY_PAGE_CONFIG_CMDID,
WMI_SET_BTCOEX_DEBUG_CMDID,
WMI_SET_BTCOEX_BT_OPERATING_STATUS_CMDID,
WMI_GET_BTCOEX_STATS_CMDID,
WMI_GET_BTCOEX_CONFIG_CMDID,
/* COEX CMDID AR6003*/
WMI_SET_BTCOEX_FE_ANT_CMDID,
WMI_SET_BTCOEX_COLOCATED_BT_DEV_CMDID,
WMI_SET_BTCOEX_SCO_CONFIG_CMDID,
WMI_SET_BTCOEX_A2DP_CONFIG_CMDID,
WMI_SET_BTCOEX_ACLCOEX_CONFIG_CMDID,
WMI_SET_BTCOEX_BTINQUIRY_PAGE_CONFIG_CMDID,
WMI_SET_BTCOEX_DEBUG_CMDID,
WMI_SET_BTCOEX_BT_OPERATING_STATUS_CMDID,
WMI_GET_BTCOEX_STATS_CMDID,
WMI_GET_BTCOEX_CONFIG_CMDID,
WMI_GET_PMK_CMDID,
WMI_SET_PASSPHRASE_CMDID,
WMI_ENABLE_WAC_CMDID,
WMI_WAC_SCAN_REPLY_CMDID,
WMI_WAC_CTRL_REQ_CMDID,
WMI_SET_DIV_PARAMS_CMDID,
WMI_SET_EXCESS_TX_RETRY_THRES_CMDID,
} WMI_COMMAND_ID;

/*
Expand Down Expand Up @@ -549,6 +556,13 @@ typedef PREPACK struct {
u8 pmk[WMI_PMK_LEN];
} POSTPACK WMI_SET_PMK_CMD;

/*
* WMI_SET_EXCESS_TX_RETRY_THRES_CMDID
*/
typedef PREPACK struct {
A_UINT32 threshold;
} POSTPACK WMI_SET_EXCESS_TX_RETRY_THRES_CMD;

/*
* WMI_ADD_CIPHER_KEY_CMDID
*/
Expand Down
3 changes: 3 additions & 0 deletions trunk/drivers/staging/ath6kl/include/wmi_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -421,6 +421,9 @@ wmi_set_wlan_conn_precedence_cmd(struct wmi_t *wmip, BT_WLAN_CONN_PRECEDENCE pre
int
wmi_set_pmk_cmd(struct wmi_t *wmip, u8 *pmk);

int
wmi_set_excess_tx_retry_thres_cmd(struct wmi_t *wmip, WMI_SET_EXCESS_TX_RETRY_THRES_CMD *cmd);

u16 wmi_ieee2freq (int chan);

u32 wmi_freq2ieee (u16 freq);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -997,6 +997,7 @@ typedef enum {

#define AR6000_XIOCTL_WMI_SET_TX_SGI_PARAM 154

#define AR6000_XIOCTL_WMI_SET_EXCESS_TX_RETRY_THRES 161

/* used by AR6000_IOCTL_WMI_GETREV */
struct ar6000_version {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,13 @@ u8 xioctl_filter[] = {
(0xFF), /* AR6000_XIOCTL_ADD_AP_INTERFACE 152 */
(0xFF), /* AR6000_XIOCTL_REMOVE_AP_INTERFACE 153 */
(0xFF), /* AR6000_XIOCTL_WMI_SET_TX_SGI_PARAM 154 */
(INFRA_NETWORK | ADHOC_NETWORK), /* AR6000_XIOCTL_WMI_SET_WPA_OFFLOAD_STATE 155 */
(INFRA_NETWORK | ADHOC_NETWORK), /* AR6000_XIOCTL_WMI_SET_PASSPHRASE 156 */
(0xFF),
(0xFF),
(0xFF),
(0xFF),
(INFRA_NETWORK | ADHOC_NETWORK), /* AR6000_XIOCTL_WMI_SET_EXCESS_TX_RETRY_THRES 161 */
};

#endif /*_WMI_FILTER_LINUX_H_*/
28 changes: 28 additions & 0 deletions trunk/drivers/staging/ath6kl/os/linux/ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1329,6 +1329,28 @@ ar6000_xioctl_get_btcoex_stats_cmd(struct net_device * dev, char *userdata, stru
return(ret);
}

static int
ar6000_xioctl_set_excess_tx_retry_thres_cmd(struct net_device * dev, char * userdata)
{
AR_SOFTC_T *ar = (AR_SOFTC_T *)ar6k_priv(dev);
WMI_SET_EXCESS_TX_RETRY_THRES_CMD cmd;
int ret = 0;

if (ar->arWmiReady == false) {
return -EIO;
}

if (copy_from_user(&cmd, userdata, sizeof(cmd))) {
return -EFAULT;
}

if (wmi_set_excess_tx_retry_thres_cmd(ar->arWmi, &cmd) != 0)
{
ret = -EINVAL;
}
return(ret);
}

#ifdef CONFIG_HOST_GPIO_SUPPORT
struct ar6000_gpio_intr_wait_cmd_s gpio_intr_results;
/* gpio_reg_results and gpio_data_available are protected by arSem */
Expand Down Expand Up @@ -4660,6 +4682,12 @@ int ar6000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
#endif
break;

case AR6000_XIOCTL_WMI_SET_EXCESS_TX_RETRY_THRES:
{
ret = ar6000_xioctl_set_excess_tx_retry_thres_cmd(dev, userdata);
break;
}

default:
ret = -EOPNOTSUPP;
}
Expand Down
21 changes: 21 additions & 0 deletions trunk/drivers/staging/ath6kl/wmi/wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -6609,6 +6609,27 @@ wmi_set_pmk_cmd(struct wmi_t *wmip, u8 *pmk)
return (wmi_cmd_send(wmip, osbuf, WMI_SET_PMK_CMDID, NO_SYNC_WMIFLAG));
}

int
wmi_set_excess_tx_retry_thres_cmd(struct wmi_t *wmip, WMI_SET_EXCESS_TX_RETRY_THRES_CMD *cmd)
{
void *osbuf;
WMI_SET_EXCESS_TX_RETRY_THRES_CMD *p;

osbuf = A_NETBUF_ALLOC(sizeof(WMI_SET_EXCESS_TX_RETRY_THRES_CMD));
if (osbuf == NULL) {
return A_NO_MEMORY;
}

A_NETBUF_PUT(osbuf, sizeof(WMI_SET_EXCESS_TX_RETRY_THRES_CMD));

p = (WMI_SET_EXCESS_TX_RETRY_THRES_CMD *)(A_NETBUF_DATA(osbuf));
memset(p, 0, sizeof(*p));

p->threshold = cmd->threshold;

return (wmi_cmd_send(wmip, osbuf, WMI_SET_EXCESS_TX_RETRY_THRES_CMDID, NO_SYNC_WMIFLAG));
}

int
wmi_SGI_cmd(struct wmi_t *wmip, u32 sgiMask, u8 sgiPERThreshold)
{
Expand Down

0 comments on commit 9a22720

Please sign in to comment.