[GPU OC] Max freq: 1305 MHz, tested with FP32 compute shaders; Disable GPU overvolting
This commit is contained in:
@@ -58,10 +58,9 @@ I'd appreciate if someone is willing to contribute. But if you are releasing som
|
||||
- This is where floating point performance maxed out.
|
||||
- ≥ 2193 MHz will _ENABLE OVERVOLTING_.
|
||||
|
||||
- GPU: 1497 MHz @ 1170 mV (overvolting from 1050 mV)
|
||||
- Not tested. Not sure if it has any benefit over 1267 MHz. GPU (OpenGL) benchmark is required.
|
||||
- ≥ 1344 MHz _cannot be set without official chargers_.
|
||||
- ≥ 1420 MHz will _ENABLE OVERVOLTING_.
|
||||
- GPU: 1305 MHz (no overvolting, less than official threshold 1050 mV)
|
||||
- Tested with deko3d compute shaders converted from [Maxwell SASS assembly](https://gist.github.com/KazushiMe/82b6bd89621f451b51c9b1ccd2202b97). Single-precision floating point (FP32 FFMA) performance maxes out at 1305 MHz.
|
||||
- 1305 MHz CANNOT be set without charger connected.
|
||||
|
||||
- DRAM: Overvolting
|
||||
- [Use this to set DRAM bus voltage](https://gist.github.com/KazushiMe/6bb0fcbefe0e03b1274079522516d56d).
|
||||
|
||||
@@ -94,12 +94,12 @@ namespace pcv {
|
||||
constexpr u32 NewMaxCpuClock = 2397000;
|
||||
|
||||
/* GPU */
|
||||
constexpr u32 GpuVoltageLimitOffsets[] = {
|
||||
// 0xE3044,
|
||||
// 0xF1E94,
|
||||
0xF1EE4,
|
||||
};
|
||||
constexpr u32 NewGpuVoltageLimit = 1170; // default max 1050mV
|
||||
// constexpr u32 GpuVoltageLimitOffsets[] = {
|
||||
// // 0xE3044,
|
||||
// // 0xF1E94,
|
||||
// 0xF1EE4,
|
||||
// };
|
||||
// constexpr u32 NewGpuVoltageLimit = 1170; // default max 1050mV
|
||||
|
||||
constexpr u32 GpuTablesFreeSpace[] = {
|
||||
// 0xE3410,
|
||||
@@ -120,13 +120,7 @@ namespace pcv {
|
||||
// { 1152000, {}, { 1204812, -9908, -830, 0, 1469, 110 } },
|
||||
// { 1228800, {}, { 1277303, -11675, -859, 0, 3722, 313 } },
|
||||
// { 1267200, {}, { 1335531, -12567, -867, 0, 3681, 559 } },
|
||||
{ 1305600, {}, { 955000 } },
|
||||
{ 1344000, {}, { 990000 } },
|
||||
{ 1382400, {}, { 1030000 } },
|
||||
{ 1420800, {}, { 1075000 } },
|
||||
{ 1459200, {}, { 1120000 } },
|
||||
{ 1497600, {}, { 1170000 } },
|
||||
// { 1536000, {}, { 1250000 } },
|
||||
{ 1305600, {}, { 1374130, -13725, -859, 0, 4442, 576 } },
|
||||
};
|
||||
static_assert(sizeof(NewGpuTables) <= sizeof(gpu_cvb_pll_table_t)*15);
|
||||
|
||||
|
||||
@@ -176,9 +176,6 @@ namespace ams::ldr {
|
||||
std::memcpy(reinterpret_cast<void *>(mapped_nso + pcv::CpuVoltageOldTableCoeff[i][j]), &pcv::NewCpuVoltageScaled, sizeof(pcv::NewCpuVoltageScaled));
|
||||
}
|
||||
|
||||
/* Patch max GPU voltage on Mariko */
|
||||
std::memcpy(reinterpret_cast<void *>(mapped_nso + pcv::GpuVoltageLimitOffsets[i]), &pcv::NewGpuVoltageLimit, sizeof(pcv::NewGpuVoltageLimit));
|
||||
|
||||
for (u32 j = 0; j < sizeof(pcv::MtcTable_1600[i])/sizeof(u32); j++) {
|
||||
pcv::MarikoMtcTable* mtc_table_new = reinterpret_cast<pcv::MarikoMtcTable *>(mapped_nso + pcv::MtcTable_1600[i][j]);
|
||||
pcv::MarikoMtcTable* mtc_table_old = reinterpret_cast<pcv::MarikoMtcTable *>(mapped_nso + pcv::MtcTable_1600[i][j] - pcv::MtcTableOffset);
|
||||
|
||||
@@ -28,13 +28,7 @@ Switch sysmodule allowing you to set cpu/gpu clocks according to the running app
|
||||
|
||||
### GPU clocks
|
||||
|
||||
* 1??? → unknown max for Mariko
|
||||
* 1497
|
||||
* 1459
|
||||
* 1420
|
||||
* 1382
|
||||
* 1344
|
||||
* 1305
|
||||
* 1305 → OC max for Mariko
|
||||
* 1267 → official max for Mariko
|
||||
* 1228
|
||||
* 1152
|
||||
@@ -55,7 +49,7 @@ Switch sysmodule allowing you to set cpu/gpu clocks according to the running app
|
||||
|
||||
### MEM clocks
|
||||
|
||||
**Only 1331 and Max could be set in sys-clk-OC.**
|
||||
**Only 1600 and Max could be set in sys-clk-OC.**
|
||||
|
||||
From Hekate Minerva module [sys_sdrammtc.c](https://github.com/CTCaer/hekate/blob/197ed8c319bd4132e4d7571ce037d4a27f806bba/modules/hekate_libsys_minerva/sys_sdrammtc.c#L67)
|
||||
|
||||
|
||||
@@ -70,11 +70,5 @@ uint32_t sysclk_g_freq_table_gpu_hz[] = {
|
||||
1228800000,
|
||||
1267200000,
|
||||
1305600000,
|
||||
1344000000,
|
||||
1382400000,
|
||||
1420800000,
|
||||
1459200000,
|
||||
1497600000,
|
||||
// 1536000000,
|
||||
0,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user