> -----Original Message----- > From: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> > Sent: Saturday, December 17, 2022 10:18 PM > To: linux-wireless@xxxxxxxxxxxxxxx > Cc: Jes Sorensen <Jes.Sorensen@xxxxxxxxx>; Ping-Ke Shih <pkshih@xxxxxxxxxxx>; Andrea Merello > <andrea.merello@xxxxxxxxx>; Taehee Yoo <ap420073@xxxxxxxxx> > Subject: [PATCH v3 4/5] wifi: rtl8xxxu: Support new chip RTL8188EU > > From: Jes Sorensen <Jes.Sorensen@xxxxxxxxx> > > This chip is found in cheap USB devices from TP-Link, D-Link, etc. > > Features: 2.4 GHz, b/g/n mode, 1T1R, 150 Mbps. > > Chip versions older than "I cut" need software rate control. That will > be in the next commit. Until then MCS7 is used for all data frames. > > The "I cut" chips are not supported. They require different firmware > and initialisation tables. Support can be added if someone has the > hardware to test it. > > Co-developed-by: Andrea Merello <andrea.merello@xxxxxxxxx> > Signed-off-by: Andrea Merello <andrea.merello@xxxxxxxxx> > Co-developed-by: Taehee Yoo <ap420073@xxxxxxxxx> > Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> > Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxx> > Co-developed-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> > Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> Reviewed-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> > --- > So this patch is 52 of the 57 patches found here, squashed together: > https://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git/log/drivers/net/wireless/realtek/rtl8xxx > u?h=rtl8xxxu-8188eu > > Starting from c3f84ded6f76 ("rtl8xxxu: Accept firmware signature 0x88e0") > up to a9b05c059510 ("rtl8xxxu: Add rpt_sel entry to struct rtl8xxxu_rxdesc16"). > > These patches were not needed: > 3170622ccb61 ("rtl8xxxu: Detect 8188eu parts correctly") > 8fb5bc92bce0 ("rtl8xxxu: Initialize GPIO settings for 8188eu") > 6ab646adb585 ("rtl8xxxu: Implement rtl8188e_set_tx_power()") > 2ccd1f1fc480 ("rtl8xxxu: properly detect RTL8188EU devices") > 809a2e000cab ("rtl8xxxu: Do not set auto rate fallback on 8188eu") > > On top of that, I made various changes required for today's kernel, > plus changes to match the newer vendor driver more closely, plus some > bug fixes. > > v3: > - Implement suggestion from Ping-Ke Shih: > - Return -EOPNOTSUPP directly instead of using goto in > rtl8188eu_identify_chip(). > - Remove set but not used variable ht in rtl8188eu_config_channel(). > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > v2: > - Implement suggestions from Ping-Ke Shih: > - Add __packed to struct rtl8188eu_efuse. > - Use u32p_replace_bits() in rtl8188eu_config_channel(). > - Make fw_name const char*. > - Use the masks defined in patch 3/5 in rtl8188e_cck_rssi(). > - Use u32_get_bits() in assignment to bit field priv->pi_enabled. > - Remove the efuse dumping code. It's not needed after patch 1/5. > - Update the module description. > --- > drivers/net/wireless/realtek/rtl8xxxu/Kconfig | 2 +- > .../net/wireless/realtek/rtl8xxxu/Makefile | 3 +- > .../net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 67 +- > .../realtek/rtl8xxxu/rtl8xxxu_8188e.c | 1280 +++++++++++++++++ > .../realtek/rtl8xxxu/rtl8xxxu_8188f.c | 4 +- > .../wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 201 ++- > .../wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 40 +- > 7 files changed, 1572 insertions(+), 25 deletions(-) > create mode 100644 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c > [...]