drivers/net/wireless/realtek/rtw89/acpi.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/realtek/rtw89/acpi.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/realtek/rtw89/acpi.h
Extension
.h
Size
7476 bytes
Lines
299
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct rtw89_acpi_data {
	u32 len;
	u8 buf[] __counted_by(len);
};

enum rtw89_acpi_dsm_func {
	RTW89_ACPI_DSM_FUNC_IDN_BAND_SUP = 2,
	RTW89_ACPI_DSM_FUNC_6G_DIS = 3,
	RTW89_ACPI_DSM_FUNC_6G_BP = 4,
	RTW89_ACPI_DSM_FUNC_TAS_EN = 5,
	RTW89_ACPI_DSM_FUNC_UNII4_SUP = 6,
	RTW89_ACPI_DSM_FUNC_6GHZ_SP_SUP = 7,
	RTW89_ACPI_DSM_FUNC_REG_RULES_EN = 10,
	RTW89_ACPI_DSM_FUNC_6GHZ_VLP_SUP = 11,
};

enum rtw89_acpi_conf_unii4 {
	RTW89_ACPI_CONF_UNII4_US = BIT(0),
	RTW89_ACPI_CONF_UNII4_CA = BIT(1),
};

enum rtw89_acpi_policy_mode {
	RTW89_ACPI_POLICY_BLOCK = 0,
	RTW89_ACPI_POLICY_ALLOW = 1,
};

enum rtw89_acpi_conf_tas {
	RTW89_ACPI_CONF_TAS_US = BIT(0),
	RTW89_ACPI_CONF_TAS_CA = BIT(1),
	RTW89_ACPI_CONF_TAS_KR = BIT(2),
	RTW89_ACPI_CONF_TAS_OTHERS = BIT(7),
};

struct rtw89_acpi_country_code {
	/* below are allowed:
	 * * ISO alpha2 country code
	 * * EU for countries in Europe
	 */
	char alpha2[2];
} __packed;

struct rtw89_acpi_policy_6ghz {
	u8 signature[3];
	u8 rsvd;
	u8 policy_mode;
	u8 country_count;
	struct rtw89_acpi_country_code country_list[] __counted_by(country_count);
} __packed;

enum rtw89_acpi_conf_6ghz_sp {
	RTW89_ACPI_CONF_6GHZ_SP_US = BIT(0),
	RTW89_ACPI_CONF_6GHZ_SP_CA = BIT(1),
};

struct rtw89_acpi_policy_6ghz_sp {
	u8 signature[4];
	u8 revision;
	u8 override;
	u8 conf;
	u8 rsvd;
} __packed;

enum rtw89_acpi_conf_6ghz_vlp {
	RTW89_ACPI_CONF_6GHZ_VLP_US = BIT(0),
	RTW89_ACPI_CONF_6GHZ_VLP_CA = BIT(1),
};

struct rtw89_acpi_policy_6ghz_vlp {
	u8 signature[4];
	u8 revision;
	u8 override;
	u8 conf;
	u8 rsvd;
} __packed;

struct rtw89_acpi_policy_tas {
	u8 signature[4];
	u8 revision;
	u8 enable;
	u8 enabled_countries;
	u8 rsvd[3];
} __packed;

enum rtw89_acpi_conf_reg_rules {
	RTW89_ACPI_CONF_REG_RULE_REGD_UK = BIT(0),
};

struct rtw89_acpi_policy_reg_rules {
	u8 signature[4];
	u8 revision;

Annotation

Implementation Notes