Path: blob/main/sys/contrib/dev/athk/ath12k/acpi.h
178703 views
/* SPDX-License-Identifier: BSD-3-Clause-Clear */1/*2* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.3* Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.4*/5#ifndef ATH12K_ACPI_H6#define ATH12K_ACPI_H78#include <linux/acpi.h>910#define ATH12K_ACPI_DSM_FUNC_SUPPORT_FUNCS 011#define ATH12K_ACPI_DSM_FUNC_DISABLE_FLAG 212#define ATH12K_ACPI_DSM_FUNC_BDF_EXT 313#define ATH12K_ACPI_DSM_FUNC_BIOS_SAR 414#define ATH12K_ACPI_DSM_FUNC_GEO_OFFSET 515#define ATH12K_ACPI_DSM_FUNC_INDEX_CCA 616#define ATH12K_ACPI_DSM_FUNC_TAS_CFG 817#define ATH12K_ACPI_DSM_FUNC_TAS_DATA 918#define ATH12K_ACPI_DSM_FUNC_INDEX_BAND_EDGE 101920#define ATH12K_ACPI_FUNC_BIT_DISABLE_FLAG BIT(1)21#define ATH12K_ACPI_FUNC_BIT_BDF_EXT BIT(2)22#define ATH12K_ACPI_FUNC_BIT_BIOS_SAR BIT(3)23#define ATH12K_ACPI_FUNC_BIT_GEO_OFFSET BIT(4)24#define ATH12K_ACPI_FUNC_BIT_CCA BIT(5)25#define ATH12K_ACPI_FUNC_BIT_TAS_CFG BIT(7)26#define ATH12K_ACPI_FUNC_BIT_TAS_DATA BIT(8)27#define ATH12K_ACPI_FUNC_BIT_BAND_EDGE_CHAN_POWER BIT(9)2829#define ATH12K_ACPI_NOTIFY_EVENT 0x8630#define ATH12K_ACPI_FUNC_BIT_VALID(_acdata, _func) (((_acdata).func_bit) & (_func))31#define ATH12K_ACPI_CHEK_BIT_VALID(_acdata, _func) (((_acdata).bit_flag) & (_func))3233#define ATH12K_ACPI_TAS_DATA_VERSION 0x134#define ATH12K_ACPI_TAS_DATA_ENABLE 0x135#define ATH12K_ACPI_POWER_LIMIT_VERSION 0x136#define ATH12K_ACPI_POWER_LIMIT_ENABLE_FLAG 0x137#define ATH12K_ACPI_CCA_THR_VERSION 0x138#define ATH12K_ACPI_CCA_THR_ENABLE_FLAG 0x139#define ATH12K_ACPI_BAND_EDGE_VERSION 0x140#define ATH12K_ACPI_BAND_EDGE_ENABLE_FLAG 0x14142#define ATH12K_ACPI_GEO_OFFSET_DATA_OFFSET 143#define ATH12K_ACPI_DBS_BACKOFF_DATA_OFFSET 244#define ATH12K_ACPI_CCA_THR_OFFSET_DATA_OFFSET 545#define ATH12K_ACPI_BIOS_SAR_DBS_BACKOFF_LEN 1046#define ATH12K_ACPI_POWER_LIMIT_DATA_OFFSET 1247#define ATH12K_ACPI_BIOS_SAR_GEO_OFFSET_LEN 1848#define ATH12K_ACPI_BIOS_SAR_TABLE_LEN 2249#define ATH12K_ACPI_CCA_THR_OFFSET_LEN 365051#define ATH12K_ACPI_DSM_TAS_DATA_SIZE 6952#define ATH12K_ACPI_DSM_BAND_EDGE_DATA_SIZE 10053#define ATH12K_ACPI_DSM_TAS_CFG_SIZE 1085455#define ATH12K_ACPI_DSM_FUNC_MIN_BITMAP_SIZE 156#define ATH12K_ACPI_DSM_FUNC_MAX_BITMAP_SIZE 45758#define ATH12K_ACPI_DSM_DISABLE_11BE_BIT BIT(0)59#define ATH12K_ACPI_DSM_DISABLE_RFKILL_BIT BIT(2)6061#define ATH12K_ACPI_BDF_ANCHOR_STRING_LEN 362#define ATH12K_ACPI_BDF_ANCHOR_STRING "BDF"63#define ATH12K_ACPI_BDF_MAX_LEN 1006465#define ATH12K_ACPI_DSM_GEO_OFFSET_DATA_SIZE (ATH12K_ACPI_GEO_OFFSET_DATA_OFFSET + \66ATH12K_ACPI_BIOS_SAR_GEO_OFFSET_LEN)67#define ATH12K_ACPI_DSM_BIOS_SAR_DATA_SIZE (ATH12K_ACPI_POWER_LIMIT_DATA_OFFSET + \68ATH12K_ACPI_BIOS_SAR_TABLE_LEN)69#define ATH12K_ACPI_DSM_CCA_DATA_SIZE (ATH12K_ACPI_CCA_THR_OFFSET_DATA_OFFSET + \70ATH12K_ACPI_CCA_THR_OFFSET_LEN)7172#ifdef CONFIG_ACPI7374int ath12k_acpi_start(struct ath12k_base *ab);75void ath12k_acpi_stop(struct ath12k_base *ab);76bool ath12k_acpi_get_disable_rfkill(struct ath12k_base *ab);77bool ath12k_acpi_get_disable_11be(struct ath12k_base *ab);78void ath12k_acpi_set_dsm_func(struct ath12k_base *ab);79int ath12k_acpi_check_bdf_variant_name(struct ath12k_base *ab);8081#else8283static inline int ath12k_acpi_start(struct ath12k_base *ab)84{85return 0;86}8788static inline void ath12k_acpi_stop(struct ath12k_base *ab)89{90}9192static inline bool ath12k_acpi_get_disable_rfkill(struct ath12k_base *ab)93{94return false;95}9697static inline bool ath12k_acpi_get_disable_11be(struct ath12k_base *ab)98{99return false;100}101102static inline void ath12k_acpi_set_dsm_func(struct ath12k_base *ab)103{104}105106static inline int ath12k_acpi_check_bdf_variant_name(struct ath12k_base *ab)107{108return 0;109}110111#endif /* CONFIG_ACPI */112113#endif /* ATH12K_ACPI_H */114115116