From: Yinghai Lu <yinghai@kernel.org>
To: Alex Williamson <alex.williamson@hp.com>
Cc: jbarnes@virtuousgeek.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] PCI: Always set prefetchable base/limit upper32 registers
Date: Mon, 30 Nov 2009 13:52:03 -0800 [thread overview]
Message-ID: <4B143E83.6020105@kernel.org> (raw)
In-Reply-To: <1259617381.8949.281.camel@8530w.home>
Alex Williamson wrote:
> On Mon, 2009-11-30 at 13:36 -0800, Yinghai Lu wrote:
>> 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.
>>>
>>> Signed-off-by: Alex Williamson <alex.williamson@hp.com>
>>> ---
>>>
>>> drivers/pci/setup-bus.c | 8 +++-----
>>> 1 files changed, 3 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
>>> index cb1a027..127d759 100644
>>> --- a/drivers/pci/setup-bus.c
>>> +++ b/drivers/pci/setup-bus.c
>>> @@ -221,11 +221,9 @@ static void pci_setup_bridge(struct pci_bus *bus)
>>> }
>>> pci_write_config_dword(bridge, PCI_PREF_MEMORY_BASE, l);
>>>
>>> - if (pref_mem64) {
>>> - /* Set the upper 32 bits of PREF base & limit. */
>>> - pci_write_config_dword(bridge, PCI_PREF_BASE_UPPER32, bu);
>>> - pci_write_config_dword(bridge, PCI_PREF_LIMIT_UPPER32, lu);
>>> - }
>>> + /* Set the upper 32 bits of PREF base & limit. */
>>> + pci_write_config_dword(bridge, PCI_PREF_BASE_UPPER32, bu);
>>> + pci_write_config_dword(bridge, PCI_PREF_LIMIT_UPPER32, lu);
>>>
>>> pci_write_config_word(bridge, PCI_BRIDGE_CONTROL, bus->bridge_ctl);
>>> }
>> when pref_mem64=0 it means that pref register is only 32 bit, we should not touch upper 32bits.
>
> Did you read my patch description? In that case bu = lu = 0 and we
> clear whatever state the BIOS left for those registers.
if HW state that reg is only 32bit pref, why should we care about the upper 32bit?
looks like that your bridge device need quirk to clear that so called upper 32bit for it.
YH
next prev parent reply other threads:[~2009-11-30 21:52 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-30 21:22 [PATCH] PCI: Always set prefetchable base/limit upper32 registers Alex Williamson
2009-11-30 21:36 ` Yinghai Lu
2009-11-30 21:43 ` Alex Williamson
2009-11-30 21:52 ` Yinghai Lu [this message]
2009-11-30 22:01 ` Alex Williamson
2009-11-30 22:12 ` Yinghai Lu
2009-11-30 22:19 ` Alex Williamson
2009-11-30 23:32 ` Yinghai Lu
2009-11-30 23:53 ` Alex Williamson
2009-12-01 0:00 ` Yinghai Lu
2009-12-01 1:56 ` Alex Williamson
2009-12-01 2:26 ` Yinghai Lu
2009-12-01 2:50 ` Yinghai Lu
2009-12-01 3:23 ` Alex Williamson
2009-12-01 6:35 ` Yinghai Lu
2009-12-01 6:55 ` Alex Williamson
2009-12-01 7:03 ` [PATCH] pci: fix bridge 64bit flag setting Yinghai Lu
2009-12-01 15:38 ` Bjorn Helgaas
2009-12-01 18:28 ` Yinghai Lu
2009-12-01 19:15 ` Yinghai Lu
2009-12-01 0:22 ` [PATCH] PCI: Always set prefetchable base/limit upper32 registers Yinghai Lu
2009-12-01 0:00 ` Grant Grundler
2009-12-01 0:09 ` Yinghai Lu
2009-12-01 0:15 ` Grant Grundler
2009-11-30 23:58 ` Grant Grundler
2009-11-30 21:42 ` Grant Grundler
2009-11-30 21:43 ` Alex Williamson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B143E83.6020105@kernel.org \
--to=yinghai@kernel.org \
--cc=alex.williamson@hp.com \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox