<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/tools/power/cpupower/utils/helpers/amd.c, branch docs-6.1</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-6.1</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-6.1'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2022-02-23T01:37:12+00:00</updated>
<entry>
<title>cpupower: Add function to print AMD P-State performance capabilities</title>
<updated>2022-02-23T01:37:12+00:00</updated>
<author>
<name>Huang Rui</name>
<email>ray.huang@amd.com</email>
</author>
<published>2022-02-22T15:34:25+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d8363e29178249bb505ae388ce1658484396fcde'/>
<id>urn:sha1:d8363e29178249bb505ae388ce1658484396fcde</id>
<content type='text'>
AMD P-State kernel module is using the fine grain frequency instead of
acpi hardware pstate. So add a function to print performance and
frequency values.

Reviewed-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
Signed-off-by: Huang Rui &lt;ray.huang@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Enable boost state support for AMD P-State module</title>
<updated>2022-02-23T01:37:01+00:00</updated>
<author>
<name>Huang Rui</name>
<email>ray.huang@amd.com</email>
</author>
<published>2022-02-22T15:34:23+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bf9801baa81802dac7e2a5318944ca2f4bfa74ef'/>
<id>urn:sha1:bf9801baa81802dac7e2a5318944ca2f4bfa74ef</id>
<content type='text'>
The legacy ACPI hardware P-States function has 3 P-States on ACPI table,
the CPU frequency only can be switched between the 3 P-States. While the
processor supports the boost state, it will have another boost state
that the frequency can be higher than P0 state, and the state can be
decoded by the function of decode_pstates() and read by
amd_pci_get_num_boost_states().

However, the new AMD P-State function is different than legacy ACPI
hardware P-State on AMD processors. That has a finer grain frequency
range between the highest and lowest frequency. And boost frequency is
actually the frequency which is mapped on highest performance ratio. The
similar previous P0 frequency is mapped on nominal performance ratio.
If the highest performance on the processor is higher than nominal
performance, then we think the current processor supports the boost
state. And it uses amd_pstate_boost_init() to initialize boost for AMD
P-State function.

Reviewed-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
Signed-off-by: Huang Rui &lt;ray.huang@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Add AMD P-State sysfs definition and access helper</title>
<updated>2022-02-23T01:36:55+00:00</updated>
<author>
<name>Huang Rui</name>
<email>ray.huang@amd.com</email>
</author>
<published>2022-02-22T15:34:22+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=33e43f3636dffe84753847eee79ea0e3527105e6'/>
<id>urn:sha1:33e43f3636dffe84753847eee79ea0e3527105e6</id>
<content type='text'>
Introduce the marco definitions and access helper function for
AMD P-State sysfs interfaces such as each performance goals and frequency
levels in amd helper file. They will be used to read the sysfs attribute
from AMD P-State cpufreq driver for cpupower utilities.

Reviewed-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
Signed-off-by: Huang Rui &lt;ray.huang@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Remove family arg to decode_pstates()</title>
<updated>2021-01-26T16:40:39+00:00</updated>
<author>
<name>Nathan Fontenot</name>
<email>nathan.fontenot@amd.com</email>
</author>
<published>2021-01-25T17:36:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d1abc4e996d7784ce4d56749e4b5ca8ff23b1e0f'/>
<id>urn:sha1:d1abc4e996d7784ce4d56749e4b5ca8ff23b1e0f</id>
<content type='text'>
The decode_pstates() routine no longer uses the CPU family and
the caleed routines (get_cof() and get_did()) can grab the family
from the global cpupower_cpu_info struct. These update removes
passing the family arg to all these routines.

Signed-off-by: Nathan Fontenot &lt;nathan.fontenot@amd.com&gt;
Reviewed-by: Robert Richter &lt;rrichter@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Condense pstate enabled bit checks in decode_pstates()</title>
<updated>2021-01-26T16:40:32+00:00</updated>
<author>
<name>Nathan Fontenot</name>
<email>nathan.fontenot@amd.com</email>
</author>
<published>2021-01-25T17:35:23+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=56a85eebebdba62ebf6c46bd957949cc6e926aa0'/>
<id>urn:sha1:56a85eebebdba62ebf6c46bd957949cc6e926aa0</id>
<content type='text'>
The enabled bit (bit 63) is common for all families so we can remove
the multiple enabled checks based on family and have a common check
for HW pstate enabled.

Signed-off-by: Nathan Fontenot &lt;nathan.fontenot@amd.com&gt;
Reviewed-by: Robert Richter &lt;rrichter@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Update family checks when decoding HW pstates</title>
<updated>2021-01-26T16:40:26+00:00</updated>
<author>
<name>Nathan Fontenot</name>
<email>nathan.fontenot@amd.com</email>
</author>
<published>2021-01-25T17:35:17+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=23765b82a808da416b70b41d711468e723531e6a'/>
<id>urn:sha1:23765b82a808da416b70b41d711468e723531e6a</id>
<content type='text'>
The family checks in get_cof() and get_did() need to use the
correct MSR format depending on the family. Add a cpupower
capability for using the pstatedef (family 17h and newer) to
control this instead of direct family checks.

Signed-off-by: Nathan Fontenot &lt;nathan.fontenot@amd.com&gt;
Reviewed-by: Robert Richter &lt;rrichter@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Remove unused pscur variable.</title>
<updated>2021-01-26T16:40:21+00:00</updated>
<author>
<name>Nathan Fontenot</name>
<email>nathan.fontenot@amd.com</email>
</author>
<published>2021-01-25T17:35:10+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1421de7919cd082bad692626937f055f367586ba'/>
<id>urn:sha1:1421de7919cd082bad692626937f055f367586ba</id>
<content type='text'>
The pscur variable is set but not uused, just remove it.

This may have previsously been set to validate the MSR_AMD_PSTATE_STATUS
MSR. With the addition of the CPUPOWER_CAP_AMD_HW_PSTATE cap flag this
is no longer needed since the cpuid bit to enable this cap flag also
validates that the MSR_AMD_PSTATE_STATUS MSR is present.

Signed-off-by: Nathan Fontenot &lt;nathan.fontenot@amd.com&gt;
Reviewed-by: Robert Richter &lt;rrichter@amd.com&gt;
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Add CPUPOWER_CAP_AMD_HW_PSTATE cpuid caps flag</title>
<updated>2021-01-26T16:40:15+00:00</updated>
<author>
<name>Nathan Fontenot</name>
<email>nathan.fontenot@amd.com</email>
</author>
<published>2021-01-25T17:34:49+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=a0255a76bf3a78d322adfe4eb4e73eb83998f61a'/>
<id>urn:sha1:a0255a76bf3a78d322adfe4eb4e73eb83998f61a</id>
<content type='text'>
Add a check in get_cpu_info() for the ability to read frequencies
from hardware and set the CPUPOWER_CAP_AMD_HW_PSTATE cpuid flag.
The cpuid flag is set when CPUID_80000007_EDX[7] is set,
which is all families &gt;= 10h. The check excludes family 14h
because HW pstate reporting was not implemented on family 14h.

This is intended to reduce family checks in the main code paths.

Signed-off-by: Nathan Fontenot &lt;nathan.fontenot@amd.com&gt;
Reviewed-by: Robert Richter &lt;rrichter@amd.com&gt;
Reviewed-by: skhan@linuxfoundation.org
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cpupower: Update msr_pstate union struct naming</title>
<updated>2021-01-26T16:39:54+00:00</updated>
<author>
<name>Nathan Fontenot</name>
<email>nathan.fontenot@amd.com</email>
</author>
<published>2021-01-25T17:34:36+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=629d512d682de2259179046e2364f1f1ff4232e3'/>
<id>urn:sha1:629d512d682de2259179046e2364f1f1ff4232e3</id>
<content type='text'>
The msr_pstate union struct named fam17h_bits is misleading since
this is the struct to use for all families &gt;= 0x17, not just
for family 0x17. Rename the bits structs to be 'pstate' (for pre
family 17h CPUs) and 'pstatedef' (for CPUs since fam 17h) to align
closer with PPR/BDKG (1) naming.

There are no functional changes as part of this update.

1: AMD Processor Programming Reference (PPR) and BIOS and
Kernel Developer's Guide (BKDG) available at:
http://developer.amd.com/resources/developer-guides-manuals

Signed-off-by: Nathan Fontenot &lt;nathan.fontenot@amd.com&gt;
Reviewed-by: Robert Richter &lt;rrichter@amd.com&gt;
Reviewed-by: skhan@linuxfoundation.org
Signed-off-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2018-10-23T15:16:40+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2018-10-23T15:16:40+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=fec98069fb72fb656304a3e52265e0c2fc9adf87'/>
<id>urn:sha1:fec98069fb72fb656304a3e52265e0c2fc9adf87</id>
<content type='text'>
Pull x86 cpu updates from Ingo Molnar:
 "The main changes in this cycle were:

   - Add support for the "Dhyana" x86 CPUs by Hygon: these are licensed
     based on the AMD Zen architecture, and are built and sold in China,
     for domestic datacenter use. The code is pretty close to AMD
     support, mostly with a few quirks and enumeration differences. (Pu
     Wen)

   - Enable CPUID support on Cyrix 6x86/6x86L processors"

* 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  tools/cpupower: Add Hygon Dhyana support
  cpufreq: Add Hygon Dhyana support
  ACPI: Add Hygon Dhyana support
  x86/xen: Add Hygon Dhyana support to Xen
  x86/kvm: Add Hygon Dhyana support to KVM
  x86/mce: Add Hygon Dhyana support to the MCA infrastructure
  x86/bugs: Add Hygon Dhyana to the respective mitigation machinery
  x86/apic: Add Hygon Dhyana support
  x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge
  x86/amd_nb: Check vendor in AMD-only functions
  x86/alternative: Init ideal_nops for Hygon Dhyana
  x86/events: Add Hygon Dhyana support to PMU infrastructure
  x86/smpboot: Do not use BSP INIT delay and MWAIT to idle on Dhyana
  x86/cpu/mtrr: Support TOP_MEM2 and get MTRR number
  x86/cpu: Get cache info and setup cache cpumap for Hygon Dhyana
  x86/cpu: Create Hygon Dhyana architecture support file
  x86/CPU: Change query logic so CPUID is enabled before testing
  x86/CPU: Use correct macros for Cyrix calls
</content>
</entry>
</feed>
