platform-driver-x86.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Cc: Hans de Goede <hansg@kernel.org>,
	platform-driver-x86@vger.kernel.org,  mario.limonciello@amd.com,
	Sanket.Goswami@amd.com
Subject: Re: [PATCH v5 8/8] Documentation/ABI: add testing entry for AMD PMF character device interface
Date: Thu, 21 May 2026 14:07:44 +0300 (EEST)	[thread overview]
Message-ID: <ae0ebb59-cd50-73fd-db35-6797117e8d1d@linux.intel.com> (raw)
In-Reply-To: <20260520185424.770772-9-Shyam-sundar.S-k@amd.com>

On Thu, 21 May 2026, Shyam Sundar S K wrote:

> Add a Documentation/ABI/testing entry describing the AMD PMF util layer
> character device (/dev/amdpmf_interface) and the initial ioctls used to
> query feature support and metrics data information. This interface is
> available when CONFIG_AMD_PMF_UTIL_SUPPORT=y.
> 
> Also update the MAINTAINERS record with the new UAPI header.
> 
> Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
> ---
>  Documentation/ABI/testing/amdpmf-interface | 74 ++++++++++++++++++++++
>  MAINTAINERS                                |  1 +
>  2 files changed, 75 insertions(+)
>  create mode 100644 Documentation/ABI/testing/amdpmf-interface
> 
> diff --git a/Documentation/ABI/testing/amdpmf-interface b/Documentation/ABI/testing/amdpmf-interface
> new file mode 100644
> index 000000000000..45606907f7e6
> --- /dev/null
> +++ b/Documentation/ABI/testing/amdpmf-interface
> @@ -0,0 +1,74 @@
> +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_version	__u32	   IOCTL interface version

Where does this come from?

> +		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.
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 839e39825455..ec061cd127b2 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1216,6 +1216,7 @@ L:	platform-driver-x86@vger.kernel.org
>  S:	Supported
>  F:	Documentation/ABI/testing/sysfs-amd-pmf
>  F:	drivers/platform/x86/amd/pmf/
> +F:	include/uapi/linux/amd-pmf.h
>  
>  AMD POWERPLAY AND SWSMU
>  M:	Kenneth Feng <kenneth.feng@amd.com>
> 

-- 
 i.


  reply	other threads:[~2026-05-21 11:07 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-20 18:54 [PATCH v5 0/8] platform/x86/amd/pmf: Introduce PMF util layer with userspace interface Shyam Sundar S K
2026-05-20 18:54 ` [PATCH v5 1/8] platform/x86/amd/pmf: Add util layer and userspace character device interface Shyam Sundar S K
2026-05-22 13:21   ` Ilpo Järvinen
2026-05-20 18:54 ` [PATCH v5 2/8] platform/x86/amd/pmf: store BIOS output values for user-space metrics via util IOCTL Shyam Sundar S K
2026-05-22 13:28   ` Ilpo Järvinen
2026-05-20 18:54 ` [PATCH v5 3/8] platform/x86/amd/pmf: Add feature discovery support to util interface Shyam Sundar S K
2026-05-22 13:29   ` Ilpo Järvinen
2026-05-20 18:54 ` [PATCH v5 4/8] platform/x86/amd/pmf: Store commonly used enums in the header file Shyam Sundar S K
2026-05-22 13:31   ` Ilpo Järvinen
2026-05-20 18:54 ` [PATCH v5 5/8] platform/x86/amd/pmf: Move debug helper functions to UAPI header Shyam Sundar S K
2026-05-21 11:02   ` Ilpo Järvinen
2026-05-27  9:37     ` Shyam Sundar S K
2026-05-22 13:35   ` Ilpo Järvinen
2026-05-20 18:54 ` [PATCH v5 6/8] platform/x86/amd/pmf: Implement util layer ioctl handler Shyam Sundar S K
2026-05-21 10:58   ` Ilpo Järvinen
2026-05-27 10:15     ` Shyam Sundar S K
2026-05-27 11:09       ` Ilpo Järvinen
2026-05-22 13:44   ` Ilpo Järvinen
2026-05-20 18:54 ` [PATCH v5 7/8] platform/x86/amd/pmf: Introduce AMD PMF testing tool for driver metrics and features Shyam Sundar S K
2026-05-20 18:54 ` [PATCH v5 8/8] Documentation/ABI: add testing entry for AMD PMF character device interface Shyam Sundar S K
2026-05-21 11:07   ` Ilpo Järvinen [this message]
2026-05-27  9:35     ` Shyam Sundar S K

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ae0ebb59-cd50-73fd-db35-6797117e8d1d@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=Sanket.Goswami@amd.com \
    --cc=Shyam-sundar.S-k@amd.com \
    --cc=hansg@kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).