1. 03 8月, 2010 3 次提交
    • J
      X86: intel_ips, check for kzalloc properly · e9ec7f35
      Jiri Slaby 提交于
      Stanse found that there are two NULL checks missing in ips_monitor. So
      check their value too and bail out appropriately if the allocation
      failed.
      
      While at it, add one more kfree to the fail path. It is not necessary
      now, but may be needed in the future when a new allocation is added.
      And for completeness.
      
      Also remove unneeded initialization of the variables. They are all set
      right after their declaration.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      e9ec7f35
    • J
      IPS driver: add GPU busy and turbo checking · 0385e521
      Jesse Barnes 提交于
      Be sure to enable GPU turbo by default at load time and check GPU busy
      and MCP exceeded status correctly.  Also fix up CPU power comparison and
      work around buggy MCH temp reporting.
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      0385e521
    • J
      x86 platform driver: intelligent power sharing driver · aa7ffc01
      Jesse Barnes 提交于
      Intel Core i3/5 platforms with integrated graphics support both CPU and
      GPU turbo mode.  CPU turbo mode is opportunistic: the CPU will use any
      available power to increase core frequencies if thermal headroom is
      available.  The GPU side is more manual however; the graphics driver
      must monitor GPU power and temperature and coordinate with a core
      thermal driver to take advantage of available thermal and power headroom
      in the package.
      
      The intelligent power sharing (IPS) driver is intended to coordinate
      this activity by monitoring MCP (multi-chip package) temperature and
      power, allowing the CPU and/or GPU to increase their power consumption,
      and thus performance, when possible.  The goal is to maximize
      performance within a given platform's TDP (thermal design point).
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      aa7ffc01