[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1444407651.17726.10.camel@oracle.com>
Date: Fri, 09 Oct 2015 10:20:51 -0600
From: Khalid Aziz <khalid.aziz@...cle.com>
To: Yinghai Lu <yinghai@...nel.org>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>,
David Miller <davem@...emloft.net>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Wei Yang <weiyang@...ux.vnet.ibm.com>, TJ <linux@....tj>,
Yijing Wang <wangyijing@...wei.com>, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 11/60] PCI: Check pref compatible bit for mem64
resource of PCIe device
On Thu, 2015-10-08 at 14:38 -0700, Yinghai Lu wrote:
> We still get "no compatible bridge window" warning on sparc T5-8
> after we add support for 64bit resource parsing for root bus.
>
> PCI: scan_bus[/pci@.../pci@...ci@...ci@6] bus no 8
> PCI: Claiming 0000:00:01.0: Resource 15: 0000800100000000..00008004afffffff [220c]
> PCI: Claiming 0000:01:00.0: Resource 15: 0000800100000000..00008004afffffff [220c]
> PCI: Claiming 0000:02:04.0: Resource 15: 0000800100000000..000080012fffffff [220c]
> PCI: Claiming 0000:03:00.0: Resource 15: 0000800100000000..000080012fffffff [220c]
> PCI: Claiming 0000:04:06.0: Resource 14: 0000800100000000..000080010fffffff [220c]
> PCI: Claiming 0000:05:00.0: Resource 0: 0000800100000000..0000800100001fff [204]
> pci 0000:05:00.0: can't claim BAR 0 [mem 0x800100000000-0x800100001fff]: no compatible bridge window
>
> All the bridges 64-bit resource have pref bit, but the device resource does not
> have pref set, then we can not find parent for the device resource,
> as we can not put non-pref mem under pref mem.
>
> According to pcie spec errta
> https://www.pcisig.com/specifications/pciexpress/base2/PCIe_Base_r2.1_Errata_08Jun10.pdf
> page 13, in some case it is ok to mark some as pref.
>
> Mark if the entire path from the host to the adapter is over PCI Express.
> Then set pref compatible bit for claim/sizing/assign for 64bit mem resource
> on that pcie device.
>
> -v2: set pref for mmio 64 when whole path is PCI Express, according to David Miller.
> -v3: don't set pref directly, change to UNDER_PREF, and set PREF before
> sizing and assign resource, and cleart PREF afterwards. requested by BenH.
> -v4: use on_all_pcie_path device flag instead.
>
> Fixes: commit d63e2e1f3df9 ("sparc/PCI: Clip bridge windows to fit in upstream windows")
> Link: http://lkml.kernel.org/r/CAE9FiQU1gJY1LYrxs+ma5LCTEEe4xmtjRG0aXJ9K_Tsu+m9Wuw@mail.gmail.com
> Reported-by: David Ahern <david.ahern@...cle.com>
> Tested-by: David Ahern <david.ahern@...cle.com>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=81431
> Tested-by: TJ <linux@....tj>
> Signed-off-by: Yinghai Lu <yinghai@...nel.org>
Tested on sparc platforms
Tested-by: Khalid Aziz <khalid.aziz@...cle.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists