<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/acpi, branch v3.9</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/acpi?h=v3.9</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/acpi?h=v3.9'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-04-06T02:29:36Z</updated>
<entry>
<title>Merge tag 'pci-v3.9-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci</title>
<updated>2013-04-06T02:29:36Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-04-06T02:29:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b196553a7fdf305273268113ba80ef303bf012af'/>
<id>urn:sha1:b196553a7fdf305273268113ba80ef303bf012af</id>
<content type='text'>
Pull PCI fixes from Bjorn Helgaas:
 "PCI updates for v3.9:

  ASPM
      Revert "PCI/ACPI: Request _OSC control before scanning PCI root bus"
  kexec
      PCI: Don't try to disable Bus Master on disconnected PCI devices
  Platform ROM images
      PCI: Add PCI ROM helper for platform-provided ROM images
      nouveau: Attempt to use platform-provided ROM image
      radeon: Attempt to use platform-provided ROM image
  Hotplug
      PCI/ACPI: Always resume devices on ACPI wakeup notifications
      PCI/PM: Disable runtime PM of PCIe ports
  EISA
      EISA/PCI: Fix bus res reference
      EISA/PCI: Init EISA early, before PNP"

* tag 'pci-v3.9-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
  PCI/PM: Disable runtime PM of PCIe ports
  PCI/ACPI: Always resume devices on ACPI wakeup notifications
  PCI: Don't try to disable Bus Master on disconnected PCI devices
  Revert "PCI/ACPI: Request _OSC control before scanning PCI root bus"
  radeon: Attempt to use platform-provided ROM image
  nouveau: Attempt to use platform-provided ROM image
  EISA/PCI: Init EISA early, before PNP
  EISA/PCI: Fix bus res reference
  PCI: Add PCI ROM helper for platform-provided ROM images
</content>
</entry>
<entry>
<title>ACPI / BGRT: Don't let users configure BGRT on non X86 systems</title>
<updated>2013-04-03T11:17:20Z</updated>
<author>
<name>Tony Luck</name>
<email>tony.luck@intel.com</email>
</author>
<published>2013-04-03T11:17:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e66cd5372d09d58002b2779a3bcdc564d6348883'/>
<id>urn:sha1:e66cd5372d09d58002b2779a3bcdc564d6348883</id>
<content type='text'>
Fengguang Wu's 0-Day kernel build testing backend found the
following build error for an allmodconfig build on ia64:

   drivers/built-in.o: In function `show_yoffset':
&gt;&gt; bgrt.c:(.text+0xe5a71): undefined reference to `bgrt_tab'
&gt;&gt; bgrt.c:(.text+0xe5a91): undefined reference to `bgrt_tab'
   drivers/built-in.o: In function `show_xoffset':
&gt;&gt; bgrt.c:(.text+0xe5b51): undefined reference to `bgrt_tab'
&gt;&gt; bgrt.c:(.text+0xe5b71): undefined reference to `bgrt_tab'
   drivers/built-in.o: In function `show_type':
&gt;&gt; bgrt.c:(.text+0xe5c31): undefined reference to `bgrt_tab'
   drivers/built-in.o:bgrt.c:(.text+0xe5c51): more undefined references to `bgrt_tab' follow
   drivers/built-in.o: In function `bgrt_init':
   bgrt.c:(.init.text+0x8931): undefined reference to `bgrt_image'
   bgrt.c:(.init.text+0x8932): undefined reference to `bgrt_image_size'
   bgrt.c:(.init.text+0x8950): undefined reference to `bgrt_image'
   bgrt.c:(.init.text+0x8960): undefined reference to `bgrt_image_size'

The problem is that all these undefined names are provided by
arch/x86/platform/efi/efi-bgrt.c - which is obviously not available
to the ia64 build.

It doesn't seem useful to provide the BGRT support for Itanium
(many systems are headless and have no graphics at all). So
just don't let users configure this driver on non-X86 machines.

Reported-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>Revert "PCI/ACPI: Request _OSC control before scanning PCI root bus"</title>
<updated>2013-04-03T00:02:40Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2013-04-01T21:47:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b8178f130e25c1bdac1c33e0996f1ff6e20ec08e'/>
<id>urn:sha1:b8178f130e25c1bdac1c33e0996f1ff6e20ec08e</id>
<content type='text'>
This reverts commit 8c33f51df406e1a1f7fa4e9b244845b7ebd61fa6.

Conflicts:
	drivers/acpi/pci_root.c

This commit broke some pre-1.1 PCIe devices by leaving them with
ASPM enabled.  Previously, we had disabled ASPM on these devices
because many of them don't implement it correctly (per 149e1637).

Requesting _OSC control early means that aspm_disabled may be set
before we scan the PCI bus and configure link ASPM state.  But the
ASPM configuration currently skips the check for pre-PCIe 1.1 devices
when aspm_disabled is set, like this:

    acpi_pci_root_add
      acpi_pci_osc_support
        if (flags != base_flags)
          pcie_no_aspm
            aspm_disabled = 1
      pci_acpi_scan_root
        ...
          pcie_aspm_init_link_state
            pcie_aspm_sanity_check
              if (!aspm_disabled)
                /* check for pre-PCIe 1.1 device */

Therefore, setting aspm_disabled early means that we leave ASPM enabled
on these pre-PCIe 1.1 devices, which is a regression for some devices.

The best fix would be to clean up the ASPM init so we can evaluate
_OSC before scanning the bug (that way boot-time and hot-add discovery
will work the same), but that requires significant rework.

For now, we'll just revert the _OSC change as the lowest-risk fix.

Reference: https://bugzilla.kernel.org/show_bug.cgi?id=55211
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Acked-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
CC: stable@vger.kernel.org	# v3.8+
</content>
</entry>
<entry>
<title>cpuidle / ACPI: recover percpu ACPI processor cstate</title>
<updated>2013-04-02T13:31:28Z</updated>
<author>
<name>Alex Shi</name>
<email>alex.shi@intel.com</email>
</author>
<published>2013-04-01T23:56:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6240a10dc55a954ce05a86d2f4bc27e473b6352c'/>
<id>urn:sha1:6240a10dc55a954ce05a86d2f4bc27e473b6352c</id>
<content type='text'>
Commit ac3ebafa81af76d6 "ACPI / idle: remove usage of the statedata"
changed the percpu processor cstate to a unified cstate in ACPI idle.
That caused all our NHM boxes to boot hang or panic.

2178751 Task dump for CPU 1:
	2178752 swapper/1       R  running task     6736     0      1 0x00000000
	2178753  ffff8801e8029dc8 ffffffff8101cf96 ffff8801e8029e28 ffffffff813d294b
	2178754  0000000000000f99 0000000000000003 00000000003cf654 0000000025c17d03
	2178755  ffff8801e8029e38 ffff8801e74fc000 00000002590dc5c4 ffffffff8163cdb0
	2178756 Call Trace:
	2178757  [&lt;ffffffff8101cf96&gt;] ? acpi_processor_ffh_cstate_enter+0x2d/0x2f
	2178758  [&lt;ffffffff813d294b&gt;] acpi_idle_enter_bm+0x1b1/0x236
	2178759  [&lt;ffffffff8163cdb0&gt;] ? disable_cpuidle+0x10/0x10
	2178760  [&lt;ffffffff8163cdc2&gt;] cpuidle_enter+0x12/0x14
	2178761  [&lt;ffffffff8163d286&gt;] cpuidle_wrap_enter+0x2f/0x6d
	2178762  [&lt;ffffffff8163d2d4&gt;] cpuidle_enter_tk+0x10/0x12
	2178763  [&lt;ffffffff8163cdd6&gt;] cpuidle_enter_state+0x12/0x3a
	2178764  [&lt;ffffffff8163d4a7&gt;] cpuidle_idle_call+0xe8/0x161
	2178765  [&lt;ffffffff81008d99&gt;] cpu_idle+0x5e/0xa4
	2178766  [&lt;ffffffff8174c6c1&gt;] start_secondary+0x1a9/0x1ad
	2178767 Task dump for CPU 2:

In fact, the ACPI idle is based on the assumption of difference percpu
cstate structures that are necessary for the implementation to work
cprrectly.  A unique acpi_processor_cx is not sifficient by far.

This patch is just a quick fix re-introducing the percpu cstates.

If someone really wants to unify the ACPI cstates, please make sure
that the whole software infrastructure is changed and take hardware
as well as many different kinds of BIOS settings into account.

[rjw: Changelog]
Reported-by: LKP project &lt;lkp@linux.intel.com&gt;
Reported-by: Xie ChanglongX &lt;changlongx.xie@intel.com&gt;
Tested-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Alex Shi &lt;alex.shi@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / I2C: Use parent's ACPI_HANDLE() in acpi_i2c_register_devices()</title>
<updated>2013-04-02T13:30:41Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2013-04-01T00:25:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b34bb1ee71158d5b0f9028fb98afd026202bcfe9'/>
<id>urn:sha1:b34bb1ee71158d5b0f9028fb98afd026202bcfe9</id>
<content type='text'>
The ACPI handle of struct i2c_adapter's dev member should not be
set, because this causes that struct i2c_adapter to be associated
with the ACPI device node corresponding to its parent as the
second "physical_device", which is incorrect (this happens during
the registration of struct i2c_adapter).  Consequently,
acpi_i2c_register_devices() should use the ACPI handle of the
parent of the struct i2c_adapter it is called for rather than the
struct i2c_adapter's ACPI handle (which should be NULL).

Make that happen and modify the i2c-designware-platdrv driver,
which currently is the only driver for ACPI-enumerated I2C
controller chips, not to set the ACPI handle for the
struct i2c_adapter it creates.

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Reviewed-by: Aaron Lu &lt;aaron.lu@intel.com&gt;
Acked-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Acked-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>PCI / ACPI: hold acpi_scan_lock during root bus hotplug</title>
<updated>2013-03-26T23:06:07Z</updated>
<author>
<name>Yinghai Lu</name>
<email>yinghai@kernel.org</email>
</author>
<published>2013-03-11T05:05:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b8b6611048b7b57b86fbdc9153649ad4dc52135f'/>
<id>urn:sha1:b8b6611048b7b57b86fbdc9153649ad4dc52135f</id>
<content type='text'>
During merging the PCI tree with the PM/ACPI tree, Linus noticed
that we don't use the same lock using patten about ACPI PCI root as
acpiphp.

Here apply the same locking patten, and we need to execute
acpi_bus_hot_remove_device() via acpi_os_hotplug_execute()
as it also holds acpi_scan_lock.

[rjw: Changelog]
Reported-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
No-objection-from: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / APEI: fix error status check condition for CPER</title>
<updated>2013-03-26T23:05:46Z</updated>
<author>
<name>Chen Gong</name>
<email>gong.chen@linux.intel.com</email>
</author>
<published>2013-03-19T06:48:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aaf9d93be71c68558c25b4052ac979ee6b7eb809'/>
<id>urn:sha1:aaf9d93be71c68558c25b4052ac979ee6b7eb809</id>
<content type='text'>
In Table 18-289, ACPI5.0 SPEC, the error data length in CPER
Generic Error Data Entry can be 0, which means this generic
error data entry can have only one header. So fix the check
conditon for it.

Signed-off-by: Chen Gong &lt;gong.chen@linux.intel.com&gt;
Reviewed-by: Huang Ying &lt;ying.huang@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / PM: fix suspend and resume on Sony Vaio VGN-FW21M</title>
<updated>2013-03-26T23:04:53Z</updated>
<author>
<name>Fabio Valentini</name>
<email>fafatheone@gmail.com</email>
</author>
<published>2013-03-11T19:16:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=469dd1c4ac0869cf7d1f87eac9b5a93865c10b76'/>
<id>urn:sha1:469dd1c4ac0869cf7d1f87eac9b5a93865c10b76</id>
<content type='text'>
Add Sony Vaio VGN-FW21M to the device blacklist in
drivers/acpi/sleep.c.

Fixes suspend/resume on this device (device no longer reboots
instead of resuming).

References: https://bugzilla.kernel.org/show_bug.cgi?id=55001
Signed-off-by: Fabio Valentini &lt;fafatheone@gmail.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'stable/for-linus-3.9-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen</title>
<updated>2013-03-13T03:25:53Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-03-13T03:25:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7946844ae890282fa03f52d226d12dda48164f10'/>
<id>urn:sha1:7946844ae890282fa03f52d226d12dda48164f10</id>
<content type='text'>
Pull Xen fixes from Konrad Rzeszutek Wilk:
 - Compile warnings and errors (one on x86, two on ARM)
 - WARNING in xen-pciback
 - Use the acpi_processor_get_performance_info instead of the 'register'
   version

* tag 'stable/for-linus-3.9-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen/acpi: remove redundant acpi/acpi_drivers.h include
  xen: arm: mandate EABI and use generic atomic operations.
  acpi: Export the acpi_processor_get_performance_info
  xen/pciback: Don't disable a PCI device that is already disabled.
</content>
</entry>
<entry>
<title>acpi: Export the acpi_processor_get_performance_info</title>
<updated>2013-03-06T15:00:34Z</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2013-03-05T18:42:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c705c78c0d0835a4aa5d0d9a3422e3218462030c'/>
<id>urn:sha1:c705c78c0d0835a4aa5d0d9a3422e3218462030c</id>
<content type='text'>
The git commit d5aaffa9dd531c978c6f3fea06a2972653bd7fc8
(cpufreq: handle cpufreq being disabled for all exported function)
tightens the cpufreq API by returning errors when disable_cpufreq()
had been called.

The problem we are hitting is that the module xen-acpi-processor which
uses the ACPI's functions: acpi_processor_register_performance,
acpi_processor_preregister_performance, and acpi_processor_notify_smm
fails at acpi_processor_register_performance with -22.

Note that earlier during bootup in arch/x86/xen/setup.c there is also
an call to cpufreq's API: disable_cpufreq().

This is b/c we want the Linux kernel to parse the ACPI data, but leave
the cpufreq decisions to the hypervisor.

In v3.9 all the checks that d5aaffa9dd531c978c6f3fea06a2972653bd7fc8
added are now hit and the calls to cpufreq_register_notifier will now
fail. This means that acpi_processor_ppc_init ends up printing:

"Warning: Processor Platform Limit not supported"

and the acpi_processor_ppc_status is not set.

The repercussions of that is that the call to
acpi_processor_register_performance fails right away at:

	if (!(acpi_processor_ppc_status &amp; PPC_REGISTERED))

and we don't progress any further on parsing and extracting the _P*
objects.

The only reason the Xen code called that function was b/c it was
exported and the only way to gather the P-states. But we can also
just make acpi_processor_get_performance_info be exported and not
use acpi_processor_register_performance. This patch does so.

Acked-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
</entry>
</feed>
