RevoGirl / RevoBoot

The RevoBoot-loader project
http://revogirl.wordpress.com/
Other
50 stars 138 forks source link

SpeedStep Not working #30

Closed TheSooth closed 9 years ago

TheSooth commented 12 years ago

Hello, i have some error, my 2500k working on min and max (x16 and x42). I compile RevoBooth with this settings:

define LOAD_SSDT_TABLE_FROM_EXTRA_ACPI 1

define DROP_SSDT_TABLES 1

define AUTOMATIC_SSDT_PR_CREATION 7

define MAX_NUMBER_OF_P_STATES 22

define DROP_FACTORY_SSDT_TABLES 1

define NUMBER_OF_TURBO_STATES 4

In BIOS i set my multiplier at 42. (I cannot set multi for each core). In my DSDT _PR Sections is: Scope (_PR) { Processor (CPU0, 0x01, 0x00000410, 0x06) { } Processor (CPU1, 0x02, 0x00000410, 0x06) { } Processor (CPU2, 0x03, 0x00000410, 0x06) { } Processor (CPU3, 0x04, 0x00000410, 0x06) { } }

SSDT: Name (APSN, 0x04) //required by SMC_Platform Name (APSS, Package (0x13) // Performance Supported States, used by SMCPlatformPlugin { /* Core Frequency (MHz), Power (milliwats), Latency (ms), Bus Latency (ms), Control, Status / Package (0x06) { / 4200 MHz / 0, 0, 10, 10, / 42 / 0x2A00, 0x2A00 }, Package (0x06) { / 4100 MHz / 0, 0, 10, 10, / 41 / 0x2900, 0x2900 }, Package (0x06) { / 4000 MHz / 0, 0, 10, 10, / 40 / 0x2800, 0x2800 }, Package (0x06) { / 3900 MHz / 0, 0, 10, 10, / 39 / 0x2700, 0x2700 }, Package (0x06) { / 3300 MHz / 0, 0, 10, 10, / 33 / 0x2100, 0x2100 }, Package (0x06) { / 3200 MHz / 0, 0, 10, 10, / 32 / 0x2000, 0x2000 }, Package (0x06) { / 3100 MHz / 0, 0, 10, 10, / 31 / 0x1F00, 0x1F00 }, Package (0x06) { / 3000 MHz / 0, 0, 10, 10, / 30 / 0x1E00, 0x1E00 }, Package (0x06) { / 2900 MHz / 0, 0, 10, 10, / 29 / 0x1D00, 0x1D00 }, Package (0x06) { / 2800 MHz / 0, 0, 10, 10, / 28 / 0x1C00, 0x1C00 }, Package (0x06) { / 2700 MHz / 0, 0, 10, 10, / 27 / 0x1B00, 0x1B00 }, Package (0x06) { / 2600 MHz / 0, 0, 10, 10, / 26 / 0x1A00, 0x1A00 }, Package (0x06) { / 2500 MHz / 0, 0, 10, 10, / 25 / 0x1900, 0x1900 }, Package (0x06) { / 2400 MHz / 0, 0, 10, 10, / 24 / 0x1800, 0x1800 }, Package (0x06) { / 2300 MHz / 0, 0, 10, 10, / 23 / 0x1700, 0x1700 }, Package (0x06) { / 2200 MHz / 0, 0, 10, 10, / 22 / 0x1600, 0x1600 }, Package (0x06) { / 2100 MHz / 0, 0, 10, 10, / 21 / 0x1500, 0x1500 }, Package (0x06) { / 2000 MHz / 0, 0, 10, 10, / 20 / 0x1400, 0x1400 }, Package (0x06) { / 1600 MHz / 0, 0, 10, 10, /_ 16 */ 0x1000, 0x1000 } })

Also i have ACST in my SSDT. i using model iMac12,2. Maybe u can explain what i doing wrong.

UPD:

Also i deleted StepDataDict from IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext of iMac12,2 'cause with StepDataDict i have error, p-state stepper error 18. But! After deleting this section, i more don't see Turbo: 1BBB, but with this section, CPU working on min multi (x16) :(

UPD #2:

I delete my SSDT.dsdt, to DSDT in PR section i add _CST section. Trying to boot, all ok, no errors, but in ioreg, i don't see PerformanceStatearray :( and working on x16 and x42. i dump SSDT table, and see my 22 states. Speedstep still not working :(

p.s if i don'te add CST section, i see error ACPI_SMC_PlatformPlugin:PushCPU_CSTData - _CST evaluation failed LPC device initialization failed: C-state power management not initialized But in Automatic SSDT i have section ACST why i see this error?

UPD #3: I Have PerformanceStates, i replace my bios with new version, now i can set for each core multiplier. I set 42\41\40\39. And in MSRDumper i see next steps : 16 39 40 41 42 39-42 states it's normal 'cause i set this states in bios. But how i can do make to working other steps eg ( 18, 24, 20, 28, 35)? In ioreg and SMC Monitor on tab P & C States i see 27states from 16 to 42 (CST info - text field in SMC monitor is empty).

TheSooth commented 12 years ago

UPD #4: All working, perfectly. Clean DSDT - without PR section. In Config.h = Auto SSDT, P-States = 27, TurboStates = 9. MSRDump: MSRDumper PStatesReached: 16 21 27 33 38 39 40 41

Just one question, how i can enable more than x42 state? If i set in bios 43 or 44, i get Kernel Panic. How set ratios more than x42?

brycv commented 12 years ago

The reason you can't go beyond 42 is explained here.

http://revogirl.wordpress.com/2012/03/23/overclocking-up-to-4-2-ghz-with-powermanagement/