Bjorn Helgaas | 18 Apr 17:42 2014
Picon

[GIT PULL] PCI updates for v3.15

Hi Linus,

These are fixes for a powerpc NULL pointer dereference, an OF
interrupt mapping issue on some of the new host bridges, and a DesignWare
iATU issue.

Bjorn

The following changes since commit c9eaa447e77efe77b7fa4c953bd62de8297fd6c5:

  Linux 3.15-rc1 (2014-04-13 14:18:35 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci-v3.15-fixes-1

for you to fetch changes up to f5d3352b2751f8de7e06e23a04ac0b4c474075e9:

  PCI: tegra: Use new OF interrupt mapping when possible (2014-04-16 10:24:32 -0600)

----------------------------------------------------------------
PCI updates for v3.15:

  Host bridge drivers
    - Fix OF interrupt mapping for DesignWare, R-Car, Tegra (Lucas Stach)
    - Fix DesignWare iATU programming (Mohit Kumar)

  Miscellaneous
    - Fix powerpc NULL dereference from list_for_each_entry() update (Mike Qiu)

(Continue reading)

Thomas Petazzoni | 18 Apr 14:19 2014

[PATCH 0/7] Fixes for Armada 370/XP PCIe

Hello,

This set of commits fixes a number of problems in the PCIe support of
the Armada 370 and Armada XP SoCs, allowing to use PCIe devices that
were not properly supported until now.

Due to the interaction of PCIe with other subsystems, the fixes are
not limited to drivers/pci, but also touch drivers/bus and
drivers/irqchip.

Here are the details of the patches:

 * The first three patches are fixes in the MSI handling. They fix
   problems with PCIe device drivers trying to use MSI-X (which we
   don't support), and incorrect freeing of MSIs causing kernel panics
   when PCIe device drivers try to allocate/free MSIs several times.

   They touch drivers/irqchip/ only, and they are independent from the
   rest of the series, both from a build and a runtime point of view.

   These bugs exist since the MSI support was added, in v3.13. The
   commits carry the necessary Fixes and Cc to stable informations.

 * The fourth patch fixes an off-by-one in the computed size of MBus
   windows. This only worked because the mvebu-mbus driver was
   silently accepting invalid sizes. I've marked it for stable because
   it really is bug, but even though it's not visible by itself, it is
   needed for other patches in the series.

   This patch touches drivers/pci/host, and should probably be taken
(Continue reading)

Thomas Petazzoni | 18 Apr 14:08 2014

[PATCH 0/7] Fixes for Armada 370/XP PCIe

Hello,

This set of commits fixes a number of problems in the PCIe support of
the Armada 370 and Armada XP SoCs. Due to the interaction of PCIe with
other subsystems, the fixes are not limited to drivers/pci, but also
touch drivers/bus and drivers/irqchip.

Here are the details of the patches:

 * The first three patches are fixes in the MSI handling. They fix
   problems with PCIe device drivers trying to use MSI-X (which we
   don't support), and incorrect freeing of MSIs causing kernel panics
   when PCIe device drivers try to allocate/free MSIs several times.

   They touch drivers/irqchip/ only, and they are independent from the
   rest of the series, both from a build and a runtime point of view.

   These bugs exist since the MSI support was added, in v3.13. The
   commits carry the necessary Fixes and Cc to stable informations.

 * The fourth patch fixes an off-by-one in the computed size of MBus
   windows. This only worked because the mvebu-mbus driver was
   silently accepting invalid sizes. I've marked it for stable because
   it really is bug, but even though it's not visible by itself, it is
   needed for other patches in the series.

   This patch touches drivers/pci/host, and should probably be taken
   by the mvebu maintainers, with the Ack of the PCI maintainer, as it
   is a runtime dependency for the next patch.

(Continue reading)

Bjorn Helgaas | 17 Apr 22:20 2014
Picon

[PATCH] PNP: Work around BIOS defects in Intel MCH area reporting

Work around BIOSes that don't report the entire Intel MCH area.

MCHBAR is not an architected PCI BAR, so MCH space is usually reported as a
PNP0C02 resource.  The MCH space was once 16KB, but is 32KB in newer parts.
Some BIOSes still report a PNP0C02 resource that is only 16KB, which means
the rest of the MCH space is consumed but unreported.

This can cause resource map sanity check warnings or (theoretically) a
device conflict if we assigned the unreported space to another device.

The Intel perf event uncore driver tripped over this when it claimed the
MCH region:

  resource map sanity check conflict: 0xfed10000 0xfed15fff 0xfed10000 0xfed13fff pnp 00:01
  Info: mapping multiple BARs. Your kernel is fine.

To prevent this, if we find a PNP0C02 resource that covers part of the MCH
space, extend it to cover the entire space.

Link: http://lkml.kernel.org/r/20140224162400.GE16457 <at> pd.tnic
Reported-by: Borislav Petkov <bp <at> alien8.de>
Tested-by: Borislav Petkov <bp <at> suse.de>
Signed-off-by: Bjorn Helgaas <bhelgaas <at> google.com>
Acked-by: Borislav Petkov <bp <at> suse.de>
---
 drivers/pnp/quirks.c |   74 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
index 258fef272ea7..90b8c12c220d 100644
(Continue reading)

Sebastian Ott | 17 Apr 19:48 2014
Picon

[PATCH] pci: remove pcibios_add_platform_entries

Remove pcibios_add_platform_entries. Architecture specific attributes
can be achieved by setting pdev->dev.groups .

Link: https://lkml.kernel.org/r/alpine.LFD.2.11.1404141101500.1529 <at> denkbrett
Signed-off-by: Sebastian Ott <sebott <at> linux.vnet.ibm.com>
---
 drivers/pci/pci-sysfs.c |   10 ----------
 include/linux/pci.h     |    1 -
 2 files changed, 11 deletions(-)

--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
 <at>  <at>  -1272,11 +1272,6  <at>  <at>  static struct bin_attribute pcie_config_
 	.write = pci_write_config,
 };

-int __weak pcibios_add_platform_entries(struct pci_dev *dev)
-{
-	return 0;
-}
-
 static ssize_t reset_store(struct device *dev,
 			   struct device_attribute *attr, const char *buf,
 			   size_t count)
 <at>  <at>  -1392,11 +1387,6  <at>  <at>  int __must_check pci_create_sysfs_dev_fi
 		pdev->rom_attr = attr;
 	}

-	/* add platform-specific attributes */
-	retval = pcibios_add_platform_entries(pdev);
(Continue reading)

Yinghai Lu | 17 Apr 18:40 2014

[PATCH v9] PCI: Try best to allocate pref mmio 64bit above 4g

When one of children resources does not support MEM_64, MEM_64 for
bridge get reset, so pull down whole pref resource on the bridge under 4G.

If the bridge support pref mem 64, will only allocate that with pref mem64 to
children that support it.
For children resources if they only support pref mem 32, will allocate them
from non pref mem instead.

If the bridge only support 32bit pref mmio, will still have all children pref
mmio under that.

-v2: Add release bridge res support with bridge mem res for pref_mem children res.
-v3: refresh and make it can be applied early before for_each_dev_res patchset.
-v4: fix non-pref mmio 64bit support found by Guo Chao.
-v7: repost as ibm's powerpc system work again when
    1. petiboot boot kernel have this patch.
    2. or mellanox driver added new .shutdown member.
    discussion could be found at:
	 http://marc.info/?t=138968064500001&r=1&w=2
-v8: update comment a bit
     drop change in __pci_assign_resource()
-v9: put back change __pci_assign_resource()
     to keep sizing and assign in order.

Signed-off-by: Yinghai Lu <yinghai <at> kernel.org>
Tested-by: Guo Chao <yan <at> linux.vnet.ibm.com>
Tested-by: Wei Yang <weiyang <at> linux.vnet.ibm.com>

---
 drivers/pci/setup-bus.c |  143 ++++++++++++++++++++++++++++++++----------------
(Continue reading)

Powerpc: e1000e cannot work normally after system resume from sleep(standby)

Hi all,

Now I'm developing Freescale PCIe power management feature. The following is my PCIe
suspend/resume code.

when I test system wake up from sleep(STANDBY), I got below calltrace. Looks like e1000e
cannot transfer data, maybe watchdog has some issue. Or maybe some of the other causes.
I think this is not root cause. Because If changed mdelay(10) to 20ms. E1000 will work normal.
Maybe e1000e need more time to recover? Or ?

Here are my test results:
E1000e plug in PCIe slot 1, we need to delay 10ms.
E1000e plug in PCIe slot 2, we need to delay 20ms.
E1000e plug in PCIe slot 3, we need to delay 60ms.

Anyone have any idea about this?

*Suspend flow*: 
if (fsl_pcie_check_link(hose))
		return;

/* Send PME_Turn_Off Message Request */
setbits32(&pci->pex_pmcr, PEX_PMCR_PTOMR);

/* Wait trun off done */
/* RC will get this detect quickly */
for (i = 0; i < 50; i++) {
	dr = in_be32(&pci->pex_pme_mes_dr);
	if (dr & ENL23_DETECT_BIT) {
			out_be32(&pci->pex_pme_mes_dr, dr);
(Continue reading)

Yinghai Lu | 17 Apr 06:23 2014

[PATCH v8] PCI: Try best to allocate pref mmio 64bit above 4g

When one of children resources does not support MEM_64, MEM_64 for
bridge get reset, so pull down whole pref resource on the bridge under 4G.

If the bridge support pref mem 64, will only allocate that with pref mem64 to
children that support it.
For children resources if they only support pref mem 32, will allocate them
from non pref mem instead.

If the bridge only support 32bit pref mmio, will still have all children pref
mmio under that.

-v2: Add release bridge res support with bridge mem res for pref_mem children res.
-v3: refresh and make it can be applied early before for_each_dev_res patchset.
-v4: fix non-pref mmio 64bit support found by Guo Chao.
-v7: repost as ibm's powerpc system work again when
    1. petiboot boot kernel have this patch.
    2. or mellanox driver added new .shutdown member.
    discussion could be found at:
	 http://marc.info/?t=138968064500001&r=1&w=2
-v8: update comment a bit.
     drop change in __pci_assign_resource()

Signed-off-by: Yinghai Lu <yinghai <at> kernel.org>
Tested-by: Guo Chao <yan <at> linux.vnet.ibm.com>
Tested-by: Wei Yang <weiyang <at> linux.vnet.ibm.com>

---
 drivers/pci/setup-bus.c |  143 ++++++++++++++++++++++++++++++++----------------
 1 file changed, 98 insertions(+), 45 deletions(-)

(Continue reading)

Faerbit | 16 Apr 22:55 2014
Picon

Hibernation problem with 3.14 kernel

Hi everyone,

I hope I am posting in the right section.
Since the upgrade to kernel 3.14 I am unable to hibernate.
I am using Archlinux.
I am hibernating with "systemctl hibernate".
It always fails to freeze device 00:08:

journalctl tells me:
kernel: serial 00:08: disable failed
kernel: dpm_run_callback(): pnp_bus_freeze+0x0/0x20 returns -5
kernel: PM: Device 00:08 failed to freeze: error -5

lspci -v tells me:

0:08.0 PCI bridge: NVIDIA Corporation MCP78S [GeForce 8200] PCI Bridge
(rev a1) (prog-if 01 [Subtractive decode])
    Flags: bus master, 66MHz, fast devsel, latency 0
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
    Capabilities: [b8] Subsystem: ASUSTeK Computer Inc. Device 82e7
    Capabilities: [8c] HyperTransport: MSI Mapping Enable+ Fixed-

My mainboard is a ASUS M4N98TD EVO.

What does error code -5 mean? How do I debug this further? Should I file
a bug?

Cheers,

Faerbit
(Continue reading)

isabelle | 15 Apr 21:47 2014
Picon

spende /Donation

Hallo
Wenn ich diese Nachricht zu senden wollte, ist dies nicht einfach Zufall. Dies ist, weil Ihre e-Mail vom
elektronischen Roboter gesichert meine WX.7AR BW ausgewählt wurde.
Zunächst möchte ich mich für dieses Eindringen in Ihr Leben zu entschuldigen, obwohl ich zugeben, dass
es mir sehr wichtig. Ich bin Isabelle Vasudev. Ich leide an Krebs im Hals seit nun mehr als 3 Jahre und eine
halbe und es leider, mein Arzt hat gerade informiert mich, dass ich bin voller unheilbar und, dass meine
Tage, wegen meinen etwas gezählt sind abgebaut Zustand. Ich bin eine Witwe und ich habe keine Kind, das
ich beginne zu bedauern.
In der Tat ist der Grund, warum ich Sie kontaktieren bin, möchte ich einen Teil von meinem Grundstück zu
spenden, weil ich niemand, wer die Erben konnte. Ich habe fast mein ganzes Zeug, darunter ein Unternehmen
der Export von Holz, Gummi und Stahl-Industrie in Afrika, wo ich wohne nun mehr 10 Jahren, verkauft. Ein
großer Teil der Gelder gesammelt wurde mit unterschiedlichen Verbänden humanitären Charakter
überall in der Welt, aber besonders hier in Afrika bezahlt.
Im Hinblick auf den Rest der Summe genau in Höhe von 750.000, 00euros (sieben hundert und fünfzig tausend
Euro) auf eine gesperrte Mitarbeiter-Account, meine letzte wünschen würde Sie es spenden, so dass Sie
in Ihrer Branche und vor allem den humanitären investieren können. Ich bin ganz bewusst was ich zu tun
beabsichtigen, und ich denke, trotz der Tatsache, die wir nicht wissen, werdet ihr diese Summe gut
nutzen. Ich bitte Sie, bitte dieses Erbe zu akzeptieren, ohne jedoch Fragen Sie alles, was in
zurückgeben wenn es nicht immer denken, gutes zu tun, um dich herum, was ich nicht getan habe, in meiner Existenz.
Das heißt, wird auf einer verantwortlichen Person und besonders gutem Glauben fallen zu lassen
beruhigt, ich möchte bitten, dass Sie bitte mich bei den meisten schnell kontaktieren, um weitere
Erklärung über die Gründe für meine Geste und den Verlauf der Dinge zu geben. Bitte kontaktieren Sie
mich so bald wie möglich, wenn Sie mein Angebot akzeptieren.
Gott möge mit dir sein!
Ich fordere Sie auf, mich über meine persönliche e-Mail-Adresse zu kontaktieren:
Isabelle.claude654 <at> laposte.net
Der Frieden und Barmherzigkeit Gottes möge mit dir sein.
Mrs Isabelle

(Continue reading)

Alexander Gordeev | 15 Apr 11:37 2014
Picon

[PATCH] qlcnic: Fix MSI-X initialization code

Function qlcnic_setup_tss_rss_intr() might enter endless
loop in case pci_enable_msix() contiguously returns a
positive number of MSI-Xs that could have been allocated.
Besides, the function contains 'err = -EIO;' assignment
that never could be reached. This update fixes the
aforementioned issues.

Cc: Shahed Shaikh <shahed.shaikh <at> qlogic.com>
Cc: Dept-HSGLinuxNICDev <at> qlogic.com
Cc: netdev <at> vger.kernel.org
Cc: linux-pci <at> vger.kernel.org

Signed-off-by: Alexander Gordeev <agordeev <at> redhat.com>
---
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c |   28 ++++++++++++---------
 1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
index 309d056..2e615d5 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
 <at>  <at>  -670,7 +670,7  <at>  <at>  int qlcnic_setup_tss_rss_intr(struct qlcnic_adapter *adapter)
 	else
 		num_msix += adapter->drv_tx_rings;

-	if (adapter->drv_rss_rings  > 0)
+	if (adapter->drv_rss_rings > 0)
 		num_msix += adapter->drv_rss_rings;
 	else
 		num_msix += adapter->drv_sds_rings;
(Continue reading)


Gmane