SSブログ

Ryzen関連のツール [PC]

さて、久しぶりにZenStatesの動静を確認したついでにちょっとネットをフラフラしていたら面白いものを見つけました。
皆さんもう知っているのかな?
RyzenAdjなるツールで以下のような事ができるようです、なんか面白そうですね。
    -a, --stapm-limit=           Sustained power limit (mW)
    -b, --fast-limit=            Fast PPT power limit (mW)
    -c, --slow-limit=            Slow PPT power limit (mW)
    -d, --slow-time=             Slow PPT constant time (S)
    -e, --stapm-time=            STAPM constant time (S)
    -f, --tctl-temp=             Tctl temperature (▒?
    -g, --vrm-current=           VRM Current Limit (mA)
    -j, --vrmsoc-current=        VRM SoC Current Limit (mA)
    -k, --vrmmax-current=        VRM Maximum Current Limit (mA)
    -l, --vrmsocmax-current=     VRM SoC Maximum Current Limit (mA)
    -m, --psi0-current=          PSI0 Current Limit (mA)
    -n, --psi0soc-current=       PSI0 SoC Current Limit (mA)
    -o, --max-socclk-frequency=  Maximum SoC Clock Frequency (MHz)
    -p, --min-socclk-frequency=  Minimum SoC Clock Frequency (MHz)
    -q, --max-fclk-frequency=    Maximum Transmission (CPU-GPU) Frequency (MHz)
    -r, --min-fclk-frequency=    Minimum Transmission (CPU-GPU) Frequency (MHz)
    -s, --max-vcn=               Maximum Video Core Next (VCE - Video Coding Engine) (Value)
    -t, --min-vcn=               Minimum Video Core Next (VCE - Video Coding Engine) (Value)
    -u, --max-lclk=              Maximum Data Launch Clock (Value)
    -v, --min-lclk=              Minimum Data Launch Clock (Value)
    -w, --max-gfxclk=            Maximum GFX Clock (Value)
    -x, --min-gfxclk=            Minimum GFX Clock (Value)


ちなみに、以下で公開されています。
https://github.com/FlyGoat/RyzenAdj

ついでなんで、ZenStatesをメンテしていると思われるのはココ
https://github.com/irusanov/ZenStates

でもって、RyxenAdjはNorthBridge SMUをいじるようなんですが、これに送ることができるリクエストは
TestMessage 	0x1 	
GetSmuVersion 	0x2 	
GetBiosIfVersion 	0x3 	
GetNameString 	0x4 	
EnableSmuFeatures 	0x5 	
DisableSmuFeatures 	0x6 	
DramLogSetDramAddrHigh 	0x7 	
DramLogSetDramAddrLow 	0x8 	
DramLogSetDramSize 	0x9 	
DxioTestMessage 	0xA 	
ReadCoreCacWeightRegister 	0xB 	
SleepEntry 	0xC 	
SetGbeStatus 	0xD 	
PowerUpGfx 	0xE 	
PowerUpSata 	0xF 	
PowerDownSata 	0x10 	
DisableSataController 	0x11 	
SetBiosDramAddrHigh 	0x12 	
SetBiosDramAddrLow 	0x13 	
SetToolsDramAddrHigh 	0x14 	
SetToolsDramAddrLow 	0x15 	
TransferTableSmu2Dram 	0x16 	
TransferTableDram2Smu 	0x17 	
PowerSourceAC 	0x18 	
PowerSourceDC 	0x19 	
SetSustainedPowerLimit 	0x1A 	
SetFastPPTLimit 	0x1B 	
SetSlowPPTLimit 	0x1C 	
SetSlowPPTTimeConstant 	0x1D 	
SetStapmTimeConstant 	0x1E 	
SetTctlMax 	0x1F 	
SetVrmCurrentLimit 	0x20 	
SetVrmSocCurrentLimit 	0x21 	
SetVrmMaximumCurrentLimit 	0x22 	
SetVrmSocMaximumCurrentLimit 	0x23 	
SetPSI0CurrentLimit 	0x24 	
SetPSI0SocCurrentLimit 	0x25 	
SetProchotDeassertionRampTime 	0x26 	
UpdateSkinTempError 	0x27 	
SetGpuApertureLow 	0x28 	
SetGpuApertureHigh 	0x29 	
StartGpuLink 	0x2A 	
StopGpuLink 	0x2B 	
UsbD3Entry 	0x2C 	
UsbD3Exit 	0x2D 	
UsbInit 	0x2E 	
AcBtcStartCal 	0x2F 	
AcBtcStopCal 	0x30 	
AcBtcEndCal 	0x31 	
DcBtc 	0x32 	
BtcRestoreOnS3Resume 	0x33 	
SetGpuDeviceId 	0x34 	
SetUlvVidOffset 	0x35 	
DisablePSI 	0x36 	
EnablePostCode 	0x37 	
UsbConfigUpdate 	0x38 	
SetupUSB31ControllerTrap 	0x39 	
SetVddOffVid 	0x3A 	
SetVminFrequency 	0x3B 	
SetFrequencyMax 	0x3C 	
SetGfxclkOverdriveByFreqVid 	0x3D 	
PowerGateXgbe 	0x3E 	
OC_Disable 	0x3F 	
OC_VoltageMax 	0x40 	
OC_FrequencyMax 	0x41 	
EnableCC6Filter 	0x42 	
GetSustainedPowerAndThmLimit 	0x43 	
SetSoftMaxCCLK 	0x44 	
SetSoftMinCCLK 	0x45 	
SetSoftMaxGfxClk 	0x46 	
SetSoftMinGfxClk 	0x47 	
SetSoftMaxSocclkByFreq 	0x48 	
SetSoftMinSocclkByFreq 	0x49 	
SetSoftMaxFclkByFreq 	0x4A 	
SetSoftMinFclkByFreq 	0x4B 	
SetSoftMaxVcn 	0x4C 	
SetSoftMinVcn 	0x4D 	
SetSoftMaxLclk 	0x4E 	
SetSoftMinLclk 	0x4F 	
Message_Count 	0x50

こんな感じ。



nice!(0)  コメント(1) 

nice! 0

コメント 1

irusanov

Unfortunately there's no public BKDG (Bios and Kernel Development Guide) for 17h family. The info by FlyGoat definitely helped, but most of the IDs don't match on desktop Zen2 CPU.

This is what I've found so far:
ID Name Note
0x1 TestMessage
0x2 GetSmuVersion
0x24 EnableOverclocking Forces base clock and manual overclock mode.
0x25 DisableOverclocking
0x26 SetOverclockFreqAllCore Sets all core frequency, EnableOverclocking first.
0x27 SetOverclockFreqPerCore Always sets core #0, probably needs additional parameters. EnableOverclocking first.
0x28 SetOverclockVid Alters the VID (in HEX). EnableOverclocking first.
0x29 SetBoostLimitFreqAllCores Probably sets fmax
0x2B ? Sets maximum boost frequency
0x2C GetOverclockCap ?
0x2F ? With multi manually set to 40x, sets the multi to 39.50x

Japanese to bypass the validation:
半角英数字のみのコメントは受け付けできません。
by irusanov (2019-08-21 23:02) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。