linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Jianjun Wang <jianjun.wang@mediatek.com>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
	ryder.lee@mediatek.com, linux-pci@vger.kernel.org,
	youlin.pei@mediatek.com, linux-kernel@vger.kernel.org,
	jianjun.wang@mediatek.com, robh+dt@kernel.org,
	Bjorn Helgaas <helgaas@kernel.org>,
	honghui.zhang@mediatek.com, matthias.bgg@gmail.com,
	linux-mediatek@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/2] PCI: mediatek: Add controller support for MT7629
Date: Tue, 18 Dec 2018 17:19:24 +0800	[thread overview]
Message-ID: <1545124764.25199.3.camel@mhfsdcap03> (raw)
In-Reply-To: <20181217154645.GA24864@e107981-ln.cambridge.arm.com>

On Mon, 2018-12-17 at 15:46 +0000, Lorenzo Pieralisi wrote:
> On Mon, Dec 17, 2018 at 08:32:47AM -0600, Bjorn Helgaas wrote:
> > On Mon, Dec 17, 2018 at 04:19:39PM +0800, Jianjun Wang wrote:
> > > On Thu, 2018-12-13 at 08:55 -0600, Bjorn Helgaas wrote:
> > > > On Thu, Dec 06, 2018 at 09:09:13AM +0800, Jianjun Wang wrote:
> > > > > The read value of BAR0 is 0xffff_ffff, it's size will be calculated as 4GB
> > > > > in arm64 but bogus alignment values at arm32, the pcie device and devices
> > > > > behind this bridge will not be enabled. Fix it's BAR0 resource size to
> > > > > guarantee the pcie devices will be enabled correctly.
> > > > 
> > > > So this is a hardware erratum?  Per spec, a memory BAR has bit 0 hardwired
> > > > to 0, and an IO BAR has bit 1 hardwired to 0.
> > > 
> > > Yes, it only works properly on 64bit platform.
> > 
> > I don't understand.  BARs are supposed to work the same regardless of
> > whether it's a 32- or 64-bit platform.  If this is a workaround for a
> > hardware defect, please just say that explicitly.
> 
> I do not understand this either. First thing to do is to describe the
> problem properly so that we can actually find a solution to it.
> 
> Lorenzo

This BAR0 is a 64-bit memory BAR, the HW default values for this BAR is
0xffff_ffff_0000_0000 and it could not be changed except by config write
operation.

The calculated BAR size will be 0 in 32-bit platform since the
phys_addr_t is a 32bit value in 32-bit platform.

Actually MediaTek's HW does not using this BAR0, just omit it when
assign resource is totally fine.

When assign the resource for each device, software will check the
resource alignment first, and the resource of length zero will be
regarded as a bogus alignment resource, it will be ignored and won't
claim a resource parent for it.

When drivers try to enable the PCIe devices, the software will enable
it's resources, but it will return an error number when found a
unclaimed resource, in that case, the flow of enable devices will be
interrupted and PCIe devices won't work properly.

Thanks.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2018-12-18  9:20 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-06  1:09 [PATCH 0/2] PCI: mediatek: Add support for MT7629 Jianjun Wang
2018-12-06  1:09 ` [PATCH 1/2] dt-bindings: PCI: " Jianjun Wang
2018-12-19 20:38   ` Rob Herring
2018-12-06  1:09 ` [PATCH 2/2] PCI: mediatek: Add controller " Jianjun Wang
2018-12-06  5:53   ` Honghui Zhang
2018-12-07 12:56     ` Jianjun Wang
2018-12-12  5:43       ` Honghui Zhang
2018-12-13  3:39   ` Ryder Lee
2018-12-17  7:51     ` Jianjun Wang
2018-12-13 14:55   ` Bjorn Helgaas
2018-12-17  8:19     ` Jianjun Wang
2018-12-17 14:32       ` Bjorn Helgaas
2018-12-17 15:46         ` Lorenzo Pieralisi
2018-12-18  9:19           ` Jianjun Wang [this message]
2018-12-18 15:32             ` Lorenzo Pieralisi
2018-12-21 13:13               ` Jianjun Wang
2018-12-20 18:20             ` Bjorn Helgaas
2018-12-24 11:40               ` Jianjun Wang
2019-01-23 15:40                 ` Lorenzo Pieralisi
2019-02-19  7:01                   ` Jianjun Wang
2019-02-19 15:03                     ` Lorenzo Pieralisi
2019-06-28  6:38                       ` Jianjun Wang
2018-12-06  1:40 ` [PATCH 0/2] PCI: mediatek: Add " Ryder Lee

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=1545124764.25199.3.camel@mhfsdcap03 \
    --to=jianjun.wang@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=helgaas@kernel.org \
    --cc=honghui.zhang@mediatek.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=ryder.lee@mediatek.com \
    --cc=youlin.pei@mediatek.com \
    /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;
as well as URLs for NNTP newsgroup(s).