diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/htc.h')
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/htc.h | 16 |
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 | ||
503 | struct htc_control_buffer { | 507 | struct 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 | ||
548 | void *ath6kl_htc_create(struct ath6kl *ar); | 562 | void *ath6kl_htc_create(struct ath6kl *ar); |