Search Linux Wireless

[PATCH 0/6] wifi: rtw89: add TX/RX descriptor v2 and mac port registers for WiFi 7 chips

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



WiFi 7 chips use different TX/RX descriptors and mac port registers, but
logic is similar or the same as before, so implment them and reuse the
existing code.

Three descriptors types:
 - RX descriptor or RXWD (RX WiFi Descriptor) for short
   That is meta data of received packet, such as MAC_ID, security CAM
   index and etc.
 - TX descriptor or TXWD (TX WiFi Descriptor) for short
   That is meta data of sending packet. Similar to RX descriptor, it
   contains MAC_ID, security key ID and etc.
 - TX descriptor for firmware command
   To send firmware command or download firmware is via a special path, and
   use different descriptor from normal TX packets. Because it doesn't need
   much meta data to assist, we choose short form RXWD to reduce overhead.

About TXWD body and info:
   TXWD body is hard required, but TXWD info can be skipped to reduce
   overhead. A bit defined in TXWD body to indicate if TXWD info presents.
   For this driver, we always fill both.

About RXWD short and long forms:
   Similarly, RXWD can be short or long forms. For driver, it must handle
   both though.

This patchset doesn't change logic for existing chpis.

Ping-Ke Shih (6):
  wifi: rtw89: add to query RX descriptor format v2
  wifi: rtw89: add to fill TX descriptor for firmware command v2
  wifi: rtw89: add to fill TX descriptor v2
  wifi: rtw89: add chip_info::txwd_info size to generalize TX WD submit
  wifi: rtw89: consolidate registers of mac port to struct
  wifi: rtw89: add mac_gen pointer to access mac port registers

 drivers/net/wireless/realtek/rtw89/core.c     | 215 ++++++++++++++
 drivers/net/wireless/realtek/rtw89/core.h     |  62 ++++
 drivers/net/wireless/realtek/rtw89/mac.c      |  94 ++++--
 drivers/net/wireless/realtek/rtw89/mac.h      |   1 +
 drivers/net/wireless/realtek/rtw89/mac_be.c   |  27 ++
 drivers/net/wireless/realtek/rtw89/pci.c      |   3 +-
 drivers/net/wireless/realtek/rtw89/reg.h      | 147 ++++++++++
 drivers/net/wireless/realtek/rtw89/rtw8851b.c |   1 +
 drivers/net/wireless/realtek/rtw89/rtw8852a.c |   1 +
 drivers/net/wireless/realtek/rtw89/rtw8852b.c |   1 +
 drivers/net/wireless/realtek/rtw89/rtw8852c.c |   1 +
 drivers/net/wireless/realtek/rtw89/txrx.h     | 271 ++++++++++++++++++
 12 files changed, 791 insertions(+), 33 deletions(-)

-- 
2.25.1




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux