Luck, Tony | 29 Jul 19:49 2014
Picon

[PATCH] Fix build warnings in aer.h

From: Mike Qiu <qiudayu <at> linux.vnet.ibm.com>

build log:

In file included from include/ras/ras_event.h:11:0,
                 from drivers/ras/ras.c:13:
include/linux/aer.h:42:129: warning: ‘struct pci_dev’
declared inside parameter list [enabled by default]

include/linux/aer.h:42:129: warning: its scope is only
this definition or declaration, which is probably not
what you want [enabled by default]

include/linux/aer.h:46:130: warning: ‘struct pci_dev’
declared inside parameter list [enabled by default]

include/linux/aer.h:50:136: warning: ‘struct pci_dev’
declared inside parameter list [enabled by default]

include/linux/aer.h:57:14: warning: ‘struct pci_dev’
declared inside parameter list [enabled by default]

Signed-off-by: Mike Qiu <qiudayu <at> linux.vnet.ibm.com>
Acked-by: Randy Dunlap <rdunlap <at> infradead.org>
Tested-by: Randy Dunlap <rdunlap <at> infradead.org>
Acked-by: Bjorn Helgaas <bhelgaas <at> google.com>
Signed-off-by: Tony Luck <tony.luck <at> intel.com>
---
 include/linux/aer.h | 2 ++
 1 file changed, 2 insertions(+)
(Continue reading)

Edward Cree | 29 Jul 16:04 2014

pci_sriov_set_totalvfs question

Not sure if this list is the right place to ask, but:
I'm working on fallback code in the sfc driver where in some
configurations the device won't support using VFs, but will still
advertise them as present [1].  This is discovered at PF probe time, and
what I want to do is just set sriov_totalvfs to 0 in this case.

As far as I can tell, pci_sriov_set_totalvfs (drivers/pci/iov.c) is the
function to call, but I'm confused by the comment on that function which
states "Should be called from PF driver's probe routine with device's
mutex held."

Specifically, it's unclear what mutex is meant.  struct pci_dev doesn't
have one; struct pci_sriov /does/ but the struct is only defined in
drivers/pci/pci.h which I don't appear to be able to include from a
driver.  There's also one in the 'struct device dev' member of struct
pci_dev, but that seems rather unlikely.

Also, the wording of the comment makes me wonder if being in the PF
probe routine /implies/ that the mutex is held already, in which case I
don't have to do anything.  This is supported by the only callers,
igb_probe (via igb_sw_init and igb_probe_vfs) and ixgbe_probe, not
appearing to take any mutexes before calling pci_sriov_set_totalvfs.

Please CC on replies, as I'm not subscribed to the list.

Thanks,
-Edward

[1] SFC9120-based NICs support multiple PFs per port and these can be
used as a kind of "poor-man's SR-IOV" (we're calling it 'PF-IOV') by
(Continue reading)

Noemi Alvarez | 29 Jul 10:23 2014
Picon

Hello


I want to keep up with you with hope for friendship if you are interested.
If you don't mind i will like you to write me back. I am waiting to read
from you, because i have something important and urgent to discuss with
you. I will also send some of my beautiful photos to you.

Yijing Wang | 29 Jul 10:23 2014

[PATCH] PCI: update device mps when doing pci hotplug

Currently we don't update device's mps value when doing
pci device hot-add. The hot-added device's mps will be set
to default value (128B). But the upstream port device's mps
may be larger than 128B which was set by firmware during
system bootup. In this case the new added device may not
work normally. This issue was found in huawei 5885 server
and Dell R620 server. And if we run the platform with windows,
this problem is gone. This patch try to update the hot added
device mps equal to its parent mps, if device mpss < parent mps,
print warning.

References: https://bugzilla.kernel.org/show_bug.cgi?id=60671
Reported-by: Keith Busch <keith.busch <at> intel.com>
Reported-by: Jordan_Hargrave <at> Dell.com
Reported-by: Yijing Wang <wangyijing <at> huawei.com>
Signed-off-by: Yijing Wang <wangyijing <at> huawei.com>
Cc: Jon Mason <jdmason <at> kudzu.us>
---
 drivers/pci/probe.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index e3cf8a2..583ca52 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
 <at>  <at>  -1613,6 +1613,44  <at>  <at>  static void pcie_write_mrrs(struct pci_dev *dev)
 		dev_err(&dev->dev, "MRRS was unable to be configured with a safe value.  If problems are experienced,
try running with pci=pcie_bus_safe\n");
 }

(Continue reading)

Yijing Wang | 29 Jul 10:23 2014

[PATCH] Update device mps when doing pci hotplug

Hi Bjorn,
	Keith Busch and jordan hargrave reported the same issue about
mps issue after pci device hot add. It seems that more firmware
set device mps >=256B default. So can you pick up this patch to fix
this issue temporarily.

Yijing Wang (1):
  PCI: update device mps when doing pci hotplug

 drivers/pci/probe.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

Yijing Wang | 29 Jul 10:17 2014

[PATCH] PCI: update device mps when doing pci hotplug

Currently we don't update device's mps value when doing
pci device hot-add. The hot-added device's mps will be set
to default value (128B). But the upstream port device's mps
may be larger than 128B which was set by firmware during
system bootup. In this case the new added device may not
work normally. This issue was found in huawei 5885 server
and Dell R620 server. And if we run the platform with windows,
this problem is gone. This patch try to update the hot added
device mps equal to its parent mps, if device mpss < parent mps,
print warning.

References: https://bugzilla.kernel.org/show_bug.cgi?id=60671
Reported-by: Keith Busch <keith.busch <at> intel.com>
Reported-by: Jordan_Hargrave <at> Dell.com
Reported-by: Yijing Wang <wangyijing <at> huawei.com>
Signed-off-by: Yijing Wang <wangyijing <at> huawei.com>
Cc: Jon Mason <jdmason <at> kudzu.us>
---
 drivers/pci/probe.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index e3cf8a2..583ca52 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
 <at>  <at>  -1613,6 +1613,44  <at>  <at>  static void pcie_write_mrrs(struct pci_dev *dev)
 		dev_err(&dev->dev, "MRRS was unable to be configured with a safe value.  If problems are experienced,
try running with pci=pcie_bus_safe\n");
 }

(Continue reading)

Yijing Wang | 29 Jul 10:17 2014

[PATCH] Update device mps when doing pci hotplug

Hi Bjorn,
	Keith Busch and jordan hargrave reported the same issue about
mps issue after pci device hot add. It seems that more firmware
set device mps >=256B default. So can you pick up this patch to fix
this issue temporarily.

Yijing Wang (1):
  PCI: update device mps when doing pci hotplug

 drivers/pci/probe.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

Ethan Zhao | 29 Jul 04:16 2014
Picon

[PATCH 1/4 v2] PCI: introduce helper functions for device flag operation

This patch introduced three helper functions to hide direct
device flag operation.

void pci_set_dev_assigned(struct pci_dev *pdev);
void pci_set_dev_deassigned(struct pci_dev *pdev);
bool pci_is_dev_assigned(struct pci_dev *pdev);

Signed-off-by: Ethan Zhao <ethan.zhao <at> oracle.com>
---
 v2: simplify unnecessory ternary operation in function pci_is_dev_assigned();
 include/linux/pci.h |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index aab57b4..5f6f8fa 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
 <at>  <at>  -1129,6 +1129,19  <at>  <at>  resource_size_t pcibios_window_alignment(struct pci_bus *bus,

 int pci_set_vga_state(struct pci_dev *pdev, bool decode,
 		      unsigned int command_bits, u32 flags);
+/* helper functions for operation of device flag */
+static inline void pci_set_dev_assigned(struct pci_dev *pdev)
+{
+	pdev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
+}
+static inline void pci_set_dev_deassigned(struct pci_dev *pdev)
+{
+	pdev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED;
+}
(Continue reading)

Jisheng Zhang | 29 Jul 03:33 2014

[PATCH v3] PCI: tegra: add missing cleanup in error path and teardown_irq

We should call tegra_msi_free() to free the MSI bit if
irq_create_mapping() fails. And we need to dispose the IRQ mapping
during IRQ teardown.

Signed-off-by: Jisheng Zhang <jszhang <at> marvell.com>
---
 drivers/pci/host/pci-tegra.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/host/pci-tegra.c b/drivers/pci/host/pci-tegra.c
index 083cf37..4ccc418 100644
--- a/drivers/pci/host/pci-tegra.c
+++ b/drivers/pci/host/pci-tegra.c
 <at>  <at>  -1203,8 +1203,10  <at>  <at>  static int tegra_msi_setup_irq(struct msi_chip *chip, struct pci_dev *pdev,
 		return hwirq;

 	irq = irq_create_mapping(msi->domain, hwirq);
-	if (!irq)
+	if (!irq) {
+		tegra_msi_free(msi, hwirq);
 		return -EINVAL;
+	}

 	irq_set_msi_desc(irq, desc);

 <at>  <at>  -1222,8 +1224,10  <at>  <at>  static void tegra_msi_teardown_irq(struct msi_chip *chip, unsigned int irq)
 {
 	struct tegra_msi *msi = to_tegra_msi(chip);
 	struct irq_data *d = irq_get_irq_data(irq);
+	unsigned long hwirq = d->hwirq;
(Continue reading)

Arnd Bergmann | 28 Jul 15:57 2014
Picon

Re: [linux-devel:devel-athens-arm-201407281729 9/13] ERROR: "dw_pcie_host_init" [drivers/pci/host/pcie-spear13xx.ko] undefined!

On Monday 28 July 2014 21:34:00 kbuild test robot wrote:
> Hi Wu,
> 
> FYI, this happens on a merge commit, which indicates conflicting changes with one of the below merged branches.
> 
> 46b7e36 Merge 'arm-soc/for-next' into devel-athens-arm-201407281729
> ed67b70 Merge 'sound/for-next' into devel-athens-arm-201407281729
> df8c9cc Merge 's390/features' into devel-athens-arm-201407281729
> a97b04d Merge 'powerpc/test' into devel-athens-arm-201407281729
> 6baf298 Merge 'powerpc/next' into devel-athens-arm-201407281729
> e216a37 Merge 'tip/sched/core' into devel-athens-arm-201407281729
> 6c9d717 Merge 'tip/perf/core' into devel-athens-arm-201407281729
> ab83da1 Merge 'ath6kl/ath-next-test' into devel-athens-arm-201407281729
> 86fc732 0day base guard for 'devel-athens-arm-201407281729'
> 64aa90f Linux 3.16-rc7
> 
> 
> tree:   git://internal_merge_and_test_tree devel-athens-arm-201407281729
> head:   ed9c75e87f52f14597c4db2ba5b45950f2e09c1a
> commit: 46b7e363b2006f212f930aa284b0ad3ca6d3fe48 [9/13] Merge 'arm-soc/for-next' into devel-athens-arm-201407281729
> config: make ARCH=arm allmodconfig
> 
> All error/warnings:
> 
> >> ERROR: "dw_pcie_host_init" [drivers/pci/host/pcie-spear13xx.ko] undefined!
> >> ERROR: "dw_handle_msi_irq" [drivers/pci/host/pcie-spear13xx.ko] undefined!
> >> ERROR: "dw_pcie_msi_init" [drivers/pci/host/pcie-spear13xx.ko] undefined!
> >> ERROR: "dw_pcie_cfg_write" [drivers/pci/host/pcie-spear13xx.ko] undefined!
> >> ERROR: "dw_pcie_cfg_read" [drivers/pci/host/pcie-spear13xx.ko] undefined!
> >> ERROR: "dw_pcie_setup_rc" [drivers/pci/host/pcie-spear13xx.ko] undefined!
(Continue reading)

Jisheng Zhang | 28 Jul 05:45 2014

[PATCH v2] PCI: tegra: add missing cleanup in error path and teardown_irq

We should call tegra_msi_free() to free the msi bit if
irq_create_mapping() fails. And we need to dispose the irq mapping
during irq teardown.

Signed-off-by: Jisheng Zhang <jszhang <at> marvell.com>
---
 drivers/pci/host/pci-tegra.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/host/pci-tegra.c b/drivers/pci/host/pci-tegra.c
index 083cf37..4ccc418 100644
--- a/drivers/pci/host/pci-tegra.c
+++ b/drivers/pci/host/pci-tegra.c
 <at>  <at>  -1203,8 +1203,10  <at>  <at>  static int tegra_msi_setup_irq(struct msi_chip *chip, struct pci_dev *pdev,
 		return hwirq;

 	irq = irq_create_mapping(msi->domain, hwirq);
-	if (!irq)
+	if (!irq) {
+		tegra_msi_free(msi, hwirq);
 		return -EINVAL;
+	}

 	irq_set_msi_desc(irq, desc);

 <at>  <at>  -1222,8 +1224,10  <at>  <at>  static void tegra_msi_teardown_irq(struct msi_chip *chip, unsigned int irq)
 {
 	struct tegra_msi *msi = to_tegra_msi(chip);
 	struct irq_data *d = irq_get_irq_data(irq);
+	unsigned long hwirq = d->hwirq;
(Continue reading)


Gmane