Indexing of FeatureCtrlMask for SMU13 OverDrive

Alex Deucher alexdeucher at gmail.com
Tue Feb 7 04:36:39 UTC 2023


On Mon, Feb 6, 2023 at 8:17 PM Matt Coffin <mcoffin13 at gmail.com> wrote:
>
> Hello again,
>
> I've been working on OverDrive support for smu13, as you probably
> already know. In that endeavor, it also contains the following:
>
> 1. I've come up with a few patterns that I think will reduce the
> amount of boilerplate and SMU-specific code required to do
> implement these interfaces in the future.
> 2. Since the old pp_od_clk_voltage sysfs interface is inadequate for
> usage in setting values other than a few indexed clock/voltage settings,
> I'll likely be sending a proposed "generic" interface, where OD settings
> are exposed to userspace by ASIC-specific indexed identifiers.
>
> But, those are beside the point, for now.
>
> While picking through the existing headers, the information in
> smu_v13_0_0_pptable.h seems to not quite be in line with what I'm seeing
> coming from the card, so I'm instead focusing mainly on
> smu13_driver_if_v13_0_0.h.
>
> In the two OverDrive-related structs, OverDriveTable_t and
> OverDriveLimits_t, the FeatureCtrlMask member seems to be controlling
> which of the "features" of OverDrive would actually be in use. As of
> yet, I haven't been able to find an index of what the bits in here
> actually mean. Is there any way you could help me out with that?

I can ask tomorrow.  That said, we are working on OD support and
should have patches available soon.

Alex



>
> My best guess thus far is that they are by each element of the
> OverDriveTable_t struct, but that's only just a guess.
>
> For reference, here are the values I'm seeing present in each at boot
> time.
>
> Since FeatureCtrlMask is 0b11111001101, the current theory is that the
> "unsupported" features would be VddGfxVmax, GfxclkFmin, GfxclkFmax. Does
> that line up with what we'd be expecting for this ASIC?
>
> Thanks in advance for any information you can provide. I really
> appreciate the work that you all do.
>
> Thanks,
> Matt
>
> OverDriveLimits:
>         FeatureCtrlMask: [0x000007cd, 0x000007cd]
>         VoltageOffsetPerZoneBoundary: [-450, 0]
>         VddGfxVmax: [0, 0]
>         IdlePwrSavingFeaturesCtrl: [0x00, 0x00]
>         RuntimePwrSavingFeaturesCtrl: [0x00, 0x00]
>         GfxclkFmin: [500, 5000]
>         GfxclkFmax: [500, 5000]
>         UclkFmin: [97, 1500]
>         UclkFmax: [97, 1500]
>         Ppt: [-10, 15], Tdc: [-10, 0]
>         FanLinearPwmPoints: [23, 100]
>         FanLinearTempPoints: [25, 100]
>         FanMinimumPwm: [23, 100]
>         AcousticTargetRpmThreshold: [500, 3200]
>         AcousticLimitRpmThreshold: [500, 3200]
>         FanTargetTemperature: [25, 105]
>         FanZeroRpmEnable: [0, 1]
>         FanZeroRpmStopTemp: [25, 100]
>         FanMode: [0, 1]
>         MaxOpTemp: [50, 110]
> OverDriveTable:
>         FeatureCtrlMask: 0x00000000
>         VoltageOffsetPerZoneBoundary[0]: 0
>         VoltageOffsetPerZoneBoundary[1]: 0
>         VoltageOffsetPerZoneBoundary[2]: 0
>         VoltageOffsetPerZoneBoundary[3]: 0
>         VoltageOffsetPerZoneBoundary[4]: 0
>         VoltageOffsetPerZoneBoundary[5]: 0
>         VddGfxVmax: 1150
>         IdlePwrSavingFeaturesCtrl: 0x00
>         RuntimePwrSavingFeaturesCtrl: 0x00
>         GfxclkFmin: 500
>         GfxclkFmax: 2890
>         UclkFmin: 97
>         UclkFmax: 1249
>         Ppt: 0
>         Tdc: 0
>         FanLinearPwmPoints[0]: 0
>         FanLinearPwmPoints[1]: 0
>         FanLinearPwmPoints[2]: 0
>         FanLinearPwmPoints[3]: 0
>         FanLinearPwmPoints[4]: 0
>         FanLinearPwmPoints[5]: 0
>         FanLinearTempPoints[0]: 0
>         FanLinearTempPoints[1]: 0
>         FanLinearTempPoints[2]: 0
>         FanLinearTempPoints[3]: 0
>         FanLinearTempPoints[4]: 0
>         FanLinearTempPoints[5]: 0
>         FanMinimumPwm: 35
>         AcousticTargetRpmThreshold: 1250
>         AcousticLimitRpmThreshold: 1500
>         FanTargetTemperature: 94
>         FanZeroRpmEnable: 1
>         FanZeroRpmStopTemp: 55
>         FanMode: 0
>         MaxOpTemp: 110


More information about the amd-gfx mailing list