FILE
acpi.h
File preview with syntax highlighting.
linux-6.19.14/drivers/net/wireless/ath/ath12k/acpi.h
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */ 2/* 3 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. 4 * Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved. 5 */ 6#ifndef ATH12K_ACPI_H 7#define ATH12K_ACPI_H 8 9#include <linux/acpi.h> 10 11#define ATH12K_ACPI_DSM_FUNC_SUPPORT_FUNCS 0 12#define ATH12K_ACPI_DSM_FUNC_DISABLE_FLAG 2 13#define ATH12K_ACPI_DSM_FUNC_BDF_EXT 3 14#define ATH12K_ACPI_DSM_FUNC_BIOS_SAR 4 15#define ATH12K_ACPI_DSM_FUNC_GEO_OFFSET 5 16#define ATH12K_ACPI_DSM_FUNC_INDEX_CCA 6 17#define ATH12K_ACPI_DSM_FUNC_TAS_CFG 8 18#define ATH12K_ACPI_DSM_FUNC_TAS_DATA 9 19#define ATH12K_ACPI_DSM_FUNC_INDEX_BAND_EDGE 10 20 21#define ATH12K_ACPI_FUNC_BIT_DISABLE_FLAG BIT(1) 22#define ATH12K_ACPI_FUNC_BIT_BDF_EXT BIT(2) 23#define ATH12K_ACPI_FUNC_BIT_BIOS_SAR BIT(3) 24#define ATH12K_ACPI_FUNC_BIT_GEO_OFFSET BIT(4) 25#define ATH12K_ACPI_FUNC_BIT_CCA BIT(5) 26#define ATH12K_ACPI_FUNC_BIT_TAS_CFG BIT(7) 27#define ATH12K_ACPI_FUNC_BIT_TAS_DATA BIT(8) 28#define ATH12K_ACPI_FUNC_BIT_BAND_EDGE_CHAN_POWER BIT(9) 29 30#define ATH12K_ACPI_NOTIFY_EVENT 0x86 31#define ATH12K_ACPI_FUNC_BIT_VALID(_acdata, _func) (((_acdata).func_bit) & (_func)) 32#define ATH12K_ACPI_CHEK_BIT_VALID(_acdata, _func) (((_acdata).bit_flag) & (_func)) 33 34#define ATH12K_ACPI_TAS_DATA_VERSION 0x1 35#define ATH12K_ACPI_TAS_DATA_ENABLE 0x1 36#define ATH12K_ACPI_POWER_LIMIT_VERSION 0x1 37#define ATH12K_ACPI_POWER_LIMIT_ENABLE_FLAG 0x1 38#define ATH12K_ACPI_CCA_THR_VERSION 0x1 39#define ATH12K_ACPI_CCA_THR_ENABLE_FLAG 0x1 40#define ATH12K_ACPI_BAND_EDGE_VERSION 0x1 41#define ATH12K_ACPI_BAND_EDGE_ENABLE_FLAG 0x1 42 43#define ATH12K_ACPI_GEO_OFFSET_DATA_OFFSET 1 44#define ATH12K_ACPI_DBS_BACKOFF_DATA_OFFSET 2 45#define ATH12K_ACPI_CCA_THR_OFFSET_DATA_OFFSET 5 46#define ATH12K_ACPI_BIOS_SAR_DBS_BACKOFF_LEN 10 47#define ATH12K_ACPI_POWER_LIMIT_DATA_OFFSET 12 48#define ATH12K_ACPI_BIOS_SAR_GEO_OFFSET_LEN 18 49#define ATH12K_ACPI_BIOS_SAR_TABLE_LEN 22 50#define ATH12K_ACPI_CCA_THR_OFFSET_LEN 36 51 52#define ATH12K_ACPI_DSM_TAS_DATA_SIZE 69 53#define ATH12K_ACPI_DSM_BAND_EDGE_DATA_SIZE 100 54#define ATH12K_ACPI_DSM_TAS_CFG_SIZE 108 55 56#define ATH12K_ACPI_DSM_FUNC_MIN_BITMAP_SIZE 1 57#define ATH12K_ACPI_DSM_FUNC_MAX_BITMAP_SIZE 4 58 59#define ATH12K_ACPI_DSM_DISABLE_11BE_BIT BIT(0) 60#define ATH12K_ACPI_DSM_DISABLE_RFKILL_BIT BIT(2) 61 62#define ATH12K_ACPI_BDF_ANCHOR_STRING_LEN 3 63#define ATH12K_ACPI_BDF_ANCHOR_STRING "BDF" 64#define ATH12K_ACPI_BDF_MAX_LEN 100 65 66#define ATH12K_ACPI_DSM_GEO_OFFSET_DATA_SIZE (ATH12K_ACPI_GEO_OFFSET_DATA_OFFSET + \ 67 ATH12K_ACPI_BIOS_SAR_GEO_OFFSET_LEN) 68#define ATH12K_ACPI_DSM_BIOS_SAR_DATA_SIZE (ATH12K_ACPI_POWER_LIMIT_DATA_OFFSET + \ 69 ATH12K_ACPI_BIOS_SAR_TABLE_LEN) 70#define ATH12K_ACPI_DSM_CCA_DATA_SIZE (ATH12K_ACPI_CCA_THR_OFFSET_DATA_OFFSET + \ 71 ATH12K_ACPI_CCA_THR_OFFSET_LEN) 72 73#ifdef CONFIG_ACPI 74 75int ath12k_acpi_start(struct ath12k_base *ab); 76void ath12k_acpi_stop(struct ath12k_base *ab); 77bool ath12k_acpi_get_disable_rfkill(struct ath12k_base *ab); 78bool ath12k_acpi_get_disable_11be(struct ath12k_base *ab); 79void ath12k_acpi_set_dsm_func(struct ath12k_base *ab); 80int ath12k_acpi_check_bdf_variant_name(struct ath12k_base *ab); 81 82#else 83 84static inline int ath12k_acpi_start(struct ath12k_base *ab) 85{ 86 return 0; 87} 88 89static inline void ath12k_acpi_stop(struct ath12k_base *ab) 90{ 91} 92 93static inline bool ath12k_acpi_get_disable_rfkill(struct ath12k_base *ab) 94{ 95 return false; 96} 97 98static inline bool ath12k_acpi_get_disable_11be(struct ath12k_base *ab) 99{ 100 return false; 101} 102 103static inline void ath12k_acpi_set_dsm_func(struct ath12k_base *ab) 104{ 105} 106 107static inline int ath12k_acpi_check_bdf_variant_name(struct ath12k_base *ab) 108{ 109 return 0; 110} 111 112#endif /* CONFIG_ACPI */ 113 114#endif /* ATH12K_ACPI_H */
~/
Read-only file preview.