linux/drivers/net/wireless/mediatek/mt76/mt76x02_dfs.h

/* SPDX-License-Identifier: ISC */
/*
 * Copyright (C) 2016 Lorenzo Bianconi <[email protected]>
 */

#ifndef __MT76x02_DFS_H
#define __MT76x02_DFS_H

#include <linux/types.h>
#include <linux/nl80211.h>

#define MT_DFS_GP_INTERVAL
#define MT_DFS_NUM_ENGINES

/* bbp params */
#define MT_DFS_SYM_ROUND
#define MT_DFS_DELTA_DELAY
#define MT_DFS_VGA_MASK
#define MT_DFS_PWR_GAIN_OFFSET
#define MT_DFS_PWR_DOWN_TIME
#define MT_DFS_RX_PE_MASK
#define MT_DFS_PKT_END_MASK
#define MT_DFS_CH_EN

/* sw detector params */
#define MT_DFS_EVENT_LOOP
#define MT_DFS_SW_TIMEOUT
#define MT_DFS_EVENT_WINDOW
#define MT_DFS_SEQUENCE_WINDOW
#define MT_DFS_EVENT_TIME_MARGIN
#define MT_DFS_PRI_MARGIN
#define MT_DFS_SEQUENCE_TH

#define MT_DFS_FCC_MAX_PRI
#define MT_DFS_FCC_MIN_PRI
#define MT_DFS_JP_MAX_PRI
#define MT_DFS_JP_MIN_PRI
#define MT_DFS_ETSI_MAX_PRI
#define MT_DFS_ETSI_MIN_PRI

struct mt76x02_radar_specs {};

#define MT_DFS_CHECK_EVENT(x)
#define MT_DFS_EVENT_ENGINE(x)
#define MT_DFS_EVENT_TIMESTAMP(x)
#define MT_DFS_EVENT_WIDTH(x)
struct mt76x02_dfs_event {};

#define MT_DFS_EVENT_BUFLEN
struct mt76x02_dfs_event_rb {};

struct mt76x02_dfs_sequence {};

struct mt76x02_dfs_hw_pulse {};

struct mt76x02_dfs_sw_detector_params {};

struct mt76x02_dfs_engine_stats {};

struct mt76x02_dfs_seq_stats {};

struct mt76x02_dfs_pattern_detector {};

void mt76x02_dfs_init_params(struct mt76x02_dev *dev);
void mt76x02_dfs_init_detector(struct mt76x02_dev *dev);
void mt76x02_regd_notifier(struct wiphy *wiphy,
			   struct regulatory_request *request);
void mt76x02_phy_dfs_adjust_agc(struct mt76x02_dev *dev);
#endif /* __MT76x02_DFS_H */