All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20140410201201.GA12661@obsidianresearch.com>

diff --git a/a/1.txt b/N1/1.txt
index 2aaf850..9ad09fc 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -81,3 +81,10 @@ Any change if you use other windows?
                                 return mvebu_mbus_setup_window(mbus, win, base,
 
 Jason
+-------------- next part --------------
+A non-text attachment was scrubbed...
+Name: pex-reset.diff
+Type: text/x-diff
+Size: 1897 bytes
+Desc: not available
+URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140410/e9227692/attachment.bin>
diff --git a/a/2.hdr b/a/2.hdr
deleted file mode 100644
index 5af5b73..0000000
--- a/a/2.hdr
+++ /dev/null
@@ -1,2 +0,0 @@
-Content-Type: text/x-diff; charset=us-ascii
-Content-Disposition: attachment; filename="pex-reset.diff"
diff --git a/a/2.txt b/a/2.txt
deleted file mode 100644
index 22f406f..0000000
--- a/a/2.txt
+++ /dev/null
@@ -1,67 +0,0 @@
-diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c
-index 0d638b7..7b7d19a 100644
---- a/drivers/pci/host/pci-mvebu.c
-+++ b/drivers/pci/host/pci-mvebu.c
-@@ -21,6 +21,7 @@
- #include <linux/of_gpio.h>
- #include <linux/of_pci.h>
- #include <linux/of_platform.h>
-+#include <linux/clk-provider.h>
- 
- /*
-  * PCIe unit register offsets.
-@@ -973,6 +974,7 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
- 	for_each_child_of_node(pdev->dev.of_node, child) {
- 		struct mvebu_pcie_port *port = &pcie->ports[i];
- 		enum of_gpio_flags flags;
-+		bool enabled;
- 
- 		if (!of_device_is_available(child))
- 			continue;
-@@ -1044,6 +1046,9 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
- 			continue;
- 		}
- 
-+		// Does this work on MVEBU?
-+		enabled = __clk_is_enabled(port->clk);
-+
- 		ret = clk_prepare_enable(port->clk);
- 		if (ret)
- 			continue;
-@@ -1057,7 +1062,35 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
- 			continue;
- 		}
- 
--		mvebu_pcie_set_local_dev_nr(port, 1);
-+		if (!enabled) {
-+			u32 reg;
-+			unsigned int tries;
-+
-+			/* The clock is being turned on for the first time, do
-+			 * a PHY reset
-+			 */
-+			dev_info(&pdev->dev,
-+				 "PCIe%d.%d: performing link reset\n",
-+				 port->port, port->lane);
-+			reg = mvebu_readl(port, PCIE_CTRL_OFF);
-+			mvebu_writel(port,
-+				     reg & ~BIT(30), // Conf_TrainingDisable
-+				     PCIE_CTRL_OFF);
-+			do {
-+				udelay(100); // Guess?
-+			} while (mvebu_pcie_link_up(port));
-+			mvebu_pcie_set_local_dev_nr(port, 1);
-+			mvebu_writel(port, reg | ~BIT(30), PCIE_CTRL_OFF);
-+
-+			for (tries = 0;
-+			     !mvebu_pcie_link_up(port) && tries != 100; tries++)
-+				udelay(100);
-+		} else {
-+			/* We expect the bootloader has setup the port and
-+			 * waited for the link to go up
-+			 */
-+			mvebu_pcie_set_local_dev_nr(port, 1);
-+		}
- 
- 		port->dn = child;
- 		spin_lock_init(&port->conf_lock);
diff --git a/a/content_digest b/N1/content_digest
index 7b68040..21b3fc2 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,23 +1,11 @@
  "ref\020140410181953.50ccfcc3@skate\0"
  "ref\020140410165733.GB23104@obsidianresearch.com\0"
  "ref\020140410200153.46669e0c@skate\0"
- "From\0Jason Gunthorpe <jgunthorpe@obsidianresearch.com>\0"
- "Subject\0Re: Fixing PCIe issues on Armada XP\0"
+ "From\0jgunthorpe@obsidianresearch.com (Jason Gunthorpe)\0"
+ "Subject\0Fixing PCIe issues on Armada XP\0"
  "Date\0Thu, 10 Apr 2014 14:12:01 -0600\0"
- "To\0Thomas Petazzoni <thomas.petazzoni@free-electrons.com>\0"
- "Cc\0Neil Greatorex <neil@fatboyfat.co.uk>"
-  Willy Tarreau <w@1wt.eu>
-  Matthew Minter <matthew_minter@xyratex.com>
-  Gerlando Falauto <gerlando.falauto@keymile.com>
-  linux-arm-kernel@lists.infradead.org
-  Jason Cooper <jason@lakedaemon.net>
- " Gregory Cl\303\251ment <gregory.clement@free-electrons.com>"
-  Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
-  Andrew Lunn <andrew@lunn.ch>
-  linux-pci@vger.kernel.org
-  Tawfik Bayouk <tawfik@marvell.com>
- " Lior Amsalem <alior@marvell.com>\0"
- "\01:1\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
+ "\00:1\0"
  "b\0"
  "On Thu, Apr 10, 2014 at 08:01:53PM +0200, Thomas Petazzoni wrote:\n"
  "> > Can you run Neil's patch and see if your system behaves the same?\n"
@@ -101,76 +89,13 @@
  "                        if (mvebu_mbus_window_is_free(mbus, win))\n"
  "                                return mvebu_mbus_setup_window(mbus, win, base,\n"
  "\n"
- Jason
- "\01:2\0"
- "fn\0pex-reset.diff\0"
- "b\0"
- "diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c\n"
- "index 0d638b7..7b7d19a 100644\n"
- "--- a/drivers/pci/host/pci-mvebu.c\n"
- "+++ b/drivers/pci/host/pci-mvebu.c\n"
- "@@ -21,6 +21,7 @@\n"
- " #include <linux/of_gpio.h>\n"
- " #include <linux/of_pci.h>\n"
- " #include <linux/of_platform.h>\n"
- "+#include <linux/clk-provider.h>\n"
- " \n"
- " /*\n"
- "  * PCIe unit register offsets.\n"
- "@@ -973,6 +974,7 @@ static int mvebu_pcie_probe(struct platform_device *pdev)\n"
- " \tfor_each_child_of_node(pdev->dev.of_node, child) {\n"
- " \t\tstruct mvebu_pcie_port *port = &pcie->ports[i];\n"
- " \t\tenum of_gpio_flags flags;\n"
- "+\t\tbool enabled;\n"
- " \n"
- " \t\tif (!of_device_is_available(child))\n"
- " \t\t\tcontinue;\n"
- "@@ -1044,6 +1046,9 @@ static int mvebu_pcie_probe(struct platform_device *pdev)\n"
- " \t\t\tcontinue;\n"
- " \t\t}\n"
- " \n"
- "+\t\t// Does this work on MVEBU?\n"
- "+\t\tenabled = __clk_is_enabled(port->clk);\n"
- "+\n"
- " \t\tret = clk_prepare_enable(port->clk);\n"
- " \t\tif (ret)\n"
- " \t\t\tcontinue;\n"
- "@@ -1057,7 +1062,35 @@ static int mvebu_pcie_probe(struct platform_device *pdev)\n"
- " \t\t\tcontinue;\n"
- " \t\t}\n"
- " \n"
- "-\t\tmvebu_pcie_set_local_dev_nr(port, 1);\n"
- "+\t\tif (!enabled) {\n"
- "+\t\t\tu32 reg;\n"
- "+\t\t\tunsigned int tries;\n"
- "+\n"
- "+\t\t\t/* The clock is being turned on for the first time, do\n"
- "+\t\t\t * a PHY reset\n"
- "+\t\t\t */\n"
- "+\t\t\tdev_info(&pdev->dev,\n"
- "+\t\t\t\t \"PCIe%d.%d: performing link reset\\n\",\n"
- "+\t\t\t\t port->port, port->lane);\n"
- "+\t\t\treg = mvebu_readl(port, PCIE_CTRL_OFF);\n"
- "+\t\t\tmvebu_writel(port,\n"
- "+\t\t\t\t     reg & ~BIT(30), // Conf_TrainingDisable\n"
- "+\t\t\t\t     PCIE_CTRL_OFF);\n"
- "+\t\t\tdo {\n"
- "+\t\t\t\tudelay(100); // Guess?\n"
- "+\t\t\t} while (mvebu_pcie_link_up(port));\n"
- "+\t\t\tmvebu_pcie_set_local_dev_nr(port, 1);\n"
- "+\t\t\tmvebu_writel(port, reg | ~BIT(30), PCIE_CTRL_OFF);\n"
- "+\n"
- "+\t\t\tfor (tries = 0;\n"
- "+\t\t\t     !mvebu_pcie_link_up(port) && tries != 100; tries++)\n"
- "+\t\t\t\tudelay(100);\n"
- "+\t\t} else {\n"
- "+\t\t\t/* We expect the bootloader has setup the port and\n"
- "+\t\t\t * waited for the link to go up\n"
- "+\t\t\t */\n"
- "+\t\t\tmvebu_pcie_set_local_dev_nr(port, 1);\n"
- "+\t\t}\n"
- " \n"
- " \t\tport->dn = child;\n"
- " \t\tspin_lock_init(&port->conf_lock);"
+ "Jason\n"
+ "-------------- next part --------------\n"
+ "A non-text attachment was scrubbed...\n"
+ "Name: pex-reset.diff\n"
+ "Type: text/x-diff\n"
+ "Size: 1897 bytes\n"
+ "Desc: not available\n"
+ URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140410/e9227692/attachment.bin>
 
-d3ff67a333140f7d9218f6eaca765195fe64391106b934caa96611dd40a46002
+0a2153102447170d6a497fbdaff27eafd73951088c62ddd415d8b111b85e7c78

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.