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 } }, //{ 1305600, {}, { 1374130, -13725, -859, 0, 4442, 576 } },
}, },
.marikoGpuDvfsTableUV = { .marikoGpuDvfsTableSLT = {
{ 76800, {}, { 590000, 0, 0, 0, 0, 0 } }, { 76800, {}, { 590000, } },
{ 153600, {}, { 590000, 0, 0, 0, 0, 0 } }, { 153600, {}, { 590000, } },
{ 230400, {}, { 590000, 0, 0, 0, 0, 0 } }, { 230400, {}, { 590000, } },
{ 307200, {}, { 590000, 0, 0, 0, 0, 0 } }, { 307200, {}, { 590000, } },
{ 384000, {}, { 590000, 0, 0, 0, 0, 0 } }, { 384000, {}, { 590000, } },
{ 460800, {}, { 795089, -11096, -163, 298, -10421, 162 } }, { 460800, {}, { 795089, -11096, -163, 298, -10421, 162 } },
{ 537600, {}, { 795089, -11096, -163, 298, -10421, 162 } }, { 537600, {}, { 795089, -11096, -163, 298, -10421, 162 } },
{ 614400, {}, { 820606, -6285, -452, 238, -6182, 81 } }, { 614400, {}, { 820606, -6285, -452, 238, -6182, 81 } },
{ 691200, {}, { 846289, -4565, -552, 119, -3958, -2 } }, { 691200, {}, { 846289, -4565, -552, 119, -3958, -2 } },
{ 768000, {}, { 888720, -5110, -584, 0, -2849, 39 } }, { 768000, {}, { 888720, -5110, -584, 0, -2849, 39 } },
{ 844800, {}, { 936634, -6089, -602, -60, -99, -93 } }, { 844800, {}, { 936634, -6089, -602, -60, -99, -93 } },
{ 921600, {}, { 982562, -7373, -614, -179, 1797, -13 } }, { 921600, {}, { 982562, -7373, -614, -179, 1797, -13 } },
{ 998400, {}, { 1090179, -14125, -497, -179, 3518, 9 } }, { 998400, {}, { 1090179, -14125, -497, -179, 3518, 9 } },
{ 1075200, {}, { 1155798, -13465, -648, 0, 1077, 40 } }, { 1075200, {}, { 1155798, -13465, -648, 0, 1077, 40 } },
{ 1152000, {}, { 1198568, -10904, -830, 0, 1469, 110 } }, { 1152000, {}, { 1198568, -10904, -830, 0, 1469, 110 } },
{ 1228800, {}, { 1269988, -12707, -859, 0, 3722, 313 } }, { 1228800, {}, { 1269988, -12707, -859, 0, 3722, 313 } },
{ 1267200, {}, { 1308155, -13694, -867, 0, 3681, 559 } }, { 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), .eristaMtcTable = const_cast<EristaMtcTable *>(&EristaMtcTablePlaceholder),

View File

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

View File

@@ -210,7 +210,7 @@ Result CpuFreqCvbTable(u32* ptr) {
template<bool isMariko> template<bool isMariko>
Result GpuFreqCvbTable(u32* ptr) { Result GpuFreqCvbTable(u32* ptr) {
cvb_entry_t* default_table = isMariko ? (cvb_entry_t *)(&mariko::GpuCvbTableDefault) : (cvb_entry_t *)(&erista::GpuCvbTableDefault); 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_entry_count = GetDvfsTableEntryCount(default_table);
size_t default_table_size = default_entry_count * sizeof(cvb_entry_t); 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; 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 { } else {
if (table.eristaEmcMaxClock) if (table.eristaEmcMaxClock)
Clocks::maxMemFreq = table.eristaEmcMaxClock * 1000; Clocks::maxMemFreq = table.eristaEmcMaxClock * 1000;

View File

@@ -61,7 +61,8 @@ typedef struct CustTable {
CustomizeCpuDvfsTable marikoCpuDvfsTable; CustomizeCpuDvfsTable marikoCpuDvfsTable;
CustomizeGpuDvfsTable eristaGpuDvfsTable; CustomizeGpuDvfsTable eristaGpuDvfsTable;
CustomizeGpuDvfsTable marikoGpuDvfsTable; CustomizeGpuDvfsTable marikoGpuDvfsTable;
CustomizeGpuDvfsTable marikoGpuDvfsTableUV; CustomizeGpuDvfsTable marikoGpuDvfsTableSLT;
CustomizeGpuDvfsTable marikoGpuDvfsTableHiOPT;
void* eristaMtcTable; void* eristaMtcTable;
void* marikoMtcTable; void* marikoMtcTable;
} CustTable; } 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, CustPlatform.Mariko,
4, 4,
["Undervolt Mariko GPU", ["Undervolt Mariko GPU",
"Might not work properly", "Your GPU might not withstand undervolt and may not work properly",
"Your GPU might not withstand undervolt", "Can hang your console, or crash games",
"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,
[0,1], [0,2],
1, 1,
), ),
]; ];