Lines Matching refs:stream

111 /* Each HW queue can have one AMPDU stream.
207 /* Ampdu stream information */
1788 /* caller must hold priv->stream_lock when calling the stream functions */
1792 struct mwl8k_ampdu_stream *stream;
1797 stream = &priv->ampdu[i];
1798 if (stream->state == AMPDU_NO_STREAM) {
1799 stream->sta = sta;
1800 stream->state = AMPDU_STREAM_NEW;
1801 stream->tid = tid;
1802 stream->idx = i;
1803 wiphy_debug(hw->wiphy, "Added a new stream for %pM %d",
1805 return stream;
1812 mwl8k_start_stream(struct ieee80211_hw *hw, struct mwl8k_ampdu_stream *stream)
1816 /* if the stream has already been started, don't start it again */
1817 if (stream->state != AMPDU_STREAM_NEW)
1819 ret = ieee80211_start_tx_ba_session(stream->sta, stream->tid, 0);
1821 wiphy_debug(hw->wiphy, "Failed to start stream for %pM %d: "
1822 "%d\n", stream->sta->addr, stream->tid, ret);
1824 wiphy_debug(hw->wiphy, "Started stream for %pM %d\n",
1825 stream->sta->addr, stream->tid);
1830 mwl8k_remove_stream(struct ieee80211_hw *hw, struct mwl8k_ampdu_stream *stream)
1832 wiphy_debug(hw->wiphy, "Remove stream for %pM %d\n", stream->sta->addr,
1833 stream->tid);
1834 memset(stream, 0, sizeof(*stream));
1844 struct mwl8k_ampdu_stream *stream;
1845 stream = &priv->ampdu[i];
1846 if (stream->state == AMPDU_NO_STREAM)
1848 if (!memcmp(stream->sta->addr, addr, ETH_ALEN) &&
1849 stream->tid == tid)
1850 return stream;
1881 * an ampdu stream to be started.
1915 struct mwl8k_ampdu_stream *stream = NULL;
1969 * the ampdu stream, mac80211 queues further packets for that
1974 * ampdu packets getting dropped at the receiver after the stream has
1993 stream = mwl8k_lookup_stream(hw, sta->addr, tid);
1994 if (stream != NULL) {
1995 if (stream->state == AMPDU_STREAM_ACTIVE) {
1997 txpriority = (BA_QUEUE + stream->idx) %
1999 if (stream->idx <= 1)
2000 index = stream->idx +
2003 } else if (stream->state == AMPDU_STREAM_NEW) {
2005 * after we've initiated a stream, but before
2020 * packets in the BA stream to be discarded.
2038 stream = mwl8k_add_stream(hw, sta, tid);
2039 if (stream != NULL)
2057 mwl8k_remove_stream(hw, stream);
2080 mwl8k_remove_stream(hw, stream);
2130 if (mwl8k_start_stream(hw, stream))
2131 mwl8k_remove_stream(hw, stream);
3972 mwl8k_check_ba(struct ieee80211_hw *hw, struct mwl8k_ampdu_stream *stream,
3987 cmd->create_params.queue_id = stream->idx;
3988 memcpy(&cmd->create_params.peer_mac_addr[0], stream->sta->addr,
3990 cmd->create_params.tid = stream->tid;
4004 mwl8k_create_ba(struct ieee80211_hw *hw, struct mwl8k_ampdu_stream *stream,
4022 cmd->create_params.queue_id = stream->idx;
4024 memcpy(cmd->create_params.peer_mac_addr, stream->sta->addr, ETH_ALEN);
4025 cmd->create_params.tid = stream->tid;
4030 (stream->sta->deflink.ht_cap.ampdu_factor &
4032 ((stream->sta->deflink.ht_cap.ampdu_density << 2) &
4041 wiphy_debug(hw->wiphy, "Created a BA stream for %pM : tid %d\n",
4042 stream->sta->addr, stream->tid);
4064 wiphy_debug(hw->wiphy, "Deleted BA stream index %d\n", idx);
5454 struct mwl8k_ampdu_stream *stream;
5462 stream = mwl8k_lookup_stream(hw, addr, tid);
5476 * to O for the first MPDU in this BA stream.
5479 if (stream == NULL) {
5487 stream = mwl8k_add_stream(hw, sta, tid);
5489 if (stream == NULL) {
5494 stream->state = AMPDU_STREAM_IN_PROGRESS;
5503 mwl8k_remove_stream(hw, stream);
5508 rc = mwl8k_check_ba(hw, stream, vif);
5527 mwl8k_remove_stream(hw, stream);
5536 if (stream) {
5537 if (stream->state == AMPDU_STREAM_ACTIVE) {
5538 idx = stream->idx;
5543 mwl8k_remove_stream(hw, stream);
5548 BUG_ON(stream == NULL);
5549 BUG_ON(stream->state != AMPDU_STREAM_IN_PROGRESS);
5551 rc = mwl8k_create_ba(hw, stream, buf_size, vif);
5554 stream->state = AMPDU_STREAM_ACTIVE;
5556 idx = stream->idx;
5561 "Failed adding stream for sta %pM tid %d\n",
5563 mwl8k_remove_stream(hw, stream);