77 lines · c
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */2/*3 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.4 * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.5 */6#ifndef ATH12K_ACPI_H7#define ATH12K_ACPI_H8 9#include <linux/acpi.h>10 11#define ATH12K_ACPI_DSM_FUNC_SUPPORT_FUNCS 012#define ATH12K_ACPI_DSM_FUNC_BIOS_SAR 413#define ATH12K_ACPI_DSM_FUNC_GEO_OFFSET 514#define ATH12K_ACPI_DSM_FUNC_INDEX_CCA 615#define ATH12K_ACPI_DSM_FUNC_TAS_CFG 816#define ATH12K_ACPI_DSM_FUNC_TAS_DATA 917#define ATH12K_ACPI_DSM_FUNC_INDEX_BAND_EDGE 1018 19#define ATH12K_ACPI_FUNC_BIT_BIOS_SAR BIT(3)20#define ATH12K_ACPI_FUNC_BIT_GEO_OFFSET BIT(4)21#define ATH12K_ACPI_FUNC_BIT_CCA BIT(5)22#define ATH12K_ACPI_FUNC_BIT_TAS_CFG BIT(7)23#define ATH12K_ACPI_FUNC_BIT_TAS_DATA BIT(8)24#define ATH12K_ACPI_FUNC_BIT_BAND_EDGE_CHAN_POWER BIT(9)25 26#define ATH12K_ACPI_NOTIFY_EVENT 0x8627#define ATH12K_ACPI_FUNC_BIT_VALID(_acdata, _func) (((_acdata).func_bit) & (_func))28 29#define ATH12K_ACPI_TAS_DATA_VERSION 0x130#define ATH12K_ACPI_TAS_DATA_ENABLE 0x131#define ATH12K_ACPI_POWER_LIMIT_VERSION 0x132#define ATH12K_ACPI_POWER_LIMIT_ENABLE_FLAG 0x133#define ATH12K_ACPI_CCA_THR_VERSION 0x134#define ATH12K_ACPI_CCA_THR_ENABLE_FLAG 0x135#define ATH12K_ACPI_BAND_EDGE_VERSION 0x136#define ATH12K_ACPI_BAND_EDGE_ENABLE_FLAG 0x137 38#define ATH12K_ACPI_GEO_OFFSET_DATA_OFFSET 139#define ATH12K_ACPI_DBS_BACKOFF_DATA_OFFSET 240#define ATH12K_ACPI_CCA_THR_OFFSET_DATA_OFFSET 541#define ATH12K_ACPI_BIOS_SAR_DBS_BACKOFF_LEN 1042#define ATH12K_ACPI_POWER_LIMIT_DATA_OFFSET 1243#define ATH12K_ACPI_BIOS_SAR_GEO_OFFSET_LEN 1844#define ATH12K_ACPI_BIOS_SAR_TABLE_LEN 2245#define ATH12K_ACPI_CCA_THR_OFFSET_LEN 3646 47#define ATH12K_ACPI_DSM_TAS_DATA_SIZE 6948#define ATH12K_ACPI_DSM_BAND_EDGE_DATA_SIZE 10049#define ATH12K_ACPI_DSM_TAS_CFG_SIZE 10850 51#define ATH12K_ACPI_DSM_GEO_OFFSET_DATA_SIZE (ATH12K_ACPI_GEO_OFFSET_DATA_OFFSET + \52 ATH12K_ACPI_BIOS_SAR_GEO_OFFSET_LEN)53#define ATH12K_ACPI_DSM_BIOS_SAR_DATA_SIZE (ATH12K_ACPI_POWER_LIMIT_DATA_OFFSET + \54 ATH12K_ACPI_BIOS_SAR_TABLE_LEN)55#define ATH12K_ACPI_DSM_CCA_DATA_SIZE (ATH12K_ACPI_CCA_THR_OFFSET_DATA_OFFSET + \56 ATH12K_ACPI_CCA_THR_OFFSET_LEN)57 58#ifdef CONFIG_ACPI59 60int ath12k_acpi_start(struct ath12k_base *ab);61void ath12k_acpi_stop(struct ath12k_base *ab);62 63#else64 65static inline int ath12k_acpi_start(struct ath12k_base *ab)66{67 return 0;68}69 70static inline void ath12k_acpi_stop(struct ath12k_base *ab)71{72}73 74#endif /* CONFIG_ACPI */75 76#endif /* ATH12K_ACPI_H */77