aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/htc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/htc.h')
-rw-r--r--drivers/net/wireless/ath/ath6kl/htc.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/htc.h b/drivers/net/wireless/ath/ath6kl/htc.h
index 57672e1ed1a6..5027ccc36b62 100644
--- a/drivers/net/wireless/ath/ath6kl/htc.h
+++ b/drivers/net/wireless/ath/ath6kl/htc.h
@@ -1,5 +1,6 @@
1/* 1/*
2 * Copyright (c) 2004-2011 Atheros Communications Inc. 2 * Copyright (c) 2004-2011 Atheros Communications Inc.
3 * Copyright (c) 2011 Qualcomm Atheros, Inc.
3 * 4 *
4 * Permission to use, copy, modify, and/or distribute this software for any 5 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above 6 * purpose with or without fee is hereby granted, provided that the above
@@ -87,6 +88,8 @@
87#define WMI_DATA_VO_SVC MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 4) 88#define WMI_DATA_VO_SVC MAKE_SERVICE_ID(WMI_SERVICE_GROUP, 4)
88#define WMI_MAX_SERVICES 5 89#define WMI_MAX_SERVICES 5
89 90
91#define WMM_NUM_AC 4
92
90/* reserved and used to flush ALL packets */ 93/* reserved and used to flush ALL packets */
91#define HTC_TX_PACKET_TAG_ALL 0 94#define HTC_TX_PACKET_TAG_ALL 0
92#define HTC_SERVICE_TX_PACKET_TAG 1 95#define HTC_SERVICE_TX_PACKET_TAG 1
@@ -498,6 +501,7 @@ struct htc_endpoint {
498 u8 seqno; 501 u8 seqno;
499 u32 conn_flags; 502 u32 conn_flags;
500 struct htc_endpoint_stats ep_st; 503 struct htc_endpoint_stats ep_st;
504 u16 tx_drop_packet_threshold;
501}; 505};
502 506
503struct htc_control_buffer { 507struct htc_control_buffer {
@@ -519,9 +523,16 @@ struct htc_target {
519 struct ath6kl_htc_credit_info *credit_info; 523 struct ath6kl_htc_credit_info *credit_info;
520 int tgt_creds; 524 int tgt_creds;
521 unsigned int tgt_cred_sz; 525 unsigned int tgt_cred_sz;
526
527 /* protects free_ctrl_txbuf and free_ctrl_rxbuf */
522 spinlock_t htc_lock; 528 spinlock_t htc_lock;
529
530 /* FIXME: does this protext rx_bufq and endpoint structures or what? */
523 spinlock_t rx_lock; 531 spinlock_t rx_lock;
532
533 /* protects endpoint->txq */
524 spinlock_t tx_lock; 534 spinlock_t tx_lock;
535
525 struct ath6kl_device *dev; 536 struct ath6kl_device *dev;
526 u32 htc_flags; 537 u32 htc_flags;
527 u32 rx_st_flags; 538 u32 rx_st_flags;
@@ -531,7 +542,7 @@ struct htc_target {
531 /* max messages per bundle for HTC */ 542 /* max messages per bundle for HTC */
532 int msg_per_bndl_max; 543 int msg_per_bndl_max;
533 544
534 bool tx_bndl_enable; 545 u32 tx_bndl_mask;
535 int rx_bndl_enable; 546 int rx_bndl_enable;
536 int max_rx_bndl_sz; 547 int max_rx_bndl_sz;
537 int max_tx_bndl_sz; 548 int max_tx_bndl_sz;
@@ -543,6 +554,9 @@ struct htc_target {
543 int max_xfer_szper_scatreq; 554 int max_xfer_szper_scatreq;
544 555
545 int chk_irq_status_cnt; 556 int chk_irq_status_cnt;
557
558 /* counts the number of Tx without bundling continously per AC */
559 u32 ac_tx_count[WMM_NUM_AC];
546}; 560};
547 561
548void *ath6kl_htc_create(struct ath6kl *ar); 562void *ath6kl_htc_create(struct ath6kl *ar);