Page MenuHomeFreeBSD

intel_pmc_core: Add Intel PMC Core driver
AbandonedPublicDraft

Authored by guest-seuros on Wed, Feb 25, 2:02 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Feb 26, 10:08 AM
Unknown Object (File)
Wed, Feb 25, 4:05 PM
Unknown Object (File)
Wed, Feb 25, 8:08 AM
Unknown Object (File)
Wed, Feb 25, 3:39 AM
Unknown Object (File)
Wed, Feb 25, 3:38 AM
Unknown Object (File)
Wed, Feb 25, 3:27 AM
Subscribers

Details

Reviewers
None
Summary

Add a driver for the Intel Sunrise Point PCH Power Management Controller.
Exposes sleep state residency counters and power gating status via sysctl
for debugging S0ix (Modern Standby) power states.

Sysctls provided under dev.intel_pmc_core.%d:

  • slp_s0_residency: cumulative time in any S0ix sub-state (microseconds)
  • ltr_ignore: Latency Tolerance Reporting ignore mask
  • pm_cfg: Power Management configuration register
  • pm_sts: Power Management status register
  • access_denied: set if firmware has locked PMC register access

If all PMC registers read as 0xFFFFFFFF, the driver detects firmware lock
and reports it at attach time. All sysctl reads return zero in that case.

Only Sunrise Point-LP (0x9d21) and Sunrise Point-H (0xa121) are supported.
Other PCH generations have different register layouts.

Reference: Intel 100 Series Chipset Family PCH Datasheet Vol 2, §4.3.53.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 70972
Build 67855: arc lint + arc unit