All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.