Subject: Re: pq2_find_bridges hangs system

From: Vitaly Bordug <[email-masked]>
Date: Fri, 02 Dec 2005 17:55:09 +0300

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: [email-masked]
To: [email-masked]
CC: [email-masked], [email-masked], [email-masked]

From: Vitaly Bordug <[email-masked]>

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

Signed-off-by: Vitaly Bordug <[email-masked]>
Signed-off-by: Kumar Gala <[email-masked]>
Signed-off-by: Andrew Morton <[email-masked]>
---

 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