This driver named rtw89, which is the next generation of rtw88, supports Realtek 8852AE 802.11ax 2x2 chip whose new features are OFDMA, DBCC, Spatial reuse, TWT and BSS coloring; now some of them aren't implemented though. The chip architecture is entirely different from the chips supported by rtw88 like RTL8822CE 802.11ac chip. First of all, register address ranges are totally redefined, so it's impossible to reuse register definition. To communicate with firmware, new H2C/C2H format is proposed. In order to have better utilization, TX DMA flow is changed to two stages DMA. To provide rich RX status information, additional RX PPDU packets are added. Since there are so many differences mentioned above, we decide to propose a new driver. It has many authors, they are listed in alphabetic order: Chin-Yen Lee <timlee@realtek.com> Ping-Ke Shih <pkshih@realtek.com> Po Hao Huang <phhuang@realtek.com> Tzu-En Huang <tehuang@realtek.com> Vincent Fann <vincent_fann@realtek.com> Yan-Hsuan Chuang <tony0620emma@gmail.com> Zong-Zhe Yang <kevin_yang@realtek.com> Tested-by: Aaron Ma <aaron.ma@canonical.com> Tested-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20211008035627.19463-1-pkshih@realtek.com
26 lines
676 B
C
26 lines
676 B
C
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
|
|
/* Copyright(c) 2019-2020 Realtek Corporation
|
|
*/
|
|
|
|
#ifndef __RTW89_SAR_H__
|
|
#define __RTW89_SAR_H__
|
|
|
|
#include "core.h"
|
|
|
|
#define RTW89_SAR_TXPWR_MAC_MAX S8_MAX
|
|
#define RTW89_SAR_TXPWR_MAC_MIN S8_MIN
|
|
|
|
struct rtw89_sar_handler {
|
|
const char *descr_sar_source;
|
|
u8 txpwr_factor_sar;
|
|
int (*query_sar_config)(struct rtw89_dev *rtwdev, s32 *cfg);
|
|
};
|
|
|
|
extern const struct cfg80211_sar_capa rtw89_sar_capa;
|
|
|
|
s8 rtw89_query_sar(struct rtw89_dev *rtwdev);
|
|
void rtw89_print_sar(struct seq_file *m, struct rtw89_dev *rtwdev);
|
|
int rtw89_ops_set_sar_specs(struct ieee80211_hw *hw,
|
|
const struct cfg80211_sar_specs *sar);
|
|
|
|
#endif
|