This chapter demonstrates how to configure ACPI on FreeBSD. It then offers some tips on how to debug ACPI and how to submit a problem report containing debugging information so that developers can diagnosis and fix ACPI issues.
+[[cpufreq]]
+=== CPU Frequency Control
+
+FreeBSD includes a generic man:cpufreq[4] driver to allow the administrator, or software such as man:powerd[8] and package:sysutils/powerdxx[], to manage the frequency of the CPU to achieve the desired balance between performance and economy.
+A lower setting will save power while reducing the heat generated by the CPU.
+A higher setting will increase performance at the cost of using additional power and generating more heat.
+
+[[est]]
+=== Intel(R) Enhanced Speed Step(TM)
+
+The Intel(R) Enhanced Speed Step(TM) driver, man:est[4], replaces the generic man:cpufreq[4] driver for CPUs that provide this feature.
+The CPU frequency can be statically adjusted using man:sysctl[8], or with the `/etc/rc.d/power_profile` startup script.
+Additional software, such as man:powerd[8] or package:sysutils/powerdxx[], can be used to automatically adjust the CPU frequency based on processor utilization.
+
+Each supported frequency, along with its expected power consumption, can be listed by examining the man:sysctl[3] tree:
+A frequency 1 MHz higher than the maximum frequency of the CPU indicates the Intel(R) Turbo Boost(TM) feature.
+
+[[hwpstate_intel]]
+=== Intel Speed Shift(TM)
+
+Users running newer Intel(R) CPUs may find some differences in dynamic frequency control when upgrading to FreeBSD 13.0.
+A new driver for the Intel(R) Speed Shift(TM) feature set, available on certain SKUs, exposes the ability for the hardware to dynamically vary the core frequencies, including on a per core basis.
+FreeBSD 13.0 comes with the man:hwpstate_intel[4] driver to automatically enable Speed Shift(TM) control on equipped CPUs, replacing the older Enhanced Speed Step(TM) man:est[4] driver.
+The man:sysctl[8] `dev.cpufreq.%d.freq_driver` will indicate if the system is using Speed Shift.
+
+To determine which frequency control driver is being used, examining the `dev.cpufreq.0.freq_driver` oid.
+```
+root@host:~ # sysctl dev.cpufreq.0.freq_driver
+dev.cpufreq.0.freq_driver: hwpstate_intel0
+```
+
+This indicates that the new man:hwpstate_intel[4] driver is in use.
+On such systems, the oid `dev.cpu.%d.freq_levels` will show only the maximum CPU frequency, and will indicate a power consumption level of `-1`.
+The current CPU frequency can be determined by examining the `dev.cpu.%d.freq` oid.
+For more information, including on how to balance performance and energy use, and on how to disable this driver, refer to the man page man:hwpstate_intel[4].
+
+Note: Users accustomed to using man:powerd[8] or package:sysutils/powerdxx[] will find these utilities have been superseded by the man:hwpstate_intel[4] driver and no longer work as expected.
-Added support for Intel Speed Shift to man:cpufreq[4].
+man:cpufreq[4] now includes support for Intel HW P-States (Speed Shift(TM)) via the new man:hwpstate_intel[4] driver.
+On systems equipped with Speed Shift(TM), users of man:powerd[8] or package:sysutils/powerdxx[] may find that these utilities no longer work as expected, as they are superseded by this driver.
+For more information, see the link:{handbook}config/#hwpstate_intel[FreeBSD Handbook].
gitref:4577cf3744b[repository=src]
Added a driver for pwm-backlight compatible devices, such as the one found on