Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
0002 /*
0003  * Copyright (C) 2020-2021 Intel Corporation
0004  */
0005 #ifndef __iwl_fw_api_rfi_h__
0006 #define __iwl_fw_api_rfi_h__
0007 
0008 #define IWL_RFI_LUT_ENTRY_CHANNELS_NUM 15
0009 #define IWL_RFI_LUT_SIZE 24
0010 #define IWL_RFI_LUT_INSTALLED_SIZE 4
0011 
0012 /**
0013  * struct iwl_rfi_lut_entry - an entry in the RFI frequency LUT.
0014  *
0015  * @freq: frequency
0016  * @channels: channels that can be interfered at frequency freq (at most 15)
0017  * @bands: the corresponding bands
0018  */
0019 struct iwl_rfi_lut_entry {
0020     __le16 freq;
0021     u8 channels[IWL_RFI_LUT_ENTRY_CHANNELS_NUM];
0022     u8 bands[IWL_RFI_LUT_ENTRY_CHANNELS_NUM];
0023 } __packed;
0024 
0025 /**
0026  * struct iwl_rfi_config_cmd - RFI configuration table
0027  *
0028  * @entry: a table can have 24 frequency/channel mappings
0029  * @oem: specifies if this is the default table or set by OEM
0030  */
0031 struct iwl_rfi_config_cmd {
0032     struct iwl_rfi_lut_entry table[IWL_RFI_LUT_SIZE];
0033     u8 oem;
0034     u8 reserved[3];
0035 } __packed; /* RFI_CONFIG_CMD_API_S_VER_1 */
0036 
0037 /**
0038  * iwl_rfi_freq_table_status - status of the frequency table query
0039  * @RFI_FREQ_TABLE_OK: can be used
0040  * @RFI_FREQ_TABLE_DVFS_NOT_READY: DVFS is not ready yet, should try later
0041  * @RFI_FREQ_TABLE_DISABLED: the feature is disabled in FW
0042  */
0043 enum iwl_rfi_freq_table_status {
0044     RFI_FREQ_TABLE_OK,
0045     RFI_FREQ_TABLE_DVFS_NOT_READY,
0046     RFI_FREQ_TABLE_DISABLED,
0047 };
0048 
0049 /**
0050  * struct iwl_rfi_freq_table_resp_cmd - get the rfi freq table used by FW
0051  *
0052  * @table: table used by FW
0053  * @status: see &iwl_rfi_freq_table_status
0054  */
0055 struct iwl_rfi_freq_table_resp_cmd {
0056     struct iwl_rfi_lut_entry table[IWL_RFI_LUT_INSTALLED_SIZE];
0057     __le32 status;
0058 } __packed; /* RFI_CONFIG_CMD_API_S_VER_1 */
0059 
0060 /**
0061  * struct iwl_rfi_deactivate_notif - notifcation that FW disaled RFIm
0062  *
0063  * @reason: used only for a log message
0064  */
0065 struct iwl_rfi_deactivate_notif {
0066     __le32 reason;
0067 } __packed; /* RFI_DEACTIVATE_NTF_S_VER_1 */
0068 #endif /* __iwl_fw_api_rfi_h__ */