Thread (9 messages) 9 messages, 4 authors, 2011-05-25

Re: Kernel cannot see PCI device

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2011-05-24 21:43:36

On Tue, 2011-05-24 at 10:25 +0530, Prashant Bhole wrote:
quoted hunk ↗ jump to hunk
Fixed the problem by soft resetting the PCIe port in the function
ppc460ex_pciex_port_init_hw().
Is it a right thing to do?
Following is the patch for kernel 2.6.38.4:
--------------------------------------------------------------------------------------
--- linux-2.6.38.4/arch/powerpc/sysdev/ppc4xx_pci.c.orig	2011-05-24
10:02:38.000000000 +0530
+++ linux-2.6.38.4/arch/powerpc/sysdev/ppc4xx_pci.c	2011-05-24
10:07:17.000000000 +0530
@@ -876,6 +876,20 @@
 	u32 val;
 	u32 utlset1;

+	switch (port->index)
+	{
+		case 0:
+			mtdcri(SDR0, PESDR0_460EX_PHY_CTL_RST, 0x0);
+			mdelay(10);
+			break;
+		case 1:
+			mtdcri(SDR0, PESDR1_460EX_PHY_CTL_RST, 0x0);
+			mdelay(10);
+			break;
+		default:
+			break;
+	}
+
 	if (port->endpoint)
 		val = PTYPE_LEGACY_ENDPOINT << 20;
 	else
--------------------------------------------------------------------------------------
Well, it's odd that you'd have to do that, maybe something the
bootloader is doing ?

I personally don't mind but I'd like Stefan and/or Tirumala opinion on
this.

Cheers,
Ben.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help