-
Notifications
You must be signed in to change notification settings - Fork 134
[Intel/Atom/Airmont] Missing IMC of Pentium(R) CPU N3700 #366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Unfortunately this laptop is a family member's and is not currently available for testing... I'll dig through some of my untested laptops and see if any are Airmont/Braswell like this one. The laptop which created the dump is an Asus X540SA, with the memory directly attached to the motherboard. |
Will it help if I'm proving a bootable ISO including the Airmont branch ? |
I was able to recreate the issue with a Airmont/Cherry Trail CPU, and the new branch seems to be outputting something. Please check for coherency. BIOS does not provide current speeds or timings. |
Thank you for those results. Good you have this
and to fix:
|
@svmlegacy Hello, Can you please test those registers ? ## MSR_IA32_PLATFORM_ID
rdmsr -ax 0x00000017
## MSR_THERM2_CTL
rdmsr -ax 0x0000019d
## MSR_MISC_PWR_MGMT
rdmsr -ax 0x000001aa
## MSR_IA32_THERM_CONTROL
rdmsr -ax 0x0000019a
## MSR_TURBO_RATIO_LIMIT
rdmsr -ax 0x000001ad |
I'm not surprised if the core is hotter, the box is passively cooled and warm to touch, while the Braswell chip was actively cooled. Burst appears to be working, as I do catch the CPU above 1.44 GHz in /proc/cpuinfo
|
Thank you, branch is committed 69e370a to allow those MSR. |
Clock Modulation is now also permitted. You should be able to apply a |
Platform codenameAirmont is the common CPUID Stepping Fortunately we can manage a brands table in CoreFreq driver to split in two platform codenames: Code enhancement should also concern the PCI Host bridge id So far driver has no code to query the revision and I wonder if it's worth the effort to provide the true platform codename in the IMC output, rather than a common codename ? |
Just a quick update on this - I'm currently experimenting to get this system stable in Linux. I've been suffering random crashes, especially when the iGPU is loaded. Once it's stable I'll be able to test the duty cycle modulation. I haven't seen it lock up in a tty console, but I can't be certain it is stable. I may have to try alternative distro's to get it, or older kernels. On platform codename - To me Cherry Trail and Braswell are effectively the same silicon, just with different target markets. I don't think it's worth the effort in splitting the codename without fully understanding if the Host Bridge revisions within each codename are unique. There seems to be some cherry trail chips with rev 20, for example) |
Found these frequency and turbo ratios, and voltage VID registers in kernel. #define MSR_ATOM_CORE_RATIOS 0x0000066a Can you please |
I seem to be having a stretch of stability after setting a max c-state of 1, similar to Bay Trail. See this: https://bugzilla.kernel.org/show_bug.cgi?id=109051
|
Well done! |
MSR_ATOM_CORE_RATIOS
Frequency
MSR_ATOM_CORE_VIDS
Base Vcore
MSR_ATOM_CORE_TURBO_VIDS
Turbo Vcore
MSR_ATOM_CORE_TURBO_RATIOS
Turbo Boost
What we are getting new are the Turbo Boost frequency ratios. |
Are those four MSR_ATOM writable ? |
Everything is now part of last commit 8521699 |
With my system all four MCR's are not writable. Refreshed output: https://gist.github.com/svmlegacy/deb7288b6dbef976a0002a0ed29ae783#file-cherry-trail-develop-2022-11-06 |
Thank you. Many things I've to process looking at your output. May be to arrange temperature, you could go down to See Readme to register CoreFreq as |
OK, Commit 5c5b0a7 to make them as read-only ratios |
@svmlegacy I don't get a
EDIT: It may also be a BIOS option. |
@svmlegacy Can you please dump some registers ? /* Error Correcting Code */
TIMING(mc, cha).ECC = \
RO(Proc)->Uncore.MC[mc].SLM.BIOS_CFG.EFF_ECC_EN
| RO(Proc)->Uncore.MC[mc].SLM.BIOS_CFG.ECC_EN;
/* Debugging Code */
printf( "IMC(%d:%d)\tDRP[%x]\tDTR0[%x]\tBIOS[%x]\n", mc, cha,
RO(Proc)->Uncore.MC[mc].SLM.DRP.value,
RO(Proc)->Uncore.MC[mc].SLM.DTR0.value,
RO(Proc)->Uncore.MC[mc].SLM.BIOS_CFG.value );
and post the traces which should output from daemon |
@svmlegacy What you will notice in specs is that IMC registers differ from those of Silvermont/BYT; some bits are shifted of just a few position. |
@svmlegacy Hello, |
Thanks for your patience... Life was just being life for a bit. Should be able to catch back up this weekend! |
Result:
Result:
Unfortunately the BIOS is very limited and does not provide the information. The memory is soldered directly onto the mainboard, as well. I'll see about getting Memtest running on this machine and posting the results. |
@svmlegacy Fyi commit ff64902 adds specs of Z8000 IMC registers |
On-going IMC developments moved to #395 |
@svmlegacy Hello,
Refering to the Wiki page,
corefreq-cli -m
does not output the IMC data.EDIT: Branch
develop_Airmont
is an attempt to decodeAirmont
IMC using theSLM/Bay Trail
SoC decoder.Please feel free to test and post the IMC output of this branch.
The text was updated successfully, but these errors were encountered: