On Feb 5, 2008 5:45 PM, Tomas Winkler <tomas.winkler@xxxxxxxxx> wrote: > From: Ron Rindjunsky <ron.rindjunsky@xxxxxxxxx> > > 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@xxxxxxxxx> > Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> > --- > 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 Felix will this work for you? Thanks Tomas > --------------------------------------------------------------------- > 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. > > - > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html