From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752742AbZLABXz (ORCPT ); Mon, 30 Nov 2009 20:23:55 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752294AbZLABXx (ORCPT ); Mon, 30 Nov 2009 20:23:53 -0500 Received: from hera.kernel.org ([140.211.167.34]:33240 "EHLO hera.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752107AbZLABXw (ORCPT ); Mon, 30 Nov 2009 20:23:52 -0500 Message-ID: <4B146FF6.9090307@kernel.org> Date: Mon, 30 Nov 2009 17:23:02 -0800 From: Yinghai Lu User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: Grant Grundler CC: Alex Williamson , jbarnes@virtuousgeek.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] PCI: Always set prefetchable base/limit upper32 registers References: <20091130214954.10845.23072.stgit@debian.lart> <20091201000332.GD24539@lackof.org> <20091201001942.GF24539@lackof.org> In-Reply-To: <20091201001942.GF24539@lackof.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Grant Grundler wrote: > On Mon, Nov 30, 2009 at 05:03:32PM -0700, Grant Grundler wrote: >> On Mon, Nov 30, 2009 at 02:51:44PM -0700, Alex Williamson wrote: >>> Prior to 1f82de10 we always initialized the upper 32bits of the >>> prefetchable memory window, regardless of the address range used. >>> Now we only touch it for a >32bit address, which means the upper32 >>> registers remain whatever the BIOS initialized them too. >>> >>> It's valid for the BIOS to set the upper32 base/limit to >>> 0xffffffff/0x00000000, which makes us program prefetchable ranges >>> like 0xffffffffabc00000 - 0x00000000abc00000 >>> >>> Revert the chunk of 1f82de10 that made this conditional so we always >>> write the upper32 registers and remove now unused pref_mem64 variable. >>> >>> Signed-off-by: Alex Williamson >> Reviewed-by: Grant Grundler > > NAK this - I messed up. Yinghai is correct. Something else is going on. > > It might be perfectly OK to read 0xffffffffabc00000 if the bridge > isn't using the upper32 Prefetchable register. Maybe the problem is > some code is reading the upper32 value without checking that it's valid? maybe Alex is using old lspci? YH