Replies: 8 comments 2 replies
-
Let's start with some specs from latest gen datasheet |
Beta Was this translation helpful? Give feedback.
-
Do you have evidences that |
Beta Was this translation helpful? Give feedback.
-
I have modified the script on my end to allow for read-only use and have added an additional echo before line 264. Its output is as follows:
Running the script with arguments after this gives:
And on subsequent runs it will show that the MMIO limit reg is locked, as expected, leading me to believe that it is working:
|
Beta Was this translation helpful? Give feedback.
-
I don't miss a lot pf code to allow your feature. Line 3589 in 150a219 However writing to the MMIO register is risky and can crash other models if unsupported. That's why I need your hardware to program further. |
Beta Was this translation helpful? Give feedback.
-
See :
At chapter 3.3.16 :
|
Beta Was this translation helpful? Give feedback.
-
These registers are found in: Although it is mentioned:
... those registers appear to work the same with Tiger Lake For example in CoreFreq Line 4557 in 3512685 You can dig into the subsequent offsets starting from Also observe:
The bits layout is surprisingly same as the undocumented MSR MAILBOX |
Beta Was this translation helpful? Give feedback.
-
I have been able to lower the Package PL1/PL2 to |
Beta Was this translation helpful? Give feedback.
-
Package Power Limit(PACKAGE_RAPL_LIMIT_0_0_0_MCHBAR_PCU) – Offset 59A0 |
Beta Was this translation helpful? Give feedback.
-
I am seeing some weird behavior on my OXP (OneNetbook's OneXPlayer), which uses a Tiger Lake 1165g7. My CPU will throttle at the same power limit, regardless of how high I set it in COreFreq. Under Windows, there is a tool called Throttlestop that exposes the MSR and MMIO power limits which can both be used to limit the CPU's power. Unfortunately, the lower of the set power limits wins which means that only relying on the MSR limits can sometimes have no effect if the device is hitting limits set via MMIO.
After some digging, I have come across this script which seem to tackle MSR and MMIO nicely: https://github.com/horshack-dpreview/setPL
The trick (similar to Throttlestop) is to set the MMIO limit to unlimited and then disable them by setting the lock-bit. This way, the MSR limits are the only remaining ones and should be active.
If somehow possible, it would be great if CoreFreq would offer a button to set the MMIO-limits to unlimited and lock them afterwards, similar to this script. Alternatively, as the perfect solution, the MMIO limits could be displayed next to the MSR limits, to make tracing down the power limits a bit easier, which would be especially helpful in cases where the EC changes the MMIO power limits on the fly. (the latter can be killed by setting them to unlimited and locking them)
Thank you very much for your consideration :)
Beta Was this translation helpful? Give feedback.
All reactions