mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Limits
This commit is contained in:
@@ -927,7 +927,7 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
panelSlow.Visible = modeA;
|
panelSlow.Visible = modeA;
|
||||||
|
|
||||||
if (RyzenControl.IsSupportedPower())
|
if (RyzenControl.IsAMD())
|
||||||
{
|
{
|
||||||
labelLeftTotal.Text = "SPL (CPU sustained)";
|
labelLeftTotal.Text = "SPL (CPU sustained)";
|
||||||
labelLeftSlow.Text = "sPPT (CPU 2 min boost)";
|
labelLeftSlow.Text = "sPPT (CPU 2 min boost)";
|
||||||
|
|||||||
@@ -270,9 +270,6 @@ namespace GHelper.Mode
|
|||||||
var stapmResult = SendCommand.set_stapm_limit((uint)limit_total * 1000);
|
var stapmResult = SendCommand.set_stapm_limit((uint)limit_total * 1000);
|
||||||
if (init) Logger.WriteLine($"STAPM: {limit_total} {stapmResult}");
|
if (init) Logger.WriteLine($"STAPM: {limit_total} {stapmResult}");
|
||||||
|
|
||||||
var stapmResult2 = SendCommand.set_stapm2_limit((uint)limit_total * 1000);
|
|
||||||
if (init) Logger.WriteLine($"STAPM2: {limit_total} {stapmResult2}");
|
|
||||||
|
|
||||||
var slowResult = SendCommand.set_slow_limit((uint)limit_slow * 1000);
|
var slowResult = SendCommand.set_slow_limit((uint)limit_slow * 1000);
|
||||||
if (init) Logger.WriteLine($"SLOW: {limit_slow} {slowResult}");
|
if (init) Logger.WriteLine($"SLOW: {limit_slow} {slowResult}");
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,8 @@ namespace Ryzen
|
|||||||
//PHEONIX - 9
|
//PHEONIX - 9
|
||||||
//RAPHAEL/DRAGON RANGE - 10
|
//RAPHAEL/DRAGON RANGE - 10
|
||||||
//MENDOCINO - 11
|
//MENDOCINO - 11
|
||||||
//HAWKPOINT/STRIXPOINT - 12
|
//HAWKPOINT - 12
|
||||||
|
//STRIXPOINT - 13
|
||||||
|
|
||||||
public static void Init()
|
public static void Init()
|
||||||
{
|
{
|
||||||
@@ -129,7 +130,7 @@ namespace Ryzen
|
|||||||
|
|
||||||
if (CPUModel.Contains("Family " + Convert.ToString(26)) && CPUModel.Contains("Model " + Convert.ToString(36)))
|
if (CPUModel.Contains("Family " + Convert.ToString(26)) && CPUModel.Contains("Model " + Convert.ToString(36)))
|
||||||
{
|
{
|
||||||
FAMID = 12; //STRIXPOINT
|
FAMID = 13; //STRIXPOINT
|
||||||
}
|
}
|
||||||
|
|
||||||
Logger.WriteLine($"CPU: {FAMID} - {CPUName} - {CPUModel}");
|
Logger.WriteLine($"CPU: {FAMID} - {CPUName} - {CPUModel}");
|
||||||
@@ -143,11 +144,6 @@ namespace Ryzen
|
|||||||
return CPUName.Contains("AMD") || CPUName.Contains("Ryzen") || CPUName.Contains("Athlon") || CPUName.Contains("Radeon") || CPUName.Contains("AMD Custom APU 0405");
|
return CPUName.Contains("AMD") || CPUName.Contains("Ryzen") || CPUName.Contains("Athlon") || CPUName.Contains("Radeon") || CPUName.Contains("AMD Custom APU 0405");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsSupportedPower()
|
|
||||||
{
|
|
||||||
return IsAMD() && FAMID < 12;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool IsSupportedUV()
|
public static bool IsSupportedUV()
|
||||||
{
|
{
|
||||||
if (CPUName.Length == 0) Init();
|
if (CPUName.Length == 0) Init();
|
||||||
@@ -248,6 +244,16 @@ namespace Ryzen
|
|||||||
Smu.PSMU_ADDR_RSP = 0x3B10a80;
|
Smu.PSMU_ADDR_RSP = 0x3B10a80;
|
||||||
Smu.PSMU_ADDR_ARG = 0x3B10a88;
|
Smu.PSMU_ADDR_ARG = 0x3B10a88;
|
||||||
}
|
}
|
||||||
|
else if (FAMID == 13)
|
||||||
|
{
|
||||||
|
Smu.MP1_ADDR_MSG = 0x3B10928;
|
||||||
|
Smu.MP1_ADDR_RSP = 0x3B10978;
|
||||||
|
Smu.MP1_ADDR_ARG = 0x3B10998;
|
||||||
|
|
||||||
|
Smu.PSMU_ADDR_MSG = 0x3B10a20;
|
||||||
|
Smu.PSMU_ADDR_RSP = 0x3B10a80;
|
||||||
|
Smu.PSMU_ADDR_ARG = 0x3B10a88;
|
||||||
|
}
|
||||||
else if (FAMID == 4 || FAMID == 6)
|
else if (FAMID == 4 || FAMID == 6)
|
||||||
{
|
{
|
||||||
Smu.MP1_ADDR_MSG = 0x3B10530;
|
Smu.MP1_ADDR_MSG = 0x3B10530;
|
||||||
|
|||||||
@@ -21,7 +21,8 @@ namespace Ryzen
|
|||||||
//PHEONIX - 9
|
//PHEONIX - 9
|
||||||
//RAPHAEL/DRAGON RANGE - 10
|
//RAPHAEL/DRAGON RANGE - 10
|
||||||
//MENDOCINO - 11
|
//MENDOCINO - 11
|
||||||
//HAWKPOINT/STRIXPOINT - 12
|
//HAWKPOINT - 12
|
||||||
|
//STRIXPOINT - 13
|
||||||
|
|
||||||
public static Smu RyzenAccess = new Smu(false);
|
public static Smu RyzenAccess = new Smu(false);
|
||||||
public static int FAMID = RyzenControl.FAMID;
|
public static int FAMID = RyzenControl.FAMID;
|
||||||
@@ -49,7 +50,8 @@ namespace Ryzen
|
|||||||
case 9:
|
case 9:
|
||||||
case 11:
|
case 11:
|
||||||
case 12:
|
case 12:
|
||||||
RyzenAccess.SendMp1(0x14, ref Args);
|
case 13:
|
||||||
|
result = RyzenAccess.SendMp1(0x14, ref Args);
|
||||||
result = RyzenAccess.SendPsmu(0x31, ref Args);
|
result = RyzenAccess.SendPsmu(0x31, ref Args);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -61,32 +63,6 @@ namespace Ryzen
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//STAMP2 Limit
|
|
||||||
public static Smu.Status? set_stapm2_limit(uint value)
|
|
||||||
{
|
|
||||||
RyzenAccess.Initialize();
|
|
||||||
uint[] Args = new uint[6];
|
|
||||||
Args[0] = value;
|
|
||||||
Smu.Status? result = null;
|
|
||||||
|
|
||||||
switch (FAMID)
|
|
||||||
{
|
|
||||||
case 3:
|
|
||||||
case 5:
|
|
||||||
case 7:
|
|
||||||
case 8:
|
|
||||||
case 9:
|
|
||||||
case 11:
|
|
||||||
case 12:
|
|
||||||
result = RyzenAccess.SendPsmu(0x31, ref Args);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
RyzenAccess.Deinitialize();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Fast Limit
|
//Fast Limit
|
||||||
public static Smu.Status? set_fast_limit(uint value)
|
public static Smu.Status? set_fast_limit(uint value)
|
||||||
{
|
{
|
||||||
@@ -109,7 +85,9 @@ namespace Ryzen
|
|||||||
case 9:
|
case 9:
|
||||||
case 11:
|
case 11:
|
||||||
case 12:
|
case 12:
|
||||||
|
case 13:
|
||||||
result = RyzenAccess.SendMp1(0x15, ref Args);
|
result = RyzenAccess.SendMp1(0x15, ref Args);
|
||||||
|
result = RyzenAccess.SendPsmu(0x32, ref Args);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -140,7 +118,10 @@ namespace Ryzen
|
|||||||
case 9:
|
case 9:
|
||||||
case 11:
|
case 11:
|
||||||
case 12:
|
case 12:
|
||||||
|
case 13:
|
||||||
result = RyzenAccess.SendMp1(0x16, ref Args);
|
result = RyzenAccess.SendMp1(0x16, ref Args);
|
||||||
|
result = RyzenAccess.SendPsmu(0x33, ref Args);
|
||||||
|
result = RyzenAccess.SendPsmu(0x34, ref Args);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -176,11 +157,12 @@ namespace Ryzen
|
|||||||
case 9:
|
case 9:
|
||||||
case 11:
|
case 11:
|
||||||
case 12:
|
case 12:
|
||||||
|
case 13:
|
||||||
result = RyzenAccess.SendMp1(0x19, ref Args);
|
result = RyzenAccess.SendMp1(0x19, ref Args);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
case 6:
|
case 6:
|
||||||
RyzenAccess.SendMp1(0x23, ref Args);
|
result = RyzenAccess.SendMp1(0x23, ref Args);
|
||||||
result = RyzenAccess.SendPsmu(0x56, ref Args);
|
result = RyzenAccess.SendPsmu(0x56, ref Args);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
@@ -194,37 +176,6 @@ namespace Ryzen
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Skin Temp limit
|
|
||||||
public static Smu.Status? set_apu_skin_temp_limit(uint value)
|
|
||||||
{
|
|
||||||
RyzenAccess.Initialize();
|
|
||||||
uint[] Args = new uint[6];
|
|
||||||
Args[0] = value;
|
|
||||||
|
|
||||||
Smu.Status? result = null;
|
|
||||||
|
|
||||||
switch (FAMID)
|
|
||||||
{
|
|
||||||
case 5:
|
|
||||||
case 8:
|
|
||||||
case 9:
|
|
||||||
case 11:
|
|
||||||
case 12:
|
|
||||||
result = RyzenAccess.SendMp1(0x33, ref Args);
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
case 7:
|
|
||||||
result = RyzenAccess.SendMp1(0x38, ref Args);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
RyzenAccess.Deinitialize();
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Set All Core Curve Optimiser
|
//Set All Core Curve Optimiser
|
||||||
public static Smu.Status? set_coall(int value)
|
public static Smu.Status? set_coall(int value)
|
||||||
{
|
{
|
||||||
@@ -241,12 +192,12 @@ namespace Ryzen
|
|||||||
{
|
{
|
||||||
case 3:
|
case 3:
|
||||||
case 7:
|
case 7:
|
||||||
RyzenAccess.SendMp1(0x55, ref Args);
|
result = RyzenAccess.SendMp1(0x55, ref Args);
|
||||||
result = RyzenAccess.SendPsmu(0xB1, ref Args);
|
result = RyzenAccess.SendPsmu(0xB1, ref Args);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
case 6:
|
case 6:
|
||||||
RyzenAccess.SendMp1(0x36, ref Args);
|
result = RyzenAccess.SendMp1(0x36, ref Args);
|
||||||
result = RyzenAccess.SendPsmu(0xB, ref Args);
|
result = RyzenAccess.SendPsmu(0xB, ref Args);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
@@ -254,6 +205,7 @@ namespace Ryzen
|
|||||||
case 9:
|
case 9:
|
||||||
case 11:
|
case 11:
|
||||||
case 12:
|
case 12:
|
||||||
|
case 13:
|
||||||
result = RyzenAccess.SendPsmu(0x5D, ref Args);
|
result = RyzenAccess.SendPsmu(0x5D, ref Args);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
@@ -285,7 +237,7 @@ namespace Ryzen
|
|||||||
{
|
{
|
||||||
case 3:
|
case 3:
|
||||||
case 7:
|
case 7:
|
||||||
RyzenAccess.SendMp1(0x64, ref Args);
|
result = RyzenAccess.SendMp1(0x64, ref Args);
|
||||||
result = RyzenAccess.SendPsmu(0x57, ref Args);
|
result = RyzenAccess.SendPsmu(0x57, ref Args);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
@@ -293,6 +245,7 @@ namespace Ryzen
|
|||||||
case 9:
|
case 9:
|
||||||
case 11:
|
case 11:
|
||||||
case 12:
|
case 12:
|
||||||
|
case 13:
|
||||||
result = RyzenAccess.SendPsmu(0xb7, ref Args);
|
result = RyzenAccess.SendPsmu(0xb7, ref Args);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user