69 lines
1.8 KiB
C
69 lines
1.8 KiB
C
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
|
|
/*
|
|
* Copyright (C) 2020-2021 Intel Corporation
|
|
*/
|
|
#ifndef __iwl_fw_api_rfi_h__
|
|
#define __iwl_fw_api_rfi_h__
|
|
|
|
#define IWL_RFI_LUT_ENTRY_CHANNELS_NUM 15
|
|
#define IWL_RFI_LUT_SIZE 24
|
|
#define IWL_RFI_LUT_INSTALLED_SIZE 4
|
|
|
|
/**
|
|
* struct iwl_rfi_lut_entry - an entry in the RFI frequency LUT.
|
|
*
|
|
* @freq: frequency
|
|
* @channels: channels that can be interfered at frequency freq (at most 15)
|
|
* @bands: the corresponding bands
|
|
*/
|
|
struct iwl_rfi_lut_entry {
|
|
__le16 freq;
|
|
u8 channels[IWL_RFI_LUT_ENTRY_CHANNELS_NUM];
|
|
u8 bands[IWL_RFI_LUT_ENTRY_CHANNELS_NUM];
|
|
} __packed;
|
|
|
|
/**
|
|
* struct iwl_rfi_config_cmd - RFI configuration table
|
|
*
|
|
* @entry: a table can have 24 frequency/channel mappings
|
|
* @oem: specifies if this is the default table or set by OEM
|
|
*/
|
|
struct iwl_rfi_config_cmd {
|
|
struct iwl_rfi_lut_entry table[IWL_RFI_LUT_SIZE];
|
|
u8 oem;
|
|
u8 reserved[3];
|
|
} __packed; /* RFI_CONFIG_CMD_API_S_VER_1 */
|
|
|
|
/**
|
|
* iwl_rfi_freq_table_status - status of the frequency table query
|
|
* @RFI_FREQ_TABLE_OK: can be used
|
|
* @RFI_FREQ_TABLE_DVFS_NOT_READY: DVFS is not ready yet, should try later
|
|
* @RFI_FREQ_TABLE_DISABLED: the feature is disabled in FW
|
|
*/
|
|
enum iwl_rfi_freq_table_status {
|
|
RFI_FREQ_TABLE_OK,
|
|
RFI_FREQ_TABLE_DVFS_NOT_READY,
|
|
RFI_FREQ_TABLE_DISABLED,
|
|
};
|
|
|
|
/**
|
|
* struct iwl_rfi_freq_table_resp_cmd - get the rfi freq table used by FW
|
|
*
|
|
* @table: table used by FW
|
|
* @status: see &iwl_rfi_freq_table_status
|
|
*/
|
|
struct iwl_rfi_freq_table_resp_cmd {
|
|
struct iwl_rfi_lut_entry table[IWL_RFI_LUT_INSTALLED_SIZE];
|
|
__le32 status;
|
|
} __packed; /* RFI_CONFIG_CMD_API_S_VER_1 */
|
|
|
|
/**
|
|
* struct iwl_rfi_deactivate_notif - notifcation that FW disaled RFIm
|
|
*
|
|
* @reason: used only for a log message
|
|
*/
|
|
struct iwl_rfi_deactivate_notif {
|
|
__le32 reason;
|
|
} __packed; /* RFI_DEACTIVATE_NTF_S_VER_1 */
|
|
#endif /* __iwl_fw_api_rfi_h__ */
|