ChefKissInc / NootedRed

The AMD Vega iGPU support patch kext. No commercial use.
https://chefkissinc.github.io/nootedred
Other
1.57k stars 692 forks source link

Failure to wake from sleep #43

Closed VisualEhrmanntraut closed 1 year ago

VisualEhrmanntraut commented 1 year ago

Likely related to SDMA power-gating

jalavoui commented 1 year ago

can confirm working code

void X5000HWLibs::wrapUpdateSdmaPowerGating(void * param1, uint32_t mode) { if (mode == 0 || mode == 3) { NRed::callback->sendMsgToSmc(PPSMC_MSG_PowerUpSdma); } FunctionCast(wrapUpdateSdmaPowerGating, callback->orgUpdateSdmaPowerGating)(param1, mode); }

trying to use a boolean here as the effect to break the sleep fix pressing ctrl once wakes cpu few more and lcd turns on

update after the pc enter sleep mode push the power button wakes both cpu and display my desktop mobo is pro!

i might lose this code so i changed:

uint32_t sendMsgToSmc(uint32_t msg, uint32_t param=0) { // no panics here!! // PANIC_COND(smuWaitForResp() != 1, "nred", "Msg issuing pre-check failed; SMU may be in an improper state"); // PANIC_COND(smuWaitForResp() != 1, "nred", "No response from SMU");

and disabled {"_SmuRaven_Initialize", wrapSmuRavenInitialize, this->orgSmuRavenInitialize}, {"_SmuRenoir_Initialize", wrapSmuRenoirInitialize, this->orgSmuRenoirInitialize},

VisualEhrmanntraut commented 1 year ago

Seems to be working, anyone with the issue persisting shall make a comment and provide information for further diagnosis