From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.dev.rtsoft.ru (unknown [85.21.88.2]) by ozlabs.org (Postfix) with SMTP id 7CAC468847 for ; Sat, 3 Dec 2005 01:55:11 +1100 (EST) Message-ID: <4390604D.50002@ru.mvista.com> Date: Fri, 02 Dec 2005 17:55:09 +0300 From: Vitaly Bordug MIME-Version: 1.0 To: Alex BASTOS References: <1133520697.4390273987a6a@webmail.televes.com:443> <4390223C.8060103@ru.mvista.com> <1133531801.4390529995cfa@webmail.televes.com:443> <1133534967.43905ef73521a@webmail.televes.com:443> In-Reply-To: <1133534967.43905ef73521a@webmail.televes.com:443> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Cc: linuxppc-embedded list Subject: Re: pq2_find_bridges hangs system List-Id: Linux on Embedded PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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@osdl.org To: torvalds@osdl.org CC: akpm@osdl.org, vbordug@ru.mvista.com, galak@kernel.crashing.org From: Vitaly Bordug The time to wait after deasserting PCI_RST has been counted with incorrect value - this patch fixes the issue. Signed-off-by: Vitaly Bordug Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton --- 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