Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/dev/athk/ath12k/acpi.h
178703 views
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
75
int ath12k_acpi_start(struct ath12k_base *ab);
76
void ath12k_acpi_stop(struct ath12k_base *ab);
77
bool ath12k_acpi_get_disable_rfkill(struct ath12k_base *ab);
78
bool ath12k_acpi_get_disable_11be(struct ath12k_base *ab);
79
void ath12k_acpi_set_dsm_func(struct ath12k_base *ab);
80
int ath12k_acpi_check_bdf_variant_name(struct ath12k_base *ab);
81
82
#else
83
84
static inline int ath12k_acpi_start(struct ath12k_base *ab)
85
{
86
return 0;
87
}
88
89
static inline void ath12k_acpi_stop(struct ath12k_base *ab)
90
{
91
}
92
93
static inline bool ath12k_acpi_get_disable_rfkill(struct ath12k_base *ab)
94
{
95
return false;
96
}
97
98
static inline bool ath12k_acpi_get_disable_11be(struct ath12k_base *ab)
99
{
100
return false;
101
}
102
103
static inline void ath12k_acpi_set_dsm_func(struct ath12k_base *ab)
104
{
105
}
106
107
static 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 */
115
116