|
@@ -543,6 +543,27 @@ struct wil_status_ring {
|
|
struct wil_ring_rx_data rx_data;
|
|
struct wil_ring_rx_data rx_data;
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+#define WIL_STA_TID_NUM (16)
|
|
|
|
+#define WIL_MCS_MAX (12) /* Maximum MCS supported */
|
|
|
|
+
|
|
|
|
+struct wil_net_stats {
|
|
|
|
+ unsigned long rx_packets;
|
|
|
|
+ unsigned long tx_packets;
|
|
|
|
+ unsigned long rx_bytes;
|
|
|
|
+ unsigned long tx_bytes;
|
|
|
|
+ unsigned long tx_errors;
|
|
|
|
+ unsigned long rx_dropped;
|
|
|
|
+ unsigned long rx_non_data_frame;
|
|
|
|
+ unsigned long rx_short_frame;
|
|
|
|
+ unsigned long rx_large_frame;
|
|
|
|
+ unsigned long rx_replay;
|
|
|
|
+ unsigned long rx_mic_error;
|
|
|
|
+ unsigned long rx_key_error; /* eDMA specific */
|
|
|
|
+ unsigned long rx_amsdu_error; /* eDMA specific */
|
|
|
|
+ u16 last_mcs_rx;
|
|
|
|
+ u64 rx_per_mcs[WIL_MCS_MAX + 1];
|
|
|
|
+};
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* struct tx_rx_ops - different TX/RX ops for legacy and enhanced
|
|
* struct tx_rx_ops - different TX/RX ops for legacy and enhanced
|
|
* DMA flow
|
|
* DMA flow
|
|
@@ -576,6 +597,8 @@ struct wil_txrx_ops {
|
|
void (*get_netif_rx_params)(struct sk_buff *skb,
|
|
void (*get_netif_rx_params)(struct sk_buff *skb,
|
|
int *cid, int *security);
|
|
int *cid, int *security);
|
|
int (*rx_crypto_check)(struct wil6210_priv *wil, struct sk_buff *skb);
|
|
int (*rx_crypto_check)(struct wil6210_priv *wil, struct sk_buff *skb);
|
|
|
|
+ int (*rx_error_check)(struct wil6210_priv *wil, struct sk_buff *skb,
|
|
|
|
+ struct wil_net_stats *stats);
|
|
bool (*is_rx_idle)(struct wil6210_priv *wil);
|
|
bool (*is_rx_idle)(struct wil6210_priv *wil);
|
|
irqreturn_t (*irq_rx)(int irq, void *cookie);
|
|
irqreturn_t (*irq_rx)(int irq, void *cookie);
|
|
};
|
|
};
|
|
@@ -676,27 +699,6 @@ enum wil_sta_status {
|
|
wil_sta_connected = 2,
|
|
wil_sta_connected = 2,
|
|
};
|
|
};
|
|
|
|
|
|
-#define WIL_STA_TID_NUM (16)
|
|
|
|
-#define WIL_MCS_MAX (12) /* Maximum MCS supported */
|
|
|
|
-
|
|
|
|
-struct wil_net_stats {
|
|
|
|
- unsigned long rx_packets;
|
|
|
|
- unsigned long tx_packets;
|
|
|
|
- unsigned long rx_bytes;
|
|
|
|
- unsigned long tx_bytes;
|
|
|
|
- unsigned long tx_errors;
|
|
|
|
- unsigned long rx_dropped;
|
|
|
|
- unsigned long rx_non_data_frame;
|
|
|
|
- unsigned long rx_short_frame;
|
|
|
|
- unsigned long rx_large_frame;
|
|
|
|
- unsigned long rx_replay;
|
|
|
|
- unsigned long rx_mic_error; /* eDMA specific */
|
|
|
|
- unsigned long rx_key_error; /* eDMA specific */
|
|
|
|
- unsigned long rx_amsdu_error; /* eDMA specific */
|
|
|
|
- u16 last_mcs_rx;
|
|
|
|
- u64 rx_per_mcs[WIL_MCS_MAX + 1];
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* struct wil_sta_info - data for peer
|
|
* struct wil_sta_info - data for peer
|
|
*
|
|
*
|