70 lines · c
1/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */2/*3 * Copyright (C) 2020-2021, 2023 Intel Corporation4 */5#ifndef __iwl_fw_api_rfi_h__6#define __iwl_fw_api_rfi_h__7 8#define IWL_RFI_LUT_ENTRY_CHANNELS_NUM 159#define IWL_RFI_LUT_SIZE 2410#define IWL_RFI_LUT_INSTALLED_SIZE 411 12/**13 * struct iwl_rfi_lut_entry - an entry in the RFI frequency LUT.14 *15 * @freq: frequency16 * @channels: channels that can be interfered at frequency freq (at most 15)17 * @bands: the corresponding bands18 */19struct iwl_rfi_lut_entry {20 __le16 freq;21 u8 channels[IWL_RFI_LUT_ENTRY_CHANNELS_NUM];22 u8 bands[IWL_RFI_LUT_ENTRY_CHANNELS_NUM];23} __packed;24 25/**26 * struct iwl_rfi_config_cmd - RFI configuration table27 *28 * @table: a table can have 24 frequency/channel mappings29 * @oem: specifies if this is the default table or set by OEM30 * @reserved: (reserved/padding)31 */32struct iwl_rfi_config_cmd {33 struct iwl_rfi_lut_entry table[IWL_RFI_LUT_SIZE];34 u8 oem;35 u8 reserved[3];36} __packed; /* RFI_CONFIG_CMD_API_S_VER_1 */37 38/**39 * enum iwl_rfi_freq_table_status - status of the frequency table query40 * @RFI_FREQ_TABLE_OK: can be used41 * @RFI_FREQ_TABLE_DVFS_NOT_READY: DVFS is not ready yet, should try later42 * @RFI_FREQ_TABLE_DISABLED: the feature is disabled in FW43 */44enum iwl_rfi_freq_table_status {45 RFI_FREQ_TABLE_OK,46 RFI_FREQ_TABLE_DVFS_NOT_READY,47 RFI_FREQ_TABLE_DISABLED,48};49 50/**51 * struct iwl_rfi_freq_table_resp_cmd - get the rfi freq table used by FW52 *53 * @table: table used by FW54 * @status: see &iwl_rfi_freq_table_status55 */56struct iwl_rfi_freq_table_resp_cmd {57 struct iwl_rfi_lut_entry table[IWL_RFI_LUT_INSTALLED_SIZE];58 __le32 status;59} __packed; /* RFI_CONFIG_CMD_API_S_VER_1 */60 61/**62 * struct iwl_rfi_deactivate_notif - notifcation that FW disaled RFIm63 *64 * @reason: used only for a log message65 */66struct iwl_rfi_deactivate_notif {67 __le32 reason;68} __packed; /* RFI_DEACTIVATE_NTF_S_VER_1 */69#endif /* __iwl_fw_api_rfi_h__ */70