History

platform/x86/amd/pmf: Store commonly used enums in the header file

Relocate commonly used enums from multiple source files into a shared header file to simplify code structure, improve readability, and enhance maintainability. Also, remove the initialization of the first enum member, since it is not needed. Add the AMD_PMF_ prefix to the laptop_placement and platform_type enums since these names are overly generic for inclusion in a UAPI header

Shyam Sundar S K committed 5 months ago

Commit 08f3df91 parent 1983d7d5 files · +100 −55Browse files

Showing the changes to include/uapi (1 of 5 files). Show all

Unified · Split

include/uapi/linux/amd-pmf.h+74−0
@@ -42,6 +42,80 @@ · 41 unmodified lines
4242 #define AMD_PMF_FEAT_DYNAMIC_POWER_SLIDER_AC BIT(3)
4343 #define AMD_PMF_FEAT_DYNAMIC_POWER_SLIDER_DC BIT(4)
4444
45+/**
46+ * enum amd_pmf_laptop_placement - Describes the physical placement of the laptop
47+ * @AMD_PMF_LP_UNKNOWN: Placement cannot be determined
48+ * @AMD_PMF_ON_TABLE: Laptop is placed on a stable surface like a table or desk
49+ * @AMD_PMF_ON_LAP_MOTION: Laptop is on a lap with detected motion
50+ * @AMD_PMF_IN_BAG: Laptop is detected to be inside a bag or case
51+ * @AMD_PMF_OUT_OF_BAG: Laptop has been removed from bag or case
52+ * @AMD_PMF_LP_UNDEFINED: Placement state is undefined
53+ *
54+ * This enumeration represents the physical placement state of the laptop
55+ * as detected by platform sensors. Used for adaptive power management
56+ * and thermal policies.
57+ */
58+enum amd_pmf_laptop_placement {
59+ AMD_PMF_LP_UNKNOWN,
60+ AMD_PMF_ON_TABLE,
61+ AMD_PMF_ON_LAP_MOTION,
62+ AMD_PMF_IN_BAG,
63+ AMD_PMF_OUT_OF_BAG,
64+ AMD_PMF_LP_UNDEFINED,
65+};
66+
67+/**
68+ * enum amd_pmf_ta_slider - Trusted Application power slider positions
69+ * @AMD_PMF_TA_BEST_BATTERY: Maximum battery savings, minimal performance
70+ * @AMD_PMF_TA_BETTER_BATTERY: Balanced towards battery life
71+ * @AMD_PMF_TA_BETTER_PERFORMANCE: Balanced towards performance
72+ * @AMD_PMF_TA_BEST_PERFORMANCE: Maximum performance, higher power consumption
73+ * @AMD_PMF_TA_MAX: Sentinel value indicating maximum enum value
74+ *
75+ * This enumeration defines the power slider positions used by the
76+ * AMD PMF Trusted Application for dynamic power management decisions.
77+ * These correspond to the Windows power slider UI positions.
78+ */
79+enum amd_pmf_ta_slider {
80+ AMD_PMF_TA_BEST_BATTERY,
81+ AMD_PMF_TA_BETTER_BATTERY,
82+ AMD_PMF_TA_BETTER_PERFORMANCE,
83+ AMD_PMF_TA_BEST_PERFORMANCE,
84+ AMD_PMF_TA_MAX,
85+};
86+
87+/**
88+ * enum amd_pmf_platform_type - Describes the physical form factor orientation
89+ * @AMD_PMF_PTYPE_UNKNOWN: Platform type cannot be determined
90+ * @AMD_PMF_LID_CLOSE: Laptop lid is closed
91+ * @AMD_PMF_CLAMSHELL: Traditional laptop mode with keyboard and screen
92+ * @AMD_PMF_FLAT: Device is lying flat on a surface
93+ * @AMD_PMF_TENT: Device is in tent mode (keyboard folded back, standing)
94+ * @AMD_PMF_STAND: Device is propped up in stand orientation
95+ * @AMD_PMF_TABLET: Device is in tablet mode with keyboard hidden
96+ * @AMD_PMF_BOOK: Device is in book reading orientation
97+ * @AMD_PMF_PRESENTATION: Device is in presentation mode
98+ * @AMD_PMF_PULL_FWD: Screen is pulled forward towards user
99+ * @AMD_PMF_PTYPE_INVALID: Invalid platform type marker
100+ *
101+ * This enumeration describes the current physical orientation or form
102+ * factor of convertible/2-in-1 devices. Used for optimizing power and
103+ * thermal management based on device posture.
104+ */
105+enum amd_pmf_platform_type {
106+ AMD_PMF_PTYPE_UNKNOWN,
107+ AMD_PMF_LID_CLOSE,
108+ AMD_PMF_CLAMSHELL,
109+ AMD_PMF_FLAT,
110+ AMD_PMF_TENT,
111+ AMD_PMF_STAND,
112+ AMD_PMF_TABLET,
113+ AMD_PMF_BOOK,
114+ AMD_PMF_PRESENTATION,
115+ AMD_PMF_PULL_FWD,
116+ AMD_PMF_PTYPE_INVALID = 0xf,
117+};
118+
45119 struct amd_pmf_info {
46120 __u64 size;
47121

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t