History log of /freebsd-current/sys/x86/cpufreq/hwpstate_intel.c
Revision Date Author Comments
# fdafd315 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

sys: Automated cleanup of cdefs and other formatting

Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.

Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/
Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/
Remove /\n+#if.*\n#endif.*\n+/
Remove /^#if.*\n#endif.*\n/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/

Sponsored by: Netflix


# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# b3407dcc 19-Apr-2022 John Baldwin <jhb@FreeBSD.org>

cpufreq: Remove unused devclass arguments to DRIVER_MODULE.


# 1d6fb900 25-Dec-2021 Alexander Motin <mav@FreeBSD.org>

x86: Remove CTLFLAG_NEEDGIANT from sysctls.

MFC after: 2 weeks


# df38ada2 17-Nov-2021 Bjoern A. Zeeb <bz@FreeBSD.org>

modules: increase MAXMODNAME and provide backward compat

With various firmware files used by graphics and wireless drivers
we are exceeding the current 32 character module name (file path
in kldxref) length.
In order to overcome this issue bump it to the maximum path length
for the next version.
To be able to MFC provide backward compat support for another version
of the struct as the offsets for the second half change due to the
array size increase.

MAXMODNAME being defined to MAXPATHLEN needs param.h to be
included first. With only 7 modules (or LinuxKPI module.h) not
doing that adjust them rather than including param.h in module.h [1].

Reported by: Greg V (greg unrelenting.technology)
Sponsored by: The FreeBSD Foundation
Suggested by: imp [1]
MFC after: 10 days
Reviewed by: imp (and others to different level)
Differential Revision: https://reviews.freebsd.org/D32383


# d3a8f98a 24-Sep-2021 Alexander Motin <mav@FreeBSD.org>

Make CPU children explicitly share parent unit numbers.

Before this device unit number match was coincidental and broke if I
disabled some CPU device(s). Aside of cosmetics, for some drivers
(may be considered broken) it caused talking to wrong CPUs.


# 41062d68 28-Nov-2020 Yuri Pankov <yuripv@FreeBSD.org>

hwpstate_intel: don't unconditionally print the error message

Actually check the wrmsr_safe() return value when setting autonomous
HWP for package.

PR: 245582
Differential Revision: https://reviews.freebsd.org/D24744


# 7029da5c 26-Feb-2020 Pawel Biernacki <kaktus@FreeBSD.org>

Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)

r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly marked).
Use it in preparation for a general review of all nodes.

This is non-functional change that adds annotations to SYSCTL_NODE and
SYSCTL_PROC nodes using one of the soon-to-be-required flags.

Mark all obvious cases as MPSAFE. All entries that haven't been marked
as MPSAFE before are by default marked as NEEDGIANT

Approved by: kib (mentor, blanket)
Commented by: kib, gallatin, melifaro
Differential Revision: https://reviews.freebsd.org/D23718


# e656fa70 01-Feb-2020 Conrad Meyer <cem@FreeBSD.org>

hwpstate_intel(4): Save admin-set EPP/EPB and restore after suspend


# c93eb470 01-Feb-2020 Conrad Meyer <cem@FreeBSD.org>

hwpstate_intel(4): Print failure message only on failure

X-MFC-With: r357379


# cd4e43b2 01-Feb-2020 Conrad Meyer <cem@FreeBSD.org>

hwpstate_intel(4): Detect and support PKG variant

If package-level control is present, we default to using it. Per-core
software control may be enabled by setting the machdep.hwpstate_pkg_ctrl
tunable to "0" in loader.conf(5).


# 556a1a0b 01-Feb-2020 Conrad Meyer <cem@FreeBSD.org>

hwpstate_intel(4): Add fallback EPP using PERF_BIAS MSR

Per Intel SDM (Vol 3b Part 2), if HWP indicates EPP (energy-performance
preference) is not supported, the hardware instead uses the ENERGY_PERF_BIAS
MSR. In the epp sysctl handler, fall back to that MSR if HWP does not
support EPP and CPUID indicates the ENERGY_PERF_BIAS MSR is supported.


# 5e3574c8 01-Feb-2020 Conrad Meyer <cem@FreeBSD.org>

x86: Add/amend some power-management comments/macros

No functional change.


# b80d476c 01-Feb-2020 Conrad Meyer <cem@FreeBSD.org>

hwpstate_intel(4): Error check epp sysctl & bail if HW does not support feature


# f591c3c8 01-Feb-2020 Conrad Meyer <cem@FreeBSD.org>

intel_hwpstate(4): Use identcpu-cached cpuid 6 leaf

No functional change.


# 351896d3 01-Feb-2020 Conrad Meyer <cem@FreeBSD.org>

intel_hwpstate(4): Don't leak bound thread in error conditions

I don't know why a Skylake CPU with the HWP feature bit present would trap
on MSR reads of the HWP registers, but if this occurs, do not leave the
attach thread bound. This could conceivably cause reported hangs, although
I have no evidence that this is the cause.

Reported by: ae@, Andreas Nilsson <andrnils AT gmail.com>
X-MFC-With: r357002


# 07a65f9d 28-Jan-2020 Conrad Meyer <cem@FreeBSD.org>

hwpstate_intel(4): Silence/fix Coverity reports

These were all introduced in the initial import of hwpstate_intel(4).

Reported by: Coverity
CIDs: 1413161, 1413164, 1413165, 1413167
X-MFC-With: r357002


# 08a220dd 23-Jan-2020 Conrad Meyer <cem@FreeBSD.org>

cpufreq(4): Fix missing MODULE_DEPEND on hwpstate_intel

DRIVER_MODULE does not actually define a MODULE_VERSION, which is required
to satisfy a MODULE_DEPENDency. Declare one explicitly in
hwpstate_intel(4).

Reported by: flo
X-MFC-With: r357002


# ca9fb12a 22-Jan-2020 Cy Schubert <cy@FreeBSD.org>

Fix 32-bit build post r357002.


# 4577cf37 22-Jan-2020 Conrad Meyer <cem@FreeBSD.org>

cpufreq(4): Add support for Intel Speed Shift

Intel Speed Shift is Intel's technology to control frequency in hardware,
with hints from software.

Let's get a working version of this in the tree and we can refine it from
here.

Submitted by: bwidawsk, scottph
Reviewed by: bcr (manpages), myself
Discussed with: jhb, kib (earlier versions)
With feedback from: Greg V, gallatin, freebsdnewbie AT freenet.de
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D18028