Page MenuHomeFreeBSD

unify bits specific to AMD chipsets (FCHs, southbridges)
ClosedPublic

Authored by avg on Sep 22 2016, 11:35 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 13, 9:21 PM
Unknown Object (File)
Mar 3 2024, 7:32 AM
Unknown Object (File)
Mar 3 2024, 7:07 AM
Unknown Object (File)
Dec 20 2023, 12:18 AM
Unknown Object (File)
Nov 7 2023, 11:28 PM
Unknown Object (File)
Nov 7 2023, 3:50 PM
Unknown Object (File)
Oct 31 2023, 11:08 PM
Unknown Object (File)
Oct 31 2023, 7:43 PM
Subscribers

Details

Summary

AMD chipsets have proprietary mechanisms for dicovering resources.
Those resources are not discoverable via plug-and-play mechanisms
like PCI configuration registers or ACPI.
For this reason a chipset-specific knowledge of proprietary registers
is required.

At present there are two FreeBSD drivers that require the proprietary
resource discovery. One is amdsbwd which is a driver for the watchdog
timer in the AMD chipsets. The other is intpm SMBus driver when it
attaches to the newer AMD chipsets where the resources of the SMBus HBA
are not described in the regular PCI way.

In both cases the resources are discovered by accessing AMD PMIO space.
Thus, many definitions are shared between the two drivers.
This change puts those defintions into a common header file.

As an added benefit, intpm driver now supports newest FCHs built into
AMD processors of Family 15h, models 70h-7Fh and Family 16h, models
30h-3Fh.

In the longer term it might make sense to create a new AMD chipset
driver that could claim the PCI SMBus device and then act as a parent
to amdsbwd and intpm drivers. All the logic for the proprietary
resource discovery would go into the chipset driver and the resources
would be conveniently presented to the children.
It also might make sense to subclass intpm driver and override its
probe and attach methods for AMD. Unfortunately, amdpm and amdsmb
names are already used by other drivers (for much older hardware).

Diff Detail

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

Event Timeline

avg retitled this revision from to unify bits specific to AMD chipsets (FCHs, southbridges).
avg updated this object.
avg edited the test plan for this revision. (Show Details)
avg added reviewers: kib, jhb.

remove watchdog-specific definitions from the common header

kib edited edge metadata.
kib added inline comments.
sys/dev/amdsbwd/amdsbwd.c
64 ↗(On Diff #20613)

I find such references to exact location in the documents useful. Please keep them when moving defines around, as possible.

This revision is now accepted and ready to land.Sep 22 2016, 11:51 AM
This revision was automatically updated to reflect the committed changes.