Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261708AbUKTADo (ORCPT ); Fri, 19 Nov 2004 19:03:44 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261706AbUKTACy (ORCPT ); Fri, 19 Nov 2004 19:02:54 -0500 Received: from fw.osdl.org ([65.172.181.6]:44435 "EHLO mail.osdl.org") by vger.kernel.org with ESMTP id S261721AbUKSXyw (ORCPT ); Fri, 19 Nov 2004 18:54:52 -0500 Date: Fri, 19 Nov 2004 15:58:54 -0800 From: Andrew Morton To: "Mark A. Greer" Cc: linux-kernel@vger.kernel.org, linuxppc-embedded@ozlabs.org Subject: Re: [PATCH][PPC32] Marvell host bridge support (mv64x60) Message-Id: <20041119155854.02af2174.akpm@osdl.org> In-Reply-To: <419E6900.5070001@mvista.com> References: <419E6900.5070001@mvista.com> X-Mailer: Sylpheed version 0.9.7 (GTK+ 1.2.10; i586-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5104 Lines: 177 "Mark A. Greer" wrote: > > This patch adds core support for a line of host bridges from Marvell > (formerly Galileo). This code has been tested with a GT64260a, > GT64260b, MV64360, and MV64460. Patches for platforms that use these > bridges will be sent separately. > Shouldn't these guys: + u32 cpu2mem_tab[MV64x60_CPU2MEM_WINDOWS][2] = { + { MV64x60_CPU2MEM_0_BASE, MV64x60_CPU2MEM_0_SIZE }, + { MV64x60_CPU2MEM_1_BASE, MV64x60_CPU2MEM_1_SIZE }, + { MV64x60_CPU2MEM_2_BASE, MV64x60_CPU2MEM_2_SIZE }, + { MV64x60_CPU2MEM_3_BASE, MV64x60_CPU2MEM_3_SIZE } + }; + u32 com2mem_tab[MV64x60_CPU2MEM_WINDOWS][2] = { + { MV64360_MPSC2MEM_0_BASE, MV64360_MPSC2MEM_0_SIZE }, + { MV64360_MPSC2MEM_1_BASE, MV64360_MPSC2MEM_1_SIZE }, + { MV64360_MPSC2MEM_2_BASE, MV64360_MPSC2MEM_2_SIZE }, + { MV64360_MPSC2MEM_3_BASE, MV64360_MPSC2MEM_3_SIZE } + }; + u32 dram_selects[MV64x60_CPU2MEM_WINDOWS] = { 0xe, 0xd, 0xb, 0x7 }; be static, and maybe __devinitdata? Right now, the CPU has to populate them by hand at runtime. +wait_for_ownership(int chan) +{ + int i; + + for (i=0; i