add hiopt table for gpu undervolt

This commit is contained in:
hanabbi
2023-05-26 13:46:30 +09:00
parent f3303152b7
commit 3bbcbdae95
7 changed files with 62 additions and 27 deletions

View File

@@ -187,24 +187,42 @@ volatile CustomizeTable C = {
//{ 1305600, {}, { 1374130, -13725, -859, 0, 4442, 576 } },
},
.marikoGpuDvfsTableUV = {
{ 76800, {}, { 590000, 0, 0, 0, 0, 0 } },
{ 153600, {}, { 590000, 0, 0, 0, 0, 0 } },
{ 230400, {}, { 590000, 0, 0, 0, 0, 0 } },
{ 307200, {}, { 590000, 0, 0, 0, 0, 0 } },
{ 384000, {}, { 590000, 0, 0, 0, 0, 0 } },
{ 460800, {}, { 795089, -11096, -163, 298, -10421, 162 } },
{ 537600, {}, { 795089, -11096, -163, 298, -10421, 162 } },
{ 614400, {}, { 820606, -6285, -452, 238, -6182, 81 } },
{ 691200, {}, { 846289, -4565, -552, 119, -3958, -2 } },
{ 768000, {}, { 888720, -5110, -584, 0, -2849, 39 } },
{ 844800, {}, { 936634, -6089, -602, -60, -99, -93 } },
{ 921600, {}, { 982562, -7373, -614, -179, 1797, -13 } },
{ 998400, {}, { 1090179, -14125, -497, -179, 3518, 9 } },
{ 1075200, {}, { 1155798, -13465, -648, 0, 1077, 40 } },
{ 1152000, {}, { 1198568, -10904, -830, 0, 1469, 110 } },
{ 1228800, {}, { 1269988, -12707, -859, 0, 3722, 313 } },
{ 1267200, {}, { 1308155, -13694, -867, 0, 3681, 559 } },
.marikoGpuDvfsTableSLT = {
{ 76800, {}, { 590000, } },
{ 153600, {}, { 590000, } },
{ 230400, {}, { 590000, } },
{ 307200, {}, { 590000, } },
{ 384000, {}, { 590000, } },
{ 460800, {}, { 795089, -11096, -163, 298, -10421, 162 } },
{ 537600, {}, { 795089, -11096, -163, 298, -10421, 162 } },
{ 614400, {}, { 820606, -6285, -452, 238, -6182, 81 } },
{ 691200, {}, { 846289, -4565, -552, 119, -3958, -2 } },
{ 768000, {}, { 888720, -5110, -584, 0, -2849, 39 } },
{ 844800, {}, { 936634, -6089, -602, -60, -99, -93 } },
{ 921600, {}, { 982562, -7373, -614, -179, 1797, -13 } },
{ 998400, {}, { 1090179, -14125, -497, -179, 3518, 9 } },
{ 1075200, {}, { 1155798, -13465, -648, 0, 1077, 40 } },
{ 1152000, {}, { 1198568, -10904, -830, 0, 1469, 110 } },
{ 1228800, {}, { 1269988, -12707, -859, 0, 3722, 313 } },
{ 1267200, {}, { 1308155, -13694, -867, 0, 3681, 559 } },
},
.marikoGpuDvfsTableHiOPT = {
{ 76800, {}, { 590000, } },
{ 153600, {}, { 590000, } },
{ 230400, {}, { 590000, } },
{ 307200, {}, { 590000, } },
{ 384000, {}, { 590000, } },
{ 460800, {}, { 590000, } },
{ 537600, {}, { 590000, } },
{ 614400, {}, { 590000, } },
{ 691200, {}, { 838712, -7304, -552, 1785, -56250, -450 } },
{ 768000, {}, { 880210, -7955, -584, 0, -42735, 8775 } },
{ 844800, {}, { 926398, -8892, -602, -900, -5760, -20925 } },
{ 921600, {}, { 970060, -10108, -614, -2685, 22620, -2925 } },
{ 998400, {}, { 1065665, -16075, -497, -2685, 48195, 2025 } },
{ 1075200, {}, { 1132576, -16093, -648, 0, 16155, 9000 } },
{ 1152000, {}, { 1180029, -14534, -830, 0, 22035, 24750 } },
{ 1228800, {}, { 1248293, -16383, -859, 0, 55830, 70425 } },
},
.eristaMtcTable = const_cast<EristaMtcTable *>(&EristaMtcTablePlaceholder),

View File

@@ -56,7 +56,8 @@ typedef struct CustomizeTable {
CustomizeCpuDvfsTable marikoCpuDvfsTable;
CustomizeGpuDvfsTable eristaGpuDvfsTable;
CustomizeGpuDvfsTable marikoGpuDvfsTable;
CustomizeGpuDvfsTable marikoGpuDvfsTableUV;
CustomizeGpuDvfsTable marikoGpuDvfsTableSLT;
CustomizeGpuDvfsTable marikoGpuDvfsTableHiOPT;
EristaMtcTable* eristaMtcTable;
MarikoMtcTable* marikoMtcTable;
} CustomizeTable;

View File

@@ -210,7 +210,7 @@ Result CpuFreqCvbTable(u32* ptr) {
template<bool isMariko>
Result GpuFreqCvbTable(u32* ptr) {
cvb_entry_t* default_table = isMariko ? (cvb_entry_t *)(&mariko::GpuCvbTableDefault) : (cvb_entry_t *)(&erista::GpuCvbTableDefault);
cvb_entry_t* customize_table = const_cast<cvb_entry_t *>(isMariko ? (C.marikoGpuUV ? C.marikoGpuDvfsTableUV : C.marikoGpuDvfsTable) : C.eristaGpuDvfsTable);
cvb_entry_t* customize_table = const_cast<cvb_entry_t *>(isMariko ? (C.marikoGpuUV ? (C.marikoGpuUV == 2 ? C.marikoGpuDvfsTableHiOPT : C.marikoGpuDvfsTableSLT) : C.marikoGpuDvfsTable) : C.eristaGpuDvfsTable);
size_t default_entry_count = GetDvfsTableEntryCount(default_table);
size_t default_table_size = default_entry_count * sizeof(cvb_entry_t);

View File

@@ -305,7 +305,20 @@ Result FileUtils::CustParser(const char* filepath, size_t filesize) {
}
cpu_dvfs_table = &table.marikoCpuDvfsTable;
gpu_dvfs_table = table.marikoGpuUV ? &table.marikoGpuDvfsTableUV : &table.marikoGpuDvfsTable;
switch (table.marikoGpuUV) {
case 0:
gpu_dvfs_table = table.marikoGpuDvfsTable;
break;
case 1:
gpu_dvfs_table = table.marikoGpuDvfsTableSLT;
break;
case 2:
gpu_dvfs_table = table.marikoGpuDvfsTableHiOPT;
break;
default:
gpu_dvfs_table = table.marikoGpuDvfsTable;
break;
}
} else {
if (table.eristaEmcMaxClock)
Clocks::maxMemFreq = table.eristaEmcMaxClock * 1000;

View File

@@ -61,7 +61,8 @@ typedef struct CustTable {
CustomizeCpuDvfsTable marikoCpuDvfsTable;
CustomizeGpuDvfsTable eristaGpuDvfsTable;
CustomizeGpuDvfsTable marikoGpuDvfsTable;
CustomizeGpuDvfsTable marikoGpuDvfsTableUV;
CustomizeGpuDvfsTable marikoGpuDvfsTableSLT;
CustomizeGpuDvfsTable marikoGpuDvfsTableHiOPT;
void* eristaMtcTable;
void* marikoMtcTable;
} CustTable;

2
pages/dist/main.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -262,11 +262,13 @@ var AdvTable: Array<AdvEntry> = [
CustPlatform.Mariko,
4,
["Undervolt Mariko GPU",
"Might not work properly",
"Your GPU might not withstand undervolt",
"Can hang your console, or crash games"],
"Your GPU might not withstand undervolt and may not work properly",
"Can hang your console, or crash games",
"<b>0</b> : Default Table",
"<b>1</b> : SLT Table",
"<b>2</b> : HiOPT Table (If your speedo is not good, higher gpu freq will not work)"],
0,
[0,1],
[0,2],
1,
),
];