pq2_find_bridges hangs system

Vitaly Bordug vbordug at ru.mvista.com
Sat Dec 3 01:55:09 EST 2005


Alex, 
please probe this. If it will not help, pq2ads_setup_pci should be digged for some board specifics.

Also, check if hose->set_cfg_type is 1 as done for ads8272.

-------- Original Message --------
Subject: [patch 01/34] ppc32: Fix incorrect PCI frequency value
Date: Thu, 01 Dec 2005 00:51:15 -0800
From: akpm at osdl.org
To: torvalds at osdl.org
CC: akpm at osdl.org, vbordug at ru.mvista.com, galak at kernel.crashing.org


From: Vitaly Bordug <vbordug at ru.mvista.com>

The time to wait after deasserting PCI_RST has been counted with incorrect
value - this patch fixes the issue.

Signed-off-by: Vitaly Bordug <vbordug at ru.mvista.com>
Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm at osdl.org>
---

 arch/ppc/syslib/m82xx_pci.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN arch/ppc/syslib/m82xx_pci.c~ppc32-fix-incorrect-pci-frequency-value arch/ppc/syslib/m82xx_pci.c
--- devel/arch/ppc/syslib/m82xx_pci.c~ppc32-fix-incorrect-pci-frequency-value	2005-11-30 23:58:00.000000000 -0800
+++ devel-akpm/arch/ppc/syslib/m82xx_pci.c	2005-11-30 23:58:00.000000000 -0800
@@ -248,7 +248,8 @@ pq2ads_setup_pci(struct pci_controller *
 	pci_div = ( (sccr & SCCR_PCI_MODCK) ? 2 : 1) *
 			( ( (sccr & SCCR_PCIDF_MSK) >> SCCR_PCIDF_SHIFT) + 1);
 	freq = (uint)((2*binfo->bi_cpmfreq)/(pci_div));
-	time = (int)666666/freq;
+	time = (int)66666666/freq;
+
 	/* due to PCI Local Bus spec, some devices needs to wait such a long
 	time after RST 	deassertion. More specifically, 0.508s for 66MHz & twice more for 33 */
 	printk("%s: The PCI bus is %d Mhz.\nWaiting %s after deasserting RST...\n",__FILE__,freq,
_



-- 
Sincerely, 
Vitaly




More information about the Linuxppc-embedded mailing list