Maximum RAM frequency will not be used automatically

This commit is contained in:
KazushiM
2023-02-02 17:13:52 +08:00
parent 69f7919c3c
commit 8285e84071
7 changed files with 32 additions and 47 deletions

View File

@@ -113,9 +113,7 @@ uint32_t ClockManager::GetHz(SysClkModule module)
768'000'000 : 460'800'000;
break;
case SysClkModule_MEM:
hz = (mode == ReverseNX_Docked ||
this->oc->realProfile == SysClkProfile_Docked) ?
Clocks::maxMemFreq : 1600'000'000;
hz = MEM_CLOCK_DOCK;
break;
default:
break;

View File

@@ -251,7 +251,7 @@ uint32_t Clocks::GetStockClock(SysClkApmConfiguration* apm, SysClkModule module)
case SysClkModule_GPU:
return apm->gpu_hz;
case SysClkModule_MEM:
return apm->mem_hz;
return GetIsMariko() ? MEM_CLOCK_MARIKO_MIN : apm->mem_hz;
default:
ERROR_THROW("Unknown SysClkModule: %x", module);
return 0;
@@ -270,15 +270,15 @@ void Clocks::ResetToStock(unsigned int module)
if (module == SysClkModule_EnumMax || module == SysClkModule_CPU)
{
Clocks::SetHz(SysClkModule_CPU, apmConfiguration->cpu_hz);
Clocks::SetHz(SysClkModule_CPU, GetStockClock(apmConfiguration, SysClkModule_CPU));
}
if (module == SysClkModule_EnumMax || module == SysClkModule_GPU)
{
Clocks::SetHz(SysClkModule_GPU, apmConfiguration->gpu_hz);
Clocks::SetHz(SysClkModule_GPU, GetStockClock(apmConfiguration, SysClkModule_GPU));
}
if (module == SysClkModule_EnumMax || module == SysClkModule_MEM)
{
Clocks::SetHz(SysClkModule_MEM, apmConfiguration->mem_hz);
Clocks::SetHz(SysClkModule_MEM, GetStockClock(apmConfiguration, SysClkModule_MEM));
}
}
else

View File

@@ -13,8 +13,10 @@
#include <switch.h>
#include <sysclk.h>
#define MAX_MEM_CLOCK 1862'400'000
#define BOOST_THRESHOLD 95'0
#define MAX_MEM_CLOCK 1862'400'000
#define MEM_CLOCK_MARIKO_MIN 1600'000'000
#define MEM_CLOCK_DOCK 1600'000'000
#define BOOST_THRESHOLD 95'0
class Clocks
{