coreboot-kgpe-d16/src
Duncan Laurie 25b8b7b881 haswell: Put each logical processor in its own P-state domain
The recommendation from Intel is to report each core as a
separate logical domain in the _PSD table.

This goes against the recommendation in the ACPI specification
because all of these cores are on the same package and share a
VR so they will do voltage transitions together.

The reasoning is that with a larger number of logical processors
the P-state often ramps too quickly resulting in higher power
consumption.  By exposing each core as a separate domain the OS
can manage them individually allowing the socket to select the
optimum frequency.

$ cat /sys/firmware/acpi/tables/SSDT > /tmp/SSDT
$ iasl -d /tmp/SSDT

Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00)
{
  Name (_PSD, Package (0x01)
  {
    Package (0x05)
    {
      0x05,
      0x00,
      0x00000000,
      0x000000FE,
      0x00000001
    }
  })
}

Processor (\_PR.CPU1, 0x01, 0x00000000, 0x00)
{
  Name (_PSD, Package (0x01)
  {
    Package (0x05)
    {
      0x05,
      0x00,
      0x00000001,
      0x000000FE,
      0x00000001
    }
  })
}

Processor (\_PR.CPU2, 0x02, 0x00000000, 0x00)
{
  Name (_PSD, Package (0x01)
  {
    Package (0x05)
    {
      0x05,
      0x00,
      0x00000002,
      0x000000FE,
      0x00000001
    }
  })
}

Processor (\_PR.CPU3, 0x03, 0x00000000, 0x00)
{
  Name (_PSD, Package (0x01)
  {
    Package (0x05)
    {
      0x05,
      0x00,
      0x00000003,
      0x000000FE,
      0x00000001
    }
  })
}

Change-Id: I5ef41b6ead4d88e9ba117003293dbc629c376803
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/48662
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/4130
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
2013-11-24 05:34:25 +01:00
..
arch Add GRUB2 payload to build system 2013-11-19 01:07:25 +01:00
console console: Add hexdump32 function 2013-11-10 14:12:31 +01:00
cpu haswell: Put each logical processor in its own P-state domain 2013-11-24 05:34:25 +01:00
device Add new finalize functions for devices and chips 2013-11-08 19:55:17 +01:00
drivers Rename cpu/x86/car.h to arch/early_variables.h 2013-10-13 12:47:05 +02:00
ec Lenovo hotkeys support 2013-11-24 00:20:04 +01:00
include cbfs: remove unused code and prototype 2013-11-18 18:41:57 +01:00
lib lib/coreboot_table: set type and size of framebuffer tag after fill_lb_framebuffer 2013-11-23 18:40:40 +01:00
mainboard AMD f15tn, f16kb: Remove CDIT table and DMI table 2013-11-22 20:29:06 +01:00
northbridge northbridge/intel/i945/raminit.c: Remove set but unused variable `reg16` 2013-11-05 21:35:13 +01:00
southbridge AMD Hudson: Move function s3_resume_init_data to southbridge 2013-11-12 16:40:48 +01:00
superio sio1007: Properly build '.c' files 2013-11-10 14:19:28 +01:00
vendorcode Fix compile error in chromeos by adding stddef.h 2013-11-24 05:30:10 +01:00
Kconfig Add GRUB2 payload to build system 2013-11-19 01:07:25 +01:00