This commit is contained in:
Serge
2024-10-04 18:18:54 +02:00
parent 42ac2d627c
commit ec17d8cb80
4 changed files with 30 additions and 74 deletions

View File

@@ -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)";

View File

@@ -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}");

View File

@@ -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;

View File

@@ -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: