Page MenuHomeFreeBSD

Introduce PMCR-based cpufreq(4) driver, for IBM POWER9 systems
ClosedPublic

Authored by jhibbits on Jun 20 2018, 7:08 PM.
Tags
None
Referenced Files
Unknown Object (File)
Oct 13 2024, 11:32 AM
Unknown Object (File)
Oct 3 2024, 4:15 PM
Unknown Object (File)
Oct 3 2024, 8:30 AM
Unknown Object (File)
Oct 1 2024, 1:40 PM
Unknown Object (File)
Sep 28 2024, 2:31 PM
Unknown Object (File)
Sep 25 2024, 2:18 AM
Unknown Object (File)
Sep 16 2024, 11:42 PM
Unknown Object (File)
Sep 16 2024, 7:46 PM
Subscribers

Details

Summary

POWER9 uses a single CPU register, per core, to change clock speed. Everything else is handled by the on-chip controller. This change necessitates a change to the cpufreq global kernel driver to bump supported levels, as the POWER9 device tree can have theoretically 256 different options. On my POWER9 Talos, the list consists of 100 items. At 16.67MHz intervals, that allows for a change of roughly 1.67GHz between lowest and highest.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Looks good to me.

sys/powerpc/cpufreq/pmcr.c
129 ↗(On Diff #44175)

How POWER9-specific is this?

This revision is now accepted and ready to land.Jun 21 2018, 4:56 AM
sys/powerpc/cpufreq/pmcr.c
129 ↗(On Diff #44175)

Currently it's very specific, because of the masking involved. I just checked on the POWER8, and that device tree also does include the requisite properties, but the format appears different from the POWER9, so I'm reluctant at this time to open this up to that as well. Once I figure out the POWER8 format, I can make it work for that with this same driver.

This revision was automatically updated to reflect the committed changes.