<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/wireless/mediatek/mt76/tx.c, branch linux-6.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2023-05-11T14:10:51Z</updated>
<entry>
<title>wifi: mt76: add missing locking to protect against concurrent rx/status calls</title>
<updated>2023-05-11T14:10:51Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2023-04-14T12:10:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=837487fa6af6fa46afd73b078413984a3244e228'/>
<id>urn:sha1:837487fa6af6fa46afd73b078413984a3244e228</id>
<content type='text'>
commit 5b8ccdfb943f6a03c676d2ea816dd38c149e920b upstream.

According to the documentation, ieee80211_rx_list must not run concurrently
with ieee80211_tx_status (or its variants).

Cc: stable@vger.kernel.org
Fixes: 88046b2c9f6d ("mt76: add support for reporting tx status with skb")
Reported-by: Brian Coverstone &lt;brian@mainsequence.net&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>wifi: mt76: handle possible mt76_rx_token_consume failures</title>
<updated>2023-01-16T15:27:16Z</updated>
<author>
<name>Lorenzo Bianconi</name>
<email>lorenzo@kernel.org</email>
</author>
<published>2023-01-13T10:58:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e5c3ac895750b39ef53b84ff4814617ecd69d556'/>
<id>urn:sha1:e5c3ac895750b39ef53b84ff4814617ecd69d556</id>
<content type='text'>
Take into account possible error conditions of mt76_rx_token_consume
routine in mt7915_mmio_wed_init_rx_buf() and mt76_dma_add_buf()

Fixes: cd372b8c99c5 ("wifi: mt76: add WED RX support to mt76_dma_{add,get}_buf")
Fixes: 4f831d18d12d ("wifi: mt76: mt7915: enable WED RX support")
Signed-off-by: Lorenzo Bianconi &lt;lorenzo@kernel.org&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
(cherry picked from commit 96f134dc19645be4994e89a2f68fa89309becbee)
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/20230113105848.34642-2-nbd@nbd.name
</content>
</entry>
<entry>
<title>wifi: mt76: introduce rxwi and rx token utility routines</title>
<updated>2022-12-01T16:29:14Z</updated>
<author>
<name>Sujuan Chen</name>
<email>sujuan.chen@mediatek.com</email>
</author>
<published>2022-11-12T15:40:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2666bece0905a3e8ccb792602dbc76a63aaafe4b'/>
<id>urn:sha1:2666bece0905a3e8ccb792602dbc76a63aaafe4b</id>
<content type='text'>
This is a preliminary patch to introduce WED RX support for mt7915.

Tested-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
Co-developed-by: Lorenzo Bianconi &lt;lorenzo@kernel.org&gt;
Signed-off-by: Lorenzo Bianconi &lt;lorenzo@kernel.org&gt;
Signed-off-by: Sujuan Chen &lt;sujuan.chen@mediatek.com&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>wifi: mt76: fix rate reporting / throughput regression on mt7915 and newer</title>
<updated>2022-10-06T05:19:04Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2022-09-27T09:38:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6b430f72b2bc14fd0ac922dda92eaa51c82e15a4'/>
<id>urn:sha1:6b430f72b2bc14fd0ac922dda92eaa51c82e15a4</id>
<content type='text'>
mt7915 and newer need to report the rate_info that's stored in wcid-&gt;rate,
since they don't fill info-&gt;status.rates.

Cc: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
Reported-by: Mikhail Gavrilov &lt;mikhail.v.gavrilov@gmail.com&gt;
Link: https://lore.kernel.org/all/CABXGCsP0znm9pS-MiKtyxTXR7XiyFVqen0qzNpicGHDZKCzbwg@mail.gmail.com/
Fixes: 44fa75f207d8 ("mac80211: extend current rate control tx status API")
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Tested-by: Mikhail Gavrilov &lt;mikhail.v.gavrilov@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/20220927093823.6007-1-nbd@nbd.name
</content>
</entry>
<entry>
<title>mt76: convert MT_TX_HW_QUEUE_EXT_PHY to MT_TX_HW_QUEUE_PHY</title>
<updated>2022-07-11T11:40:03Z</updated>
<author>
<name>Lorenzo Bianconi</name>
<email>lorenzo@kernel.org</email>
</author>
<published>2022-07-04T07:02:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a062f00173913ec244053a7fac35544e917bd6f9'/>
<id>urn:sha1:a062f00173913ec244053a7fac35544e917bd6f9</id>
<content type='text'>
Report phy_indx in tx_info-&gt;hw_queue. This is a preliminary patch to add
newer chipset support

Co-developed-by: Bo Jiao &lt;bo.jiao@mediatek.com&gt;
Signed-off-by: Bo Jiao &lt;bo.jiao@mediatek.com&gt;
Signed-off-by: Lorenzo Bianconi &lt;lorenzo@kernel.org&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>mt76: introduce phys array in mt76_dev structure</title>
<updated>2022-07-11T11:40:03Z</updated>
<author>
<name>Lorenzo Bianconi</name>
<email>lorenzo@kernel.org</email>
</author>
<published>2022-07-04T07:02:20Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=dc44c45c8cd062292c45626b5c941397a0ff5ead'/>
<id>urn:sha1:dc44c45c8cd062292c45626b5c941397a0ff5ead</id>
<content type='text'>
Introduce phys array in mt76_dev structure to reference mt76_phy
supported by the chipset. This is a preliminary patch to introduce
newer chipset support.

Signed-off-by: Lorenzo Bianconi &lt;lorenzo@kernel.org&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>mt76: do not use skb_set_queue_mapping for internal purposes</title>
<updated>2022-07-11T11:40:03Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2022-07-02T13:56:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1d5af0acac6eee9cb2b6688ed5e7084494d8707b'/>
<id>urn:sha1:1d5af0acac6eee9cb2b6688ed5e7084494d8707b</id>
<content type='text'>
Previously the code used skb_set_queue_mapping for management or non-bufferable
powersave frames that need to be sent to a different hardware queue.
This can confuse AQL, which expects the value to remain the same until the tx
status report.
The only place that currently uses the altered skb queue mapping is the txwi
write function. Change the code to pass the hardware queue id as a function
parameter instead.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>mt76: pass original queue id from __mt76_tx_queue_skb to the driver</title>
<updated>2022-07-11T11:40:03Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@nbd.name</email>
</author>
<published>2022-07-03T15:52:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d08295f5be8e63e64f9e664572f1b582ede7958b'/>
<id>urn:sha1:d08295f5be8e63e64f9e664572f1b582ede7958b</id>
<content type='text'>
MT7615 and newer map multiple software tx queues to the hardware id

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>Merge tag 'mt76-for-kvalo-2022-05-12' of https://github.com/nbd168/wireless</title>
<updated>2022-05-16T10:11:58Z</updated>
<author>
<name>Kalle Valo</name>
<email>kvalo@kernel.org</email>
</author>
<published>2022-05-16T10:11:58Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e99a2d6bcdb0b40c98b345b1e838e09dc21fc9da'/>
<id>urn:sha1:e99a2d6bcdb0b40c98b345b1e838e09dc21fc9da</id>
<content type='text'>
mt76 patches for 5.19

- tx locking improvements
- wireless ethernet dispatch support for flow offload
- non-standard VHT MCS10-11 support
- fixes
- runtime PM improvements
- mt7921 AP mode support
- mt7921 ipv6 NS offload support
</content>
</entry>
<entry>
<title>mac80211: extend current rate control tx status API</title>
<updated>2022-05-16T08:05:02Z</updated>
<author>
<name>Jonas Jelonek</name>
<email>jelonek.jonas@gmail.com</email>
</author>
<published>2022-05-09T17:39:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=44fa75f207d8a106bc75e6230db61e961fdbf8a8'/>
<id>urn:sha1:44fa75f207d8a106bc75e6230db61e961fdbf8a8</id>
<content type='text'>
This patch adds the new struct ieee80211_rate_status and replaces
'struct rate_info *rate' in ieee80211_tx_status with pointer and length
annotation.

The struct ieee80211_rate_status allows to:
(1)	receive tx power status feedback for transmit power control (TPC)
	per packet or packet retry
(2)	dynamic mapping of wifi chip specific multi-rate retry (mrr)
	chains with different lengths
(3)	increase the limit of annotatable rate indices to support
	IEEE802.11ac rate sets and beyond

ieee80211_tx_info, control and status buffer, and ieee80211_tx_rate
cannot be used to achieve these goals due to fixed size limitations.

Our new struct contains a struct rate_info to annotate the rate that was
used, retry count of the rate and tx power. It is intended for all
information related to RC and TPC that needs to be passed from driver to
mac80211 and its RC/TPC algorithms like Minstrel_HT. It corresponds to
one stage in an mrr. Multiple subsequent instances of this struct can be
included in struct ieee80211_tx_status via a pointer and a length variable.
Those instances can be allocated on-stack. The former reference to a single
instance of struct rate_info is replaced with our new annotation.

An extension is introduced to struct ieee80211_hw. There are two new
members called 'tx_power_levels' and 'max_txpwr_levels_idx' acting as a
tx power level table. When a wifi device is registered, the driver shall
supply all supported power levels in this list. This allows to support
several quirks like differing power steps in power level ranges or
alike. TPC can use this for algorithm and thus be designed more abstract
instead of handling all possible step widths individually.

Further mandatory changes in status.c, mt76 and ath11k drivers due to the
removal of 'struct rate_info *rate' are also included.
status.c already uses the information in ieee80211_tx_status-&gt;rate in
radiotap, this is now changed to use ieee80211_rate_status-&gt;rate_idx.
mt76 driver already uses struct rate_info to pass the tx rate to status
path. The new members of the ieee80211_tx_status are set to NULL and 0
because the previously passed rate is not relevant to rate control and
accurate information is passed via tx_info-&gt;status.rates.
For ath11k, the txrate can be passed via this struct because ath11k uses
firmware RC and thus the information does not interfere with software RC.

Compile-Tested: current wireless-next tree with all flags on
Tested-on: Xiaomi 4A Gigabit (MediaTek MT7603E, MT7612E) with OpenWrt
		Linux 5.10.113

Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
Link: https://lore.kernel.org/r/20220509173958.1398201-2-jelonek.jonas@gmail.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
</feed>
