Skip to content

Commit

Permalink
ath10k-ct: Attempt to fix-out-of-tree compile for 4.16
Browse files Browse the repository at this point in the history
And backport some other patches from 4.20 to older releases.

Signed-off-by: Ben Greear <greearb@candelatech.com>
  • Loading branch information
greearb committed Mar 30, 2019
1 parent a2aec62 commit a696e60
Show file tree
Hide file tree
Showing 13 changed files with 88 additions and 16 deletions.
9 changes: 8 additions & 1 deletion ath10k-4.13/debug.c
Expand Up @@ -1314,11 +1314,18 @@ static ssize_t ath10k_read_debug_level(struct file *file,
"WMI-PRINT: 0x2000\n"
"PCI-PS: 0x4000\n"
"AHB: 0x8000\n"
"SDIO: 0x10000\n"
"SDIO_DUMP: 0x20000\n"
"USB: 0x40000\n"
"USB_BULK: 0x80000\n"
"SNOC: 0x100000\n"
"QMI: 0x200000\n"
"BEACONS: 0x8000000\n"
"NO-FW-DBGLOG:0x10000000\n"
"MAC2: 0x20000000\n"
"INFO-AS-DBG: 0x40000000\n"
"FW: 0x80000000\n"
"ALL: 0xFFFFFFFF\n";
"ALL: 0xEFFFFFFF\n";
char wbuf[sizeof(buf) + 60];
sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s",
ath10k_debug_mask, buf);
Expand Down
4 changes: 4 additions & 0 deletions ath10k-4.13/debug.h
Expand Up @@ -44,6 +44,10 @@ enum ath10k_debug_mask {
ATH10K_DBG_AHB = 0x00008000,
ATH10K_DBG_SDIO = 0x00010000,
ATH10K_DBG_SDIO_DUMP = 0x00020000,
ATH10K_DBG_USB_BULK = 0x00080000,
ATH10K_DBG_SNOC = 0x00100000,
ATH10K_DBG_QMI = 0x00200000,
ATH10K_DBG_BEACON = 0x08000000, /* Print out beacon debug info */
ATH10K_DBG_NO_DBGLOG = 0x10000000, /* Don't print DBGLOG firmware hex messages in kernel logs. */
ATH10K_DBG_MAC2 = 0x20000000, /* more verbose MAC debugging */
ATH10K_DBG_INFO_AS_DBG = 0x40000000,
Expand Down
13 changes: 10 additions & 3 deletions ath10k-4.13/wmi.c
Expand Up @@ -1809,6 +1809,9 @@ static void ath10k_wmi_tx_beacon_nowait(struct ath10k_vif *arvif)
cb->paddr,
dtim_zero,
deliver_cab);
ath10k_dbg(ar, ATH10K_DBG_BEACON,
"wmi event beacon send, vdev-id: %u rv: %d\n",
arvif->vdev_id, ret);

spin_lock_bh(&ar->data_lock);

Expand Down Expand Up @@ -5285,6 +5288,7 @@ static void ath10k_wmi_event_beacon_tx(struct ath10k *ar, struct sk_buff *skb)
struct ath10k_vif *arvif;
const struct wmi_beacon_tx_event *ev;
u32 vdev_id;
u32 status;

spin_lock_bh(&ar->data_lock);

Expand All @@ -5294,10 +5298,13 @@ static void ath10k_wmi_event_beacon_tx(struct ath10k *ar, struct sk_buff *skb)
goto exit;

vdev_id = __le32_to_cpu(ev->vdev_id);
status = __le32_to_cpu(ev->tx_status);

/*ath10k_dbg(ar, ATH10K_DBG_WMI,
"wmi event beacon-tx-complete, vdev-id: %u completion-status: 0x%x\n",
vdev_id, __le32_to_cpu(ev->tx_status));*/
ath10k_dbg(ar, ATH10K_DBG_BEACON,
"wmi event beacon-tx-complete, vdev-id: %u completion-status: 0x%x (%s) tried: %d failed: %d ratecode: 0x%x rateflags: 0x%x tsFlags: 0x%x\n",
vdev_id, status,
status == 0 ? "OK" : (status == 1 ? "XRETRY" : (status == 2 ? "DROP" : "UNKNOWN")),
ev->mpdus_tried, ev->mpdus_failed, ev->tx_rate_code, ev->tx_rate_flags, ev->tsFlags);

arvif = ath10k_get_arvif(ar, vdev_id);
if (!arvif) {
Expand Down
8 changes: 7 additions & 1 deletion ath10k-4.13/wmi.h
Expand Up @@ -5872,7 +5872,13 @@ struct wmi_bcn_info {
struct wmi_beacon_tx_event {
__le32 vdev_id;
__le32 tx_status;
__le32 future[4];
u8 mpdus_tried;
u8 mpdus_failed;
u8 tx_rate_code;
u8 tx_rate_flags;
u8 tsFlags; /* WHAL_TXS_FLAG_TSF_TIME_FILTERED, etc */
u8 future8[3];
__le32 future[2];
};

struct wmi_host_swba_event {
Expand Down
9 changes: 8 additions & 1 deletion ath10k-4.16/debug.c
Expand Up @@ -1220,11 +1220,18 @@ static ssize_t ath10k_read_debug_level(struct file *file,
"WMI-PRINT: 0x2000\n"
"PCI-PS: 0x4000\n"
"AHB: 0x8000\n"
"SDIO: 0x10000\n"
"SDIO_DUMP: 0x20000\n"
"USB: 0x40000\n"
"USB_BULK: 0x80000\n"
"SNOC: 0x100000\n"
"QMI: 0x200000\n"
"BEACONS: 0x8000000\n"
"NO-FW-DBGLOG:0x10000000\n"
"MAC2: 0x20000000\n"
"INFO-AS-DBG: 0x40000000\n"
"FW: 0x80000000\n"
"ALL: 0xFFFFFFFF\n";
"ALL: 0xEFFFFFFF\n";
char wbuf[sizeof(buf) + 60];
sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s",
ath10k_debug_mask, buf);
Expand Down
2 changes: 2 additions & 0 deletions ath10k-4.16/debug.h
Expand Up @@ -47,6 +47,8 @@ enum ath10k_debug_mask {
ATH10K_DBG_USB = 0x00040000,
ATH10K_DBG_USB_BULK = 0x00080000,
ATH10K_DBG_SNOC = 0x00100000,
ATH10K_DBG_QMI = 0x00200000,
ATH10K_DBG_BEACON = 0x08000000, /* Print out beacon debug info */
ATH10K_DBG_NO_DBGLOG = 0x10000000, /* Don't print DBGLOG firmware hex messages in kernel logs. */
ATH10K_DBG_MAC2 = 0x20000000, /* more verbose MAC debugging */
ATH10K_DBG_INFO_AS_DBG = 0x40000000,
Expand Down
5 changes: 4 additions & 1 deletion ath10k-4.16/mac.c
Expand Up @@ -4930,6 +4930,7 @@ static int ath10k_start_scan(struct ath10k *ar,
/* mac80211 callbacks */
/**********************/

#ifdef HAS_CONSUME_BLOCK_ACK
static int ath10k_mac_consume_block_ack(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct sk_buff *skb)
Expand All @@ -4954,7 +4955,7 @@ static int ath10k_mac_consume_block_ack(struct ieee80211_hw *hw,
}
return -EINVAL;
}

#endif

static void ath10k_mac_op_tx(struct ieee80211_hw *hw,
struct ieee80211_tx_control *control,
Expand Down Expand Up @@ -8766,7 +8767,9 @@ static const struct ieee80211_ops ath10k_ops = {
#ifdef CONFIG_MAC80211_DEBUGFS
.sta_add_debugfs = ath10k_sta_add_debugfs,
#endif
#ifdef HAS_CONSUME_BLOCK_ACK
.consume_block_ack = ath10k_mac_consume_block_ack,
#endif
};

#define CHAN2G(_channel, _freq, _flags) { \
Expand Down
14 changes: 11 additions & 3 deletions ath10k-4.16/wmi.c
Expand Up @@ -311,6 +311,7 @@ static struct wmi_cmd_map wmi_10x_cmd_map = {
.sta_keepalive_cmd = WMI_CMD_UNSUPPORTED,
.echo_cmdid = WMI_10X_ECHO_CMDID,
.pdev_utf_cmdid = WMI_10X_PDEV_UTF_CMDID,
.pdev_consume_block_ack_cmdid = WMI_PDEV_CONSUME_BLOCK_ACK_CMDID_CT,
.dbglog_cfg_cmdid = WMI_10X_DBGLOG_CFG_CMDID,
.pdev_qvit_cmdid = WMI_10X_PDEV_QVIT_CMDID,
.pdev_ftm_intg_cmdid = WMI_CMD_UNSUPPORTED,
Expand Down Expand Up @@ -1870,6 +1871,9 @@ static void ath10k_wmi_tx_beacon_nowait(struct ath10k_vif *arvif)
cb->paddr,
dtim_zero,
deliver_cab);
ath10k_dbg(ar, ATH10K_DBG_BEACON,
"wmi event beacon send, vdev-id: %u rv: %d\n",
arvif->vdev_id, ret);

spin_lock_bh(&ar->data_lock);

Expand Down Expand Up @@ -5439,6 +5443,7 @@ static void ath10k_wmi_event_beacon_tx(struct ath10k *ar, struct sk_buff *skb)
struct ath10k_vif *arvif;
const struct wmi_beacon_tx_event *ev;
u32 vdev_id;
u32 status;

spin_lock_bh(&ar->data_lock);

Expand All @@ -5448,10 +5453,13 @@ static void ath10k_wmi_event_beacon_tx(struct ath10k *ar, struct sk_buff *skb)
goto exit;

vdev_id = __le32_to_cpu(ev->vdev_id);
status = __le32_to_cpu(ev->tx_status);

/*ath10k_dbg(ar, ATH10K_DBG_WMI,
"wmi event beacon-tx-complete, vdev-id: %u completion-status: 0x%x\n",
vdev_id, __le32_to_cpu(ev->tx_status));*/
ath10k_dbg(ar, ATH10K_DBG_BEACON,
"wmi event beacon-tx-complete, vdev-id: %u completion-status: 0x%x (%s) tried: %d failed: %d ratecode: 0x%x rateflags: 0x%x tsFlags: 0x%x\n",
vdev_id, status,
status == 0 ? "OK" : (status == 1 ? "XRETRY" : (status == 2 ? "DROP" : "UNKNOWN")),
ev->mpdus_tried, ev->mpdus_failed, ev->tx_rate_code, ev->tx_rate_flags, ev->tsFlags);

arvif = ath10k_get_arvif(ar, vdev_id);
if (!arvif) {
Expand Down
9 changes: 8 additions & 1 deletion ath10k-4.16/wmi.h
Expand Up @@ -1421,6 +1421,7 @@ enum wmi_10x_cmd_id {
WMI_10X_SET_CCA_PARAMS_CMDID,
WMI_10X_PDEV_BSS_CHAN_INFO_REQUEST,

WMI_PDEV_CONSUME_BLOCK_ACK_CMDID_CT = WMI_10X_END_CMDID - 102, /* CT Specific Command ID */
WMI_PDEV_SET_SPECIAL_CMDID = WMI_10X_END_CMDID - 101, /* CT only: special hack (cts/slot/cifs/ack timers, etc) */
WMI_NOP = WMI_10X_END_CMDID - 100, /* CT only: wmi transport keep-alive, basically */

Expand Down Expand Up @@ -6067,7 +6068,13 @@ struct wmi_bcn_info {
struct wmi_beacon_tx_event {
__le32 vdev_id;
__le32 tx_status;
__le32 future[4];
u8 mpdus_tried;
u8 mpdus_failed;
u8 tx_rate_code;
u8 tx_rate_flags;
u8 tsFlags; /* WHAL_TXS_FLAG_TSF_TIME_FILTERED, etc */
u8 future8[3];
__le32 future[2];
};

struct wmi_host_swba_event {
Expand Down
9 changes: 8 additions & 1 deletion ath10k-4.19/debug.c
Expand Up @@ -1220,11 +1220,18 @@ static ssize_t ath10k_read_debug_level(struct file *file,
"WMI-PRINT: 0x2000\n"
"PCI-PS: 0x4000\n"
"AHB: 0x8000\n"
"SDIO: 0x10000\n"
"SDIO_DUMP: 0x20000\n"
"USB: 0x40000\n"
"USB_BULK: 0x80000\n"
"SNOC: 0x100000\n"
"QMI: 0x200000\n"
"BEACONS: 0x8000000\n"
"NO-FW-DBGLOG:0x10000000\n"
"MAC2: 0x20000000\n"
"INFO-AS-DBG: 0x40000000\n"
"FW: 0x80000000\n"
"ALL: 0xFFFFFFFF\n";
"ALL: 0xEFFFFFFF\n";
char wbuf[sizeof(buf) + 60];
sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s",
ath10k_debug_mask, buf);
Expand Down
1 change: 1 addition & 0 deletions ath10k-4.19/debug.h
Expand Up @@ -48,6 +48,7 @@ enum ath10k_debug_mask {
ATH10K_DBG_USB = 0x00040000,
ATH10K_DBG_USB_BULK = 0x00080000,
ATH10K_DBG_SNOC = 0x00100000,
ATH10K_DBG_BEACON = 0x08000000, /* Print out beacon debug info */
ATH10K_DBG_NO_DBGLOG = 0x10000000, /* Don't print DBGLOG firmware hex messages in kernel logs. */
ATH10K_DBG_MAC2 = 0x20000000, /* more verbose MAC debugging */
ATH10K_DBG_INFO_AS_DBG = 0x40000000,
Expand Down
13 changes: 10 additions & 3 deletions ath10k-4.19/wmi.c
Expand Up @@ -1850,6 +1850,9 @@ static void ath10k_wmi_tx_beacon_nowait(struct ath10k_vif *arvif)
cb->paddr,
dtim_zero,
deliver_cab);
ath10k_dbg(ar, ATH10K_DBG_BEACON,
"wmi event beacon send, vdev-id: %u rv: %d\n",
arvif->vdev_id, ret);

spin_lock_bh(&ar->data_lock);

Expand Down Expand Up @@ -5904,6 +5907,7 @@ static void ath10k_wmi_event_beacon_tx(struct ath10k *ar, struct sk_buff *skb)
struct ath10k_vif *arvif;
const struct wmi_beacon_tx_event *ev;
u32 vdev_id;
u32 status;

spin_lock_bh(&ar->data_lock);

Expand All @@ -5913,10 +5917,13 @@ static void ath10k_wmi_event_beacon_tx(struct ath10k *ar, struct sk_buff *skb)
goto exit;

vdev_id = __le32_to_cpu(ev->vdev_id);
status = __le32_to_cpu(ev->tx_status);

/*ath10k_dbg(ar, ATH10K_DBG_WMI,
"wmi event beacon-tx-complete, vdev-id: %u completion-status: 0x%x\n",
vdev_id, __le32_to_cpu(ev->tx_status));*/
ath10k_dbg(ar, ATH10K_DBG_BEACON,
"wmi event beacon-tx-complete, vdev-id: %u completion-status: 0x%x (%s) tried: %d failed: %d ratecode: 0x%x rateflags: 0x%x tsFlags: 0x%x\n",
vdev_id, status,
status == 0 ? "OK" : (status == 1 ? "XRETRY" : (status == 2 ? "DROP" : "UNKNOWN")),
ev->mpdus_tried, ev->mpdus_failed, ev->tx_rate_code, ev->tx_rate_flags, ev->tsFlags);

arvif = ath10k_get_arvif(ar, vdev_id);
if (!arvif) {
Expand Down
8 changes: 7 additions & 1 deletion ath10k-4.19/wmi.h
Expand Up @@ -6199,7 +6199,13 @@ struct wmi_bcn_info {
struct wmi_beacon_tx_event {
__le32 vdev_id;
__le32 tx_status;
__le32 future[4];
u8 mpdus_tried;
u8 mpdus_failed;
u8 tx_rate_code;
u8 tx_rate_flags;
u8 tsFlags; /* WHAL_TXS_FLAG_TSF_TIME_FILTERED, etc */
u8 future8[3];
__le32 future[2];
};

struct wmi_host_swba_event {
Expand Down

0 comments on commit a696e60

Please sign in to comment.