Subject: Re: [PATCH for 6.19 4/4] PM: EM: Add dump to get-perf-domains in the EM YNL spec

From: Donald Hunter <[email-masked]>
Date: Mon, 05 Jan 2026 11:19:16 +0000

Changwoo Min <[email-masked]> writes:

> Add dump to get-perf-domains, so that a user can fetch either information
> about a specific performance domain with do or information about all
> performance domains with dump. The YNL spec, autogenerated files, and
> the do implementation are updated, and the dump implementation is added.
>
> Suggested-by: Donald Hunter <[email-masked]>
> Signed-off-by: Changwoo Min <[email-masked]>
> ---
>  .../netlink/specs/dev-energymodel.yaml        | 12 ++++
>  include/uapi/linux/dev_energymodel.h          |  3 +-
>  kernel/power/em_netlink.c                     | 58 +++++++++++++++++--
>  kernel/power/em_netlink_autogen.c             | 16 ++++-
>  kernel/power/em_netlink_autogen.h             |  2 +
>  5 files changed, 82 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/netlink/specs/dev-energymodel.yaml b/Documentation/netlink/specs/dev-energymodel.yaml
> index af8b8f72f722..1843e68faacf 100644
> --- a/Documentation/netlink/specs/dev-energymodel.yaml
> +++ b/Documentation/netlink/specs/dev-energymodel.yaml
> @@ -47,6 +47,11 @@ attribute-sets:
>      doc: >-
>        Information on all the performance domains.
>      attributes:
> +      -
> +        name: perf-domain-id
> +        type: u32
> +        doc: >-
> +          A unique ID number for each performance domain.
>        -
>          name: perf-domain
>          type: nest
> @@ -136,6 +141,13 @@ operations:
>        attribute-set: perf-domains

I think this can be changed to 'perf-domain' and you could remove
the 'perf-domains' attribute-set.

>        doc: Get the list of information for all performance domains.
>        do:
> +        request:
> +          attributes:
> +            - perf-domain-id
> +        reply:
> +          attributes:
> +            - perf-domain

If you use 'perf-domain' then the reply attributes would be:

  reply:
    attributes: &perf-domain-attrs
      - pad
      - perf-domain-id
      - flags
      - cpus

> +      dump:
>          reply:
>            attributes:
>              - perf-domain

You can then change the dump reply to be:

  dump:
    reply:
      attributes: *perf-domain-attrs

The dump reply for multiple perf domains would then look like this, no
need for the 'perf-domains' wrapper:

[{'perf-domain-id': ...,
  'flags': ...,
  'cpus': [1, 2, 3]},
 {'perf-domain-id': ...,
  'flags': ...,
  'cpus': [1, 2, 3]}]