<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/pci, branch v3.12.26</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/pci?h=v3.12.26</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/pci?h=v3.12.26'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-07-17T11:43:15Z</updated>
<entry>
<title>PCI: Fix incorrect vgaarb conditional in WARN_ON()</title>
<updated>2014-07-17T11:43:15Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2014-04-05T21:14:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7e24fdf73b7c921f98b3137b95fe33d99c0da840'/>
<id>urn:sha1:7e24fdf73b7c921f98b3137b95fe33d99c0da840</id>
<content type='text'>
commit 67ebd8140dc8923c65451fa0f6a8eee003c4dcd3 upstream.

3448a19da479 "vgaarb: use bridges to control VGA routing where possible"
added the "flags &amp; PCI_VGA_STATE_CHANGE_DECODES" condition to an existing
WARN_ON(), but used bitwise AND (&amp;) instead of logical AND (&amp;&amp;), so the
condition is never true.  Replace with logical AND.

Found by Coverity (CID 142811).

Fixes: 3448a19da479 "vgaarb: use bridges to control VGA routing where possible"
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Acked-by: David Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>PCI: Add new ID for Intel GPU "spurious interrupt" quirk</title>
<updated>2014-07-17T11:43:15Z</updated>
<author>
<name>Thomas Jarosch</name>
<email>thomas.jarosch@intra2net.com</email>
</author>
<published>2014-04-07T13:10:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4ed86cf3d86c5a2f6c69450426b26955a00ad14c'/>
<id>urn:sha1:4ed86cf3d86c5a2f6c69450426b26955a00ad14c</id>
<content type='text'>
commit 7c82126a94e69bbbac586f0249e7ef11e681246c upstream.

After a CPU upgrade while keeping the same mainboard, we faced "spurious
interrupt" problems again.

It turned out that the new CPU also featured a new GPU with a different PCI
ID.

Add this PCI ID to the quirk table.  Probably all other Intel GPU PCI IDs
are affected, too, but I don't want to add them without a test system.

See f67fd55fa96f ("PCI: Add quirk for still enabled interrupts on Intel
Sandy Bridge GPUs") for some history.

[bhelgaas: add f67fd55fa96f reference, stable tag]
Signed-off-by: Thomas Jarosch &lt;thomas.jarosch@intra2net.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>PCI: shpchp: Check bridge's secondary (not primary) bus speed</title>
<updated>2014-06-09T13:53:43Z</updated>
<author>
<name>Marcel Apfelbaum</name>
<email>marcel.a@redhat.com</email>
</author>
<published>2014-05-15T18:42:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=61139eac3782bc1ef03dc4302e69664053fddecf'/>
<id>urn:sha1:61139eac3782bc1ef03dc4302e69664053fddecf</id>
<content type='text'>
commit 93fa9d32670f5592c8e56abc9928fc194e1e72fc upstream.

When a new device is added below a hotplug bridge, the bridge's secondary
bus speed and the device's bus speed must match.  The shpchp driver
previously checked the bridge's *primary* bus speed, not the secondary bus
speed.

This caused hot-add errors like:

  shpchp 0000:00:03.0: Speed of bus ff and adapter 0 mismatch

Check the secondary bus speed instead.

[bhelgaas: changelog]
Link: https://bugzilla.kernel.org/show_bug.cgi?id=75251
Fixes: 3749c51ac6c1 ("PCI: Make current and maximum bus speeds part of the PCI core")
Signed-off-by: Marcel Apfelbaum &lt;marcel.a@redhat.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>PCI: mvebu: fix off-by-one in the computed size of the mbus windows</title>
<updated>2014-06-09T13:53:38Z</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2014-04-18T12:19:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c124f60283ed72f128c6a7571f800a2b95c749a9'/>
<id>urn:sha1:c124f60283ed72f128c6a7571f800a2b95c749a9</id>
<content type='text'>
commit b6d07e0273d3296cfbdc88145b8a00ddbefb310a upstream.

mvebu_pcie_handle_membase_change() and
mvebu_pcie_handle_iobase_change() do not correctly compute the window
size. PCI uses an inclusive start/end address pair, which requires a
+1 when converting to size.

This only worked because a bug in the mbus driver allowed it to
silently accept and round up bogus sizes.

Fix this by adding one to the computed size.

Fixes: 45361a4fe446 ('PCIe driver for Marvell Armada 370/XP systems')
Signed-off-by: Willy Tarreau &lt;w@1wt.eu&gt;
Reviewed-By: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Link: https://lkml.kernel.org/r/1397823593-1932-5-git-send-email-thomas.petazzoni@free-electrons.com
Tested-by: Neil Greatorex &lt;neil@fatboyfat.co.uk&gt;
Acked-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>PCI: mvebu: Fix potential issue in range parsing</title>
<updated>2014-05-15T07:55:03Z</updated>
<author>
<name>Jean-Jacques Hiblot</name>
<email>jjhiblot@traphandler.com</email>
</author>
<published>2014-02-14T18:46:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b68d30bd4169785e983bb40327f5816eeba1afec'/>
<id>urn:sha1:b68d30bd4169785e983bb40327f5816eeba1afec</id>
<content type='text'>
commit 4f4bde1df33bde076f53325bdf2c6430cf85e1bb upstream.

The second parameter of of_read_number() is not the index, but a size.  As
it happens, in this case it may work just fine because of the conversion to
u32 and the favorable endianness on this architecture.

Fixes: 11be65472a427 ("PCI: mvebu: Adapt to the new device tree layout")
Tested-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Signed-off-by: Jean-Jacques Hiblot &lt;jjhiblot@traphandler.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Acked-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>PCI: designware: Fix iATU programming for cfg1, io and mem viewport</title>
<updated>2014-05-05T12:24:35Z</updated>
<author>
<name>Mohit Kumar</name>
<email>mohit.kumar@st.com</email>
</author>
<published>2014-04-16T16:23:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7cdf9eb02fea22b615156f5e35ca8974047ee224'/>
<id>urn:sha1:7cdf9eb02fea22b615156f5e35ca8974047ee224</id>
<content type='text'>
commit 017fcdc30cdae18c0946eef1ece1f14b4c7897ba upstream.

This patch corrects iATU programming for cfg1, io and mem viewport.  Enable
ATU only after configuring it.

Signed-off-by: Mohit Kumar &lt;mohit.kumar@st.com&gt;
Signed-off-by: Ajay Khandelwal &lt;ajay.khandelwal@st.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>PCI: designware: Fix RC BAR to be single 64-bit non-prefetchable memory BAR</title>
<updated>2014-05-05T12:24:35Z</updated>
<author>
<name>Mohit Kumar</name>
<email>mohit.kumar@st.com</email>
</author>
<published>2014-02-19T12:04:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=47495e3596d95047168e4a831b2a8ccdf7efafaa'/>
<id>urn:sha1:47495e3596d95047168e4a831b2a8ccdf7efafaa</id>
<content type='text'>
commit dbffdd6862e67d60703f2df66c558bf448f81d6e upstream.

The Synopsys PCIe core provides one pair of 32-bit BARs (BAR 0 and BAR 1).
The BARs can be configured as follows:

  - One 64-bit BAR: BARs 0 and 1 are combined to form a single 64-bit BAR
  - Two 32-bit BARs: BARs 0 and 1 are two independent 32-bit BARs

This patch corrects 64-bit, non-prefetchable memory BAR configuration
implemented in dw driver.

Signed-off-by: Mohit Kumar &lt;mohit.kumar@st.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Cc: Pratyush Anand &lt;pratyush.anand@st.com&gt;
Cc: Jingoo Han &lt;jg1.han@samsung.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>PCI: mvebu: move clock enable before register access</title>
<updated>2014-04-13T14:33:22Z</updated>
<author>
<name>Sebastian Hesselbarth</name>
<email>sebastian.hesselbarth@gmail.com</email>
</author>
<published>2013-08-13T12:25:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5829b0e06f0a34f3c3e1aca4851467f61918aeab'/>
<id>urn:sha1:5829b0e06f0a34f3c3e1aca4851467f61918aeab</id>
<content type='text'>
commit b42285f66f871a9898a0e79e2d74bc7e7a101995 upstream.

The clock passed to PCI controller found on MVEBU SoCs may come from a
clock gate. This requires the clock to be enabled before any registers
are accessed. Therefore, move the clock enable before register iomap to
ensure it is enabled.

Signed-off-by: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>PCI: Enable INTx in pci_reenable_device() only when MSI/MSI-X not enabled</title>
<updated>2014-03-24T08:44:57Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2014-03-11T20:22:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=16cd17980ba1e24c2bfef4182f43487fac62a7a1'/>
<id>urn:sha1:16cd17980ba1e24c2bfef4182f43487fac62a7a1</id>
<content type='text'>
commit 3cdeb713dc66057b50682048c151eae07b186c42 upstream.

Andreas reported that after 1f42db786b14 ("PCI: Enable INTx if BIOS left
them disabled"), pciehp surprise removal stopped working.

This happens because pci_reenable_device() on the hotplug bridge (used in
the pciehp_configure_device() path) clears the Interrupt Disable bit, which
apparently breaks the bridge's MSI hotplug event reporting.

Previously we cleared the Interrupt Disable bit in do_pci_enable_device(),
which is used by both pci_enable_device() and pci_reenable_device().  But
we use pci_reenable_device() after the driver may have enabled MSI or
MSI-X, and we *set* Interrupt Disable as part of enabling MSI/MSI-X.

This patch clears Interrupt Disable only when MSI/MSI-X has not been
enabled.

Fixes: 1f42db786b14 PCI: Enable INTx if BIOS left them disabled
Link: https://bugzilla.kernel.org/show_bug.cgi?id=71691
Reported-and-tested-by: Andreas Noever &lt;andreas.noever@gmail.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
CC: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>PCI: Drop warning about drivers that don't use pci_set_master()</title>
<updated>2014-03-12T12:25:35Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2013-11-05T20:34:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6dc265bdd04069ee1b1deda71b5bdfa4cb280e1b'/>
<id>urn:sha1:6dc265bdd04069ee1b1deda71b5bdfa4cb280e1b</id>
<content type='text'>
commit fbeeb822f6f45cadf154d7b7cff1c13537cd799d upstream.

f41f064cf4 ("PCI: Workaround missing pci_set_master in pci drivers") made
pci_enable_bridge() turn on bus mastering if the driver hadn't done so
already.  It also added a warning in this case.  But there's no reason to
warn about it unless it's actually a problem to enable bus mastering here.

This patch drops the warning because I'm not aware of any such problem.

Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
CC: Paul Bolle &lt;pebolle@tiscali.nl&gt;

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
</feed>
