linux/drivers/net/wireless/realtek/rtw89/sar.c

// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) 2019-2020  Realtek Corporation
 */

#include "acpi.h"
#include "debug.h"
#include "phy.h"
#include "reg.h"
#include "sar.h"

#define RTW89_TAS_FACTOR
#define RTW89_TAS_DPR_GAP
#define RTW89_TAS_DELTA

static enum rtw89_sar_subband rtw89_sar_get_subband(struct rtw89_dev *rtwdev,
						    u32 center_freq)
{}

struct rtw89_sar_span {};

#define RTW89_SAR_SPAN_VALID(span)

#define RTW89_SAR_6GHZ_SPAN_HEAD
#define RTW89_SAR_6GHZ_SPAN_IDX(center_freq)

#define RTW89_DECL_SAR_6GHZ_SPAN(center_freq, subband_l, subband_h)

/* Since 6GHz SAR subbands are not edge aligned, some cases span two SAR
 * subbands. In the following, we describe each of them with rtw89_sar_span.
 */
static const struct rtw89_sar_span rtw89_sar_overlapping_6ghz[] =;

static int rtw89_query_sar_config_common(struct rtw89_dev *rtwdev,
					 u32 center_freq, s32 *cfg)
{}

static const
struct rtw89_sar_handler rtw89_sar_handlers[RTW89_SAR_SOURCE_NR] =;

#define rtw89_sar_set_src(_dev, _src, _cfg_name, _cfg_data)

static s8 rtw89_txpwr_sar_to_mac(struct rtw89_dev *rtwdev, u8 fct, s32 cfg)
{}

static s8 rtw89_txpwr_tas_to_sar(const struct rtw89_sar_handler *sar_hdl,
				 s8 cfg)
{}

static s8 rtw89_txpwr_sar_to_tas(const struct rtw89_sar_handler *sar_hdl,
				 s8 cfg)
{}

s8 rtw89_query_sar(struct rtw89_dev *rtwdev, u32 center_freq)
{}

void rtw89_print_sar(struct seq_file *m, struct rtw89_dev *rtwdev, u32 center_freq)
{}

void rtw89_print_tas(struct seq_file *m, struct rtw89_dev *rtwdev)
{}

static int rtw89_apply_sar_common(struct rtw89_dev *rtwdev,
				  const struct rtw89_sar_cfg_common *sar)
{}

static const struct cfg80211_sar_freq_ranges rtw89_common_sar_freq_ranges[] =;

static_assert();

const struct cfg80211_sar_capa rtw89_sar_capa =;

int rtw89_ops_set_sar_specs(struct ieee80211_hw *hw,
			    const struct cfg80211_sar_specs *sar)
{}

static void rtw89_tas_state_update(struct rtw89_dev *rtwdev)
{}

void rtw89_tas_init(struct rtw89_dev *rtwdev)
{}

void rtw89_tas_reset(struct rtw89_dev *rtwdev)
{}

static const struct rtw89_reg_def txpwr_regs[] =;

void rtw89_tas_track(struct rtw89_dev *rtwdev)
{}