linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH wireless-next 0/8] wifi: TI wilink8 updates
@ 2024-05-28  9:17 Russell King (Oracle)
  2024-05-28  9:17 ` [PATCH wireless-next 1/8] wifi: wlcore: correctness fix fwlog reading Russell King (Oracle)
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Russell King (Oracle) @ 2024-05-28  9:17 UTC (permalink / raw)
  To: Kalle Valo; +Cc: Johannes Berg, linux-kernel, linux-wireless, Michael Nemanov

Hi,

This series updates the TI wilink8 driver targetting two issues.
First are four driver correctness and/or improvements to the driver.

Patch 1 ensures that if the firmware log pointer somehow ends up
beyond the buffer limit, we will wrap back to the start, rather
than relying on an exact match for the end of the buffer.

Patch 2 avoids using the modulus operator for the loop over the
WL18xx completed packet circular buffer, which can be expensive for
some CPUs. Since we only ever increment the index by one, it is
trivial to detect when we need to wrap.

Patch 3 improves the code in wlcore_fw_status() to make what's
going on with status->counters.tx_lnk_free_pkts[] more clear.

Patch 4 removes a potential aliasing issue - wlcore_fw_status()
is passed wl->fw_status as an argument, yet rather than using
that for wlcore_hw_convert_fw_status(), we use wl->fw_status,
and then go back to using the passed-in status to access the
data written by this function.

Patch 5 is taken from one of TI's wilink8 patches adding support
for later firmwares. This adds support for storing the AP key type,
which will be used in connection with the pn16 changes found in
newer firmware.

Patch 6 adds the necessary code for pn16 support, also taken from
one of TI's wilink8 patches, augmented in two ways. First, if
wlcore_hw_convert_fw_status() did not provide the pn16 array, then
this code does nothing (thus maintaining compatibility with existing
firmware.) Second, this is an array of 16-bit quantities, and so is
subject to endian issues. Use the appropriate type and conversion
functions for it.

Patch 7 adds support for parsing the status data structures with
the new pn16 field buried in the middle (!). Since mainline has to
maintain compatibility with existing firmware, and we can't do TI's
silly lock-step "upgrade the firmware at the same time" thing, we
maintain support for the old layout, and select the appropriate
parsing function. We also resize the raw status array as appropriate.

Patch 8 allows the driver to accept both 8.9.0.x.>58 and 8.9.>=1.x.x
firmwares.

 drivers/net/wireless/ti/wl18xx/main.c     |  71 ++++++++++++++++++++-
 drivers/net/wireless/ti/wl18xx/tx.c       |  13 +++-
 drivers/net/wireless/ti/wl18xx/wl18xx.h   |  62 +++++++++++++++++-
 drivers/net/wireless/ti/wlcore/cmd.c      |   9 +++
 drivers/net/wireless/ti/wlcore/event.c    |   2 +-
 drivers/net/wireless/ti/wlcore/main.c     | 101 +++++++++++++++++++++++++++---
 drivers/net/wireless/ti/wlcore/wlcore_i.h |   4 ++
 7 files changed, 246 insertions(+), 16 deletions(-)

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!

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

end of thread, other threads:[~2024-06-18 10:22 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-28  9:17 [PATCH wireless-next 0/8] wifi: TI wilink8 updates Russell King (Oracle)
2024-05-28  9:17 ` [PATCH wireless-next 1/8] wifi: wlcore: correctness fix fwlog reading Russell King (Oracle)
2024-06-18 10:22   ` Kalle Valo
2024-05-28  9:17 ` [PATCH wireless-next 2/8] wifi: wl18xx: make wl18xx_tx_immediate_complete() more efficient Russell King (Oracle)
2024-05-28  9:17 ` [PATCH wireless-next 3/8] wifi: wlcore: improve code in wlcore_fw_status() Russell King (Oracle)
2024-05-28  9:17 ` [PATCH wireless-next 4/8] wifi: wlcore: pass "status" to wlcore_hw_convert_fw_status() Russell King (Oracle)
2024-05-29 13:15   ` Nemanov, Michael
2024-05-29 13:31     ` Russell King (Oracle)
2024-05-28  9:18 ` [PATCH wireless-next 5/8] wifi: wlcore: store AP encryption key type Russell King (Oracle)
2024-05-28  9:18 ` [PATCH wireless-next 6/8] wifi: wlcore: add pn16 support Russell King (Oracle)
2024-05-30  8:06   ` [EXTERNAL] " Nemanov, Michael
2024-05-30  8:20     ` Russell King (Oracle)
2024-05-30 12:25       ` Nemanov, Michael
2024-05-30 12:46         ` Nemanov, Michael
2024-05-28  9:18 ` [PATCH wireless-next 7/8] wifi: wl18xx: add support for reading 8.9.1 fw status Russell King (Oracle)
2024-05-28  9:18 ` [PATCH wireless-next 8/8] wifi: wl18xx: allow firmwares > 8.9.0.x.58 Russell King (Oracle)

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).