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
42#define AMD_PMF_FEAT_DYNAMIC_POWER_SLIDER_AC BIT(3)42#define AMD_PMF_FEAT_DYNAMIC_POWER_SLIDER_AC BIT(3)
43#define AMD_PMF_FEAT_DYNAMIC_POWER_SLIDER_DC BIT(4)43#define AMD_PMF_FEAT_DYNAMIC_POWER_SLIDER_DC BIT(4)
44 44
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 */
58enum 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 */
79enum 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 */
105enum 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
45struct amd_pmf_info {119struct amd_pmf_info {
46 __u64 size;120 __u64 size;
47 121

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