What:		/dev/amdpmf_interface
Date:		June 2026
KernelVersion:	7.2
Contact:	Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Description:
		The AMD Platform Management Framework (PMF) util layer exposes a
		minimal user-space interface via a character device for feature
		discovery and metrics monitoring.

		When CONFIG_AMD_PMF_UTIL_SUPPORT is enabled, the driver creates
		a character device:

		======================
		/dev/amdpmf_interface
		======================

		The interface supports a single ioctl:

		============================ =======================================
		IOCTL			     Usage
		IOCTL_AMD_PMF_POPULATE_DATA  User passes a struct amd_pmf_info with
					     the size field set to sizeof(struct
					     amd_pmf_info). The driver returns all
					     available metrics and feature status
					     in the structure.
		============================ =======================================

		struct amd_pmf_info layout:

		======================= ========== ================================
		Field			Type	   Description
		size			__u64	   Structure size for versioning
		features_supported	__u32	   Bitmask of supported features
		platform_type		__u32	   Platform form factor orientation
		power_source		__u32	   AC/DC power source
		laptop_placement	__u32	   Device placement state
		lid_state		__u32	   Lid open/closed status
		user_presence		__u32	   User presence detection
		slider_position		__u32	   Current power slider position
		skin_temp		__s32	   Skin temperature (centidegrees)
		gfx_busy		__u32	   Graphics workload percentage
		ambient_light		__s32	   Ambient light sensor reading
		avg_c0_residency	__u32	   Average C0 state residency
		max_c0_residency	__u32	   Maximum C0 state residency
		socket_power		__u32	   Socket power consumption
		bios_input[10]		__u32	   Custom BIOS input parameters
		bios_output[10]		__u32	   Custom BIOS output parameters
		======================= ========== ================================

		Feature Support Flags (features_supported bitmask):

		=====================================    ====  =============================
		Flag				         Bit   Description
		AMD_PMF_FEAT_AUTO_MODE		         0     Auto Mode feature support
		AMD_PMF_FEAT_STATIC_POWER_SLIDER         1     Static Power Slider support
		AMD_PMF_FEAT_POLICY_BUILDER	         2     Policy Builder (Smart PC)
		AMD_PMF_FEAT_DYNAMIC_POWER_SLIDER_AC     3     Dynamic slider on AC
		AMD_PMF_FEAT_DYNAMIC_POWER_SLIDER_DC     4     Dynamic slider on DC
		=====================================    ====  =============================

		Return codes:

		============= ============================================================
		Return code   Description
		0	      Success
		EINVAL	      Invalid size or parameter
		EFAULT	      copy_to_user/copy_from_user failures
		ENODEV	      PMF device not available
		ENOTTY	      Unknown ioctl command
		============= ============================================================

		User-space tools integrating with AMD PMF to discover capabilities and
		monitor real-time metrics for thermal and power management validation.
