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-2410:02:38.000000000 +0530+++ linux-2.6.38.4/arch/powerpc/sysdev/ppc4xx_pci.c 2011-05-2410: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.