File Index
Files and directories
Sign in
FILE

acpi.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/wireless/ath/ath12k/acpi.h 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-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.