linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC v2] mac80211: add general rate information to Tx status
@ 2008-02-05 15:45 Tomas Winkler
  2008-02-05 19:40 ` Tomas Winkler
  2008-02-06 14:15 ` Johannes Berg
  0 siblings, 2 replies; 11+ messages in thread
From: Tomas Winkler @ 2008-02-05 15:45 UTC (permalink / raw)
  To: linville, johannes; +Cc: linux-wireless, Ron Rindjunsky

From: Ron Rindjunsky <ron.rindjunsky@intel.com>

This patch introduces data structures meant to contain actual
configuration in which Tx was made in HW, for general purposes
and for rate scaling in specific.
it includes the rate, general flags for the rate (e.g. Tx antenna)
and the number of retries for the rate.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
---
 include/net/mac80211.h |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 460da54..ec966c8 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -318,6 +318,22 @@ struct ieee80211_rx_status {
 };
 
 /**
+ * struct ieee80211_tx_rate_ctrl - rate ctrl data
+ *
+ * The low-level driver should provide this struct as part
+ * of the ieee80211_tx_status. this struct should give information
+ * about the tx that is not part of the plcp rates table.
+ * @bitrate: rate used.
+ * @flags: Tx information (e.g. antenna selectd, guard interval, etc.)
+ * @retry_count: number of retries for this specific rate
+ */
+struct ieee80211_tx_rate_ctrl {
+	u32 bitrate;
+	u32 flags;
+	u8 retry_count;
+};
+
+/**
  * enum ieee80211_tx_status_flags - transmit status flags
  *
  * Status flags to indicate various transmit conditions.
@@ -343,7 +359,7 @@ enum ieee80211_tx_status_flags {
  * @control: a copy of the &struct ieee80211_tx_control passed to the driver
  *	in the tx() callback.
  * @flags: transmit status flags, defined above
- * @retry_count: number of retries
+ * @retry_count: total number of retries
  * @excessive_retries: set to 1 if the frame was retried many times
  *	but not acknowledged
  * @ampdu_ack_len: number of aggregated frames.
@@ -353,6 +369,8 @@ enum ieee80211_tx_status_flags {
  * @ack_signal: signal strength of the ACK frame
  * @queue_length: ?? REMOVE
  * @queue_number: ?? REMOVE
+ * @rate_ctrl_num: number of rate_ctrl allocated
+ * @rate_ctrl: info for rate at which the packet was actually transmitted
  */
 struct ieee80211_tx_status {
 	struct ieee80211_tx_control control;
@@ -364,6 +382,8 @@ struct ieee80211_tx_status {
 	int ack_signal;
 	int queue_length;
 	int queue_number;
+	size_t rate_ctrl_num;
+	struct ieee80211_tx_rate_ctrl rate_ctrl[0];
 };
 
 /**
-- 
1.5.2.2

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2008-02-07 16:06 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-05 15:45 [RFC v2] mac80211: add general rate information to Tx status Tomas Winkler
2008-02-05 19:40 ` Tomas Winkler
2008-02-05 22:18   ` Felix Fietkau
2008-02-06 14:15 ` Johannes Berg
2008-02-06 14:44   ` Tomas Winkler
2008-02-06 14:58     ` Johannes Berg
2008-02-06 16:18       ` Tomas Winkler
2008-02-06 16:28         ` Johannes Berg
2008-02-06 18:04           ` Tomas Winkler
2008-02-07 10:41             ` Johannes Berg
2008-02-07 16:06               ` Nick Kossifidis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).