mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-25 15:59:33 +07:00
bc8a979e2d
The TX_STA_FIFO contains some information for identifying a outgoing frame, however matching by WCID and ACK status is not sufficient to 100% identify the macthing queue_entry structure (containing the SKB buffer) which belongs to the status report. Within TX_STA_FIFO we have a 4-bit field named PACKETID, which is currently used to encode the queue id. The queue ID is however limited to values from 0 to 3, which means 2 bits are sufficient to encode the value. With the remaining 2 bits we can encode a partial queue_entry index number. The value of PACKETID is not allowed to become 0, with the queue ID ranging from 0 to 3, at least one of the bits for the entry identification must be 1. That leaves us with 3 possible values we can still encode in the bits. Altough this doesn't allow 100% accurate matching of the TX_STA_FIFO queue to a queue_entry structure, it at least improves the accuracy. This allows us to better detect if we have missed the TX_STA_FIFO report, which in turn reduces the number of watchdog warnings regarding the TX status timeout. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
rt2x00.h | ||
rt2x00config.c | ||
rt2x00crypto.c | ||
rt2x00debug.c | ||
rt2x00debug.h | ||
rt2x00dev.c | ||
rt2x00dump.h | ||
rt2x00firmware.c | ||
rt2x00ht.c | ||
rt2x00leds.c | ||
rt2x00leds.h | ||
rt2x00lib.h | ||
rt2x00link.c | ||
rt2x00mac.c | ||
rt2x00pci.c | ||
rt2x00pci.h | ||
rt2x00queue.c | ||
rt2x00queue.h | ||
rt2x00reg.h | ||
rt2x00soc.c | ||
rt2x00soc.h | ||
rt2x00usb.c | ||
rt2x00usb.h | ||
rt61pci.c | ||
rt61pci.h | ||
rt73usb.c | ||
rt73usb.h | ||
rt2400pci.c | ||
rt2400pci.h | ||
rt2500pci.c | ||
rt2500pci.h | ||
rt2500usb.c | ||
rt2500usb.h | ||
rt2800.h | ||
rt2800lib.c | ||
rt2800lib.h | ||
rt2800pci.c | ||
rt2800pci.h | ||
rt2800usb.c | ||
rt2800usb.h |