<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/pci/pcie, branch linux-3.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.1.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.1.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-07-30T06:35:05Z</updated>
<entry>
<title>Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6</title>
<updated>2011-07-30T06:35:05Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2011-07-30T06:35:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f85f19de90a9997583bb26e6f1f9297a4e152c18'/>
<id>urn:sha1:f85f19de90a9997583bb26e6f1f9297a4e152c18</id>
<content type='text'>
* 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
  PCI: remove printks about disabled bridge windows
  PCI: fold pci_calc_resource_flags() into decode_bar()
  PCI: treat mem BAR type "11" (reserved) as 32-bit, not 64-bit, BAR
  PCI: correct pcie_set_readrq write size
  PCI: pciehp: change wait time for valid configuration access
  x86/PCI: Preserve existing pci=bfsort whitelist for Dell systems
  PCI: ARI is a PCIe v2 feature
  x86/PCI: quirks: Use pci_dev-&gt;revision
  PCI: Make the struct pci_dev * argument of pci_fixup_irqs const.
  PCI hotplug: cpqphp: use pci_dev-&gt;vendor
  PCI hotplug: cpqphp: use pci_dev-&gt;subsystem_{vendor|device}
  x86/PCI: config space accessor functions should not ignore the segment argument
  PCI: Assign values to 'pci_obff_signal_type' enumeration constants
  x86/PCI: reduce severity of host bridge window conflict warnings
  PCI: enumerate the PCI device only removed out PCI hieratchy of OS when re-scanning PCI
  PCI: PCIe AER: add aer_recover_queue
  x86/PCI: select direct access mode for mmconfig option
  PCI hotplug: Rename is_ejectable which also exists in dock.c
</content>
</entry>
<entry>
<title>PCI: PCIe AER: add aer_recover_queue</title>
<updated>2011-07-22T15:25:37Z</updated>
<author>
<name>Huang Ying</name>
</author>
<published>2011-05-17T08:08:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0918472ceeffad234df5589e45b646a94476f835'/>
<id>urn:sha1:0918472ceeffad234df5589e45b646a94476f835</id>
<content type='text'>
In addition to native PCIe AER, now APEI (ACPI Platform Error
Interface) GHES (Generic Hardware Error Source) can be used to report
PCIe AER errors too.  To add support to APEI GHES PCIe AER recovery,
aer_recover_queue is added to export the recovery function in native
PCIe AER driver.

Recoverable PCIe AER errors are reported via NMI in APEI GHES.  Then
APEI GHES uses irq_work to delay the error processing into an IRQ
handler.  But PCIe AER recovery can be very time-consuming, so
aer_recover_queue, which can be used in IRQ handler, delays the real
recovery action into the process context, that is, work queue.

Signed-off-by: Huang Ying &lt;ying.huang@intel.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PCIe ASPM: forcedly -&gt; forcibly</title>
<updated>2011-06-29T12:24:14Z</updated>
<author>
<name>Michael Witten</name>
</author>
<published>2011-06-28T06:15:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8072ba1ba7fe9f48ad9f424829863214484dfc2f'/>
<id>urn:sha1:8072ba1ba7fe9f48ad9f424829863214484dfc2f</id>
<content type='text'>
Merriam-Webster tells us that the word exists. However ...

  * Google suggests `forcibly' because it doesn't recognize `forcedly'.
  * Google lists 494 thousand results for `forcedly'.
  * Google lists 13.7 million results for `forcibly'.
  * Linus's repo contains  1 occurrence  of `forcedly' ( 0 after my change).
  * Linus's repo contains 60 occurrences of `forcibly' (61 after my change).

Signed-off-by: Michael Witten &lt;mfwitten@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>PCI: remove unused AER functions</title>
<updated>2011-05-21T19:17:14Z</updated>
<author>
<name>Chen Gong</name>
</author>
<published>2011-05-20T05:36:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cbfddd20937ed890ce7027fa08a7c84e977128cf'/>
<id>urn:sha1:cbfddd20937ed890ce7027fa08a7c84e977128cf</id>
<content type='text'>
In the commit 28eb5f2, aer_osc_setup is removed but corresponding
definiton information in the aerdrv.h is missed.

Acked-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Chen Gong &lt;gong.chen@linux.intel.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PCI/e1000e: Add and use pci_disable_link_state_locked()</title>
<updated>2011-05-21T19:16:44Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2011-05-13T00:11:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f728f53dd70396f3183d2f0861022259471824b'/>
<id>urn:sha1:9f728f53dd70396f3183d2f0861022259471824b</id>
<content type='text'>
Need to use it in _e1000e_disable_aspm.  This routine is used for error
recovery, where the pci_bus_sem is already held, and we don't want
pci_disable_link_state to try to take it again.  So add a locked variant
for use in cases like this.

Found lock up:

[ 2374.654557] kworker/32:1    D ffff881027f6b0f0     0  6075      2 0x00000000
[ 2374.654816]  ffff88503f099a68 0000000000000046 ffff88503f098000 0000000000004000
[ 2374.654837]  00000000001d1ec0 ffff88503f099fd8 00000000001d1ec0 ffff88503f099fd8
[ 2374.654860]  0000000000004000 00000000001d1ec0 ffff88503dcc8000 ffff88503f090000
[ 2374.654880] Call Trace:
[ 2374.654898]  [&lt;ffffffff810b1302&gt;] ? __lock_acquired+0x3a/0x224
[ 2374.654914]  [&lt;ffffffff81c2b59c&gt;] ? _raw_spin_unlock_irq+0x30/0x36
[ 2374.654925]  [&lt;ffffffff810b069d&gt;] ? trace_hardirqs_on_caller+0x1f/0x178
[ 2374.654936]  [&lt;ffffffff81c2ab24&gt;] rwsem_down_failed_common+0xd3/0x103
[ 2374.654945]  [&lt;ffffffff810b158f&gt;] ? __lock_contended+0x3a/0x2a2
[ 2374.654955]  [&lt;ffffffff81c2ab7b&gt;] rwsem_down_read_failed+0x12/0x14
[ 2374.654967]  [&lt;ffffffff813371e4&gt;] call_rwsem_down_read_failed+0x14/0x30
[ 2374.654981]  [&lt;ffffffff8135df20&gt;] ? pci_disable_link_state+0x5f/0xf5
[ 2374.654990]  [&lt;ffffffff81c2a0e6&gt;] ? down_read+0x7e/0x91
[ 2374.654999]  [&lt;ffffffff8135df20&gt;] ? pci_disable_link_state+0x5f/0xf5
[ 2374.655008]  [&lt;ffffffff8135df20&gt;] pci_disable_link_state+0x5f/0xf5
[ 2374.655024]  [&lt;ffffffff81661796&gt;] e1000e_disable_aspm+0x55/0x5a
[ 2374.655037]  [&lt;ffffffff816677eb&gt;] e1000_io_slot_reset+0x59/0xea
[ 2374.655048]  [&lt;ffffffff8135fe0d&gt;] ? report_mmio_enabled+0x5d/0x5d
[ 2374.655057]  [&lt;ffffffff8135fe3b&gt;] report_slot_reset+0x2e/0x5d
[ 2374.655072]  [&lt;ffffffff8135369e&gt;] pci_walk_bus+0x8a/0xb7
[ 2374.655081]  [&lt;ffffffff8135fe0d&gt;] ? report_mmio_enabled+0x5d/0x5d
[ 2374.655091]  [&lt;ffffffff813603be&gt;] broadcast_error_message+0xa4/0xb2
[ 2374.655101]  [&lt;ffffffff81352c71&gt;] ? pci_bus_read_config_dword+0x72/0x80
[ 2374.655110]  [&lt;ffffffff813606df&gt;] do_recovery+0x9e/0xf9
[ 2374.655120]  [&lt;ffffffff81360786&gt;] handle_error_source+0x4c/0x51
[ 2374.655129]  [&lt;ffffffff81360974&gt;] aer_isr_one_error+0x1e9/0x21a
[ 2374.655138]  [&lt;ffffffff81360a6c&gt;] aer_isr+0xc7/0xcc
[ 2374.655147]  [&lt;ffffffff813609a5&gt;] ? aer_isr_one_error+0x21a/0x21a
[ 2374.655159]  [&lt;ffffffff81096d9f&gt;] process_one_work+0x237/0x3ec
[ 2374.655168]  [&lt;ffffffff81096d10&gt;] ? process_one_work+0x1a8/0x3ec
[ 2374.655178]  [&lt;ffffffff8109728d&gt;] worker_thread+0x17c/0x240
[ 2374.655186]  [&lt;ffffffff810b0803&gt;] ? trace_hardirqs_on+0xd/0xf
[ 2374.655196]  [&lt;ffffffff81097111&gt;] ? manage_workers+0xab/0xab
[ 2374.655209]  [&lt;ffffffff8109c8ed&gt;] kthread+0xa0/0xa8
[ 2374.655223]  [&lt;ffffffff81c332d4&gt;] kernel_thread_helper+0x4/0x10
[ 2374.655232]  [&lt;ffffffff81c2b880&gt;] ? retint_restore_args+0xe/0xe
[ 2374.655243]  [&lt;ffffffff8109c84d&gt;] ? __init_kthread_worker+0x5b/0x5b
[ 2374.655252]  [&lt;ffffffff81c332d0&gt;] ? gs_change+0xb/0xb

when aer happens,
pci_walk_bus already have down_read(&amp;pci_bus_sem)...
then report_slot_reset
        ==&gt; e1000_io_slot_reset
                ==&gt; e1000e_disable_aspm
                        ==&gt; pci_disable_link_state...

We can not use pci_disable_link_state, and it will try to hold pci_bus_sem again.

Try to have __pci_disable_link_state that will not need to hold pci_bus_sem.

-v2: change name to pci_disable_link_state_locked() according to Jesse.

[jbarnes: make sure new function is exported for modules]

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PCI: Fix uninitialized variable bug in AER injection code</title>
<updated>2011-05-10T22:43:30Z</updated>
<author>
<name>Wanlong Gao</name>
</author>
<published>2011-04-04T09:12:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40294d8f14384780a61a2dea8c92a231176ae301'/>
<id>urn:sha1:40294d8f14384780a61a2dea8c92a231176ae301</id>
<content type='text'>
If it was preempted, and the variable aer_mask_override is changed
after the spin_unlock_irqrestore it will write an uninitialized
variable by the pci_write_config_dword() function.

Signed-off-by: Wanlong Gao &lt;wanlong.gao@gmail.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PCI: Enable ASPM state clearing regardless of policy</title>
<updated>2011-05-10T22:43:28Z</updated>
<author>
<name>Alex Williamson</name>
</author>
<published>2011-03-10T18:54:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3504e47ffca5ed3f9e2cc7d37b428fbf1e00ad1b'/>
<id>urn:sha1:3504e47ffca5ed3f9e2cc7d37b428fbf1e00ad1b</id>
<content type='text'>
Commit 2f671e2d allowed us to clear ASPM state when the FADT
tells us it isn't supported, but we don't put this into effect
if the aspm_policy is set to POLICY_POWERSAVE.  Enable the
state to be cleared regardless of policy.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6</title>
<updated>2011-03-26T04:01:43Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2011-03-26T04:01:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5aafdea448fb86412a6f8e46df518c1545d32436'/>
<id>urn:sha1:5aafdea448fb86412a6f8e46df518c1545d32436</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
  PCI: Disable ASPM when _OSC control is not granted for PCIe services
  PCI: Changing ASPM policy, via /sys, to POWERSAVE could cause NMIs
  PCI: PCIe links may not get configured for ASPM under POWERSAVE mode
  PCI/ACPI: Report ASPM support to BIOS if not disabled from command line
</content>
</entry>
<entry>
<title>Merge branch 'linus' into release</title>
<updated>2011-03-23T06:34:54Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2011-03-23T06:34:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02e2407858fd62053bf60349c0e72cd1c7a4a60e'/>
<id>urn:sha1:02e2407858fd62053bf60349c0e72cd1c7a4a60e</id>
<content type='text'>
Conflicts:
	arch/x86/kernel/acpi/sleep.c

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI, APEI, Add PCIe AER error information printing support</title>
<updated>2011-03-22T02:59:08Z</updated>
<author>
<name>Huang Ying</name>
</author>
<published>2011-02-21T05:54:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c413d7682020a127f54744a1b30f597692aea1fd'/>
<id>urn:sha1:c413d7682020a127f54744a1b30f597692aea1fd</id>
<content type='text'>
The AER error information printing support is implemented in
drivers/pci/pcie/aer/aer_print.c.  So some string constants, functions
and macros definitions can be re-used without being exported.

The original PCIe AER error information printing function is not
re-used directly because the overall format is quite different.  And
changing the original printing format may make some original users'
scripts broken.

Signed-off-by: Huang Ying &lt;ying.huang@intel.com&gt;
CC: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
CC: Zhang Yanmin &lt;yanmin.zhang@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
</feed>
