coreboot/src
Duncan Laurie a011b5dca7 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.

BUG=chrome-os-partner:16862
BRANCH=none
TEST=manual: boot on wtm2, read and verify the ACPI _PSD table in
the SSDT and ensure each core is in a separate domain.

$ 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>
2013-04-19 10:43:52 -07:00
..
arch armv7: specify condition code for msr instruction 2013-04-08 18:31:08 +02:00
console console: Make use of CONFIG_USE_OPTION_TABLE 2013-04-01 20:54:48 +02:00
cpu haswell: Put each logical processor in its own P-state domain 2013-04-19 10:43:52 -07:00
device Add PXE ROM selection to Kconfig menu 2013-04-03 18:01:44 +02:00
drivers x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
ec ChromeEC: Drop unneeded Kconfig variable EC_GOOGLE_API_ROOT 2013-04-09 13:45:43 -07:00
include butterfly: Log EC shutdown reason in ELOG 2013-04-16 17:33:53 -07:00
lib Fix read_option invocation in uart8250mem.c 2013-04-08 21:36:01 +02:00
mainboard Rename mainboard vendor Google to GOOGLE 2013-04-09 13:45:43 -07:00
northbridge AMD GX1: Remove useless copied header file northbridge.h 2013-04-04 03:26:58 +02:00
southbridge lynxpoint: Cosmetic cleanup 2013-04-03 23:07:12 +02:00
superio Winbond W83627HF: Rename and move ASL snippet to acpi/superio.asl 2013-04-01 21:09:24 +02:00
vendorcode Honor vboot's request to load the VGA option ROM 2013-04-15 17:13:13 -07:00
Kconfig dynamic cbmem: fix memconsole and timestamps 2013-03-23 19:44:25 +01:00