From: Matt Porter <mporter@linaro.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH][RFC v2] add pci 64 bit prefechable mem support
Date: Tue, 25 Feb 2014 11:50:27 -0500 [thread overview]
Message-ID: <20140225165027.GZ5038@beef> (raw)
In-Reply-To: <ebb7f1.68a.1442e40761e.Coremail.fenghua@phytium.com.cn>
On Fri, Feb 14, 2014 at 10:36:20AM +0800, FengHua wrote:
>
>
>
> > -----Original Messages-----
> > From: "Wolfgang Denk" <wd@denx.de>
> > Sent Time: 2014-02-14 00:30:24 (Friday)
> > To: fenghua at phytium.com.cn
> > Cc: u-boot at lists.denx.de, trini at ti.com, albert.u.boot at aribaud.net
> > Subject: Re: [PATCH][RFC v2] add pci 64 bit prefechable mem support
> >
> > Dear fenghua at phytium.com.cn,
> >
> > In message <1392282108-56485-1-git-send-email-fenghua@phytium.com.cn> you wrote:
> > > From: David Feng <fenghua@phytium.com.cn>
> > >
> > > u-boot did not program the upper 32 bits of prefetchable base and limit
> > > in pci bridge config space. I think it's needed when 64 bit address space
> > > is used.
> >
> > You write "I think it's needed" - is it or not?
> >
> > Do you have a specific test case that fails without your patch, and
> > works with it?
> >
> > Best regards,
> >
> > Wolfgang Denk.
> There's no test case now (maybe a few days later I could make a test).
> "PCI-to-PCI Bridge Architecture Specification" require that the upper 32 bit of prefetchable space
> must be initialized by configuration software. But usually the default value is zero already.
> A board using 64 bit pci prefetchable memory space and a pci device with 64 bit prefetchable space
> are needed. I think u-boot did not encounter this situation before.
There's two things happening here.
1) You are adding support to explicitly program the upper32 prefetch
limit/base to zero (in the 64-bit prefetch memory <4GB case) which is
a completely theoretical fix. I can more or less confirm that this
doesn't cause a problem in practice for prefetch memory <4GB. When I
wrote the original code in-kernel, I had noticed this on the 21154
bridges and others when I was trying out WIP prefetch support (which
I never finished to upstream because we let the kernel subsystem fix
up prefetch later). If we look@the history of the prefetch support
added to the U-Boot version of pci_auto.c it's also proven on real h/w
that this is only a theoretical fix. To be fair, it is best to be safe,
but as Wolfgang points out it appears you are fixing something that's
not practically broken
2) 64-bit prefetch support for prefetch memory >4GB. It's up to the
maintainers, but given that this is untested code, I don't see a good
reason to merge it. I have reviewed it and the implementation looks
correct to me per spec. However, I believe that you should resubmit this
patch along with support for a platform that actually makes use of it as
you describe above. At that time, it would be appropriate to fix the
possible latent bug (for a not-yet-known p2p bridge that doesn't default
upper32 limit/base to 0) in the <4GB case just as part of handling the
>4GB case.
-Matt
prev parent reply other threads:[~2014-02-25 16:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-13 9:01 [U-Boot] [PATCH][RFC v2] add pci 64 bit prefechable mem support fenghua at phytium.com.cn
2014-02-13 16:30 ` Wolfgang Denk
2014-02-14 2:36 ` FengHua
2014-02-25 16:50 ` Matt Porter [this message]
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=20140225165027.GZ5038@beef \
--to=mporter@linaro.org \
--cc=u-boot@lists.denx.de \
/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