Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1513026
| From | Ray Jui <ray.jui@broadcom.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 02/12] PCI: iproc: Do not reset PAXC when initializing the driver |
| Date | 2016-11-01 01:50 +0100 |
| Message-ID | <syvr3-1lH-11@gated-at.bofh.it> (permalink) |
| References | <syvhn-1ij-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
During initialization, the current iProc PCIe host driver resets PAXC
and the downstream internal endpoint device that PAXC connects to. If
the endpoint device is already loaded with firmware and has started
running from the bootloader stage, this downstream reset causes the
endpoint device to stop working
Signed-off-by: Ray Jui <raj.jui@broadcom.com>
Reviewed-by: Scott Branden <scott.branden@broadcom.com>
---
drivers/pci/host/pcie-iproc.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/pci/host/pcie-iproc.c b/drivers/pci/host/pcie-iproc.c
index a9b9cd8..3f4884a 100644
--- a/drivers/pci/host/pcie-iproc.c
+++ b/drivers/pci/host/pcie-iproc.c
@@ -243,16 +243,13 @@ static void iproc_pcie_reset(struct iproc_pcie *pcie)
{
u32 val;
- if (pcie->ep_is_internal) {
- val = iproc_pcie_read_reg(pcie, IPROC_PCIE_CLK_CTRL);
- val &= ~PAXC_RESET_MASK;
- iproc_pcie_write_reg(pcie, IPROC_PCIE_CLK_CTRL, val);
- udelay(100);
- val |= PAXC_RESET_MASK;
- iproc_pcie_write_reg(pcie, IPROC_PCIE_CLK_CTRL, val);
- udelay(100);
+ /*
+ * PAXC and the internal emulated endpoint device downstream should not
+ * be reset. If firmware has been loaded on the endpoint device at an
+ * earlier boot stage, reset here causes issues
+ */
+ if (pcie->ep_is_internal)
return;
- }
/*
* Select perst_b signal as reset source. Put the device into reset,
--
2.1.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2 00/12] Additional iProc PCIe host support/fixes Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:40 +0100 [PATCH v2 01/12] PCI: iproc: Improve core register population Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:40 +0100 [PATCH v2 04/12] PCI: iproc: Fix exception with multi-function devices Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:40 +0100 [PATCH v2 12/12] PCI: iproc: Add support for the next-gen PAXB controller Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:40 +0100 [PATCH v2 11/12] PCI: iproc: Add PAXBv2 binding info Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:40 +0100 [PATCH v2 05/12] PCI: iproc: Added PAXCv2 related binding Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:40 +0100 [PATCH v2 08/12] PCI: iproc: Making outbound mapping code more generic Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:40 +0100 [PATCH v2 10/12] PCI: iproc: Add inbound DMA mapping support Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:50 +0100 [PATCH v2 09/12] PCI: iproc: Add optional dma-ranges Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:50 +0100 [PATCH v2 07/12] PCI: iproc: Remove redundant outbound properties Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:50 +0100 [PATCH v2 02/12] PCI: iproc: Do not reset PAXC when initializing the driver Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:50 +0100 [PATCH v2 03/12] PCI: iproc: Add BCMA type Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:50 +0100 [PATCH v2 06/12] PCI: iproc: Add PAXC v2 support Ray Jui <ray.jui@broadcom.com> - 2016-11-01 01:50 +0100
csiph-web