[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230113135343.GA1834989@bhelgaas>
Date: Fri, 13 Jan 2023 07:53:43 -0600
From: Bjorn Helgaas <helgaas@...nel.org>
To: "Duan, Zhenzhong" <zhenzhong.duan@...el.com>
Cc: "bhelgaas@...gle.com" <bhelgaas@...gle.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Yang, Lixiao" <lixiao.yang@...el.com>,
"Peng, Chao P" <chao.p.peng@...el.com>
Subject: Re: RESEND: MMCONFIG related question
On Fri, Jan 13, 2023 at 10:15:45AM +0000, Duan, Zhenzhong wrote:
> Recently Lixiao reported sriov disappered for cards which supported
> sriov. We found it's related to commit "07eab0901ed efi/x86: Remove
> EfiMemoryMappedIO from E820 map" which removed EfiMemoryMappedIO
> regions from E820 map which lead to pci_mmcfg_reject_broken() check
> failed, raw_pci_ext_ops isn't set to pci_mmcfg finally, below is the
> related log. I know maybe bios should add MMCONFIG region into ACPI
> motherboard resources, just want to ask if we would support the case
> when MMCONFIG is missed in ACPI motherboard resources as I see it's
> treated as "Firmware Info" not "Firmware bug". Thanks
The patches here:
https://lore.kernel.org/linux-pci/20230110180243.1590045-1-helgaas@kernel.org/
should resolve this problem.
> Also has another question, if MMCONFIG happened to be in
> EfiMemoryMappedIO, even if it's removed from E820 map so that there
> is no CRS clip for that region, could it be used for BAR space?
MMCONFIG cannot be used for BAR space. MMCONFIG should be reported
via PNP0C02 _CRS. BAR space, i.e., a PCI host bridge aperture, should
be reported via PNP0A03 _CRS.
> Will there be conflict for BAR and MMCONFIG access?
I don't think so, but I don't completely understand the scenario
you're asking about.
The E820 clipping of PCI host bridge windows is only intended to work
around an issue where PNP0A03 _CRS reports space that is not part of
the host bridge windows. E.g., there were a few platforms that seemed
to report host bridge register space via _CRS.
Bjorn
> [ 0.000000] efi: EFI v2.60 by EDK II BIOS ID:SE5C620.86B.01.00.0763.022420181017
> [ 0.000000] efi: SMBIOS=0x6ae78000 ACPI=0x6bbab000 ACPI 2.0=0x6bbab014 MEMATTR=0x67e99018 MOKvar=0x67b2d000
> [ 0.000000] efi: Not removing mem06: MMIO range=[0xfe000000-0xfe010fff] (68KB) from e820 map
> [ 0.000000] efi: Remove mem09: MMIO range=[0x80000000-0x8fffffff] (256MB) from e820 map
> [ 0.000000] e820: remove [mem 0x80000000-0x8fffffff] reserved
> [ 3.351098] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0x80000000-0x8fffffff] (base 0x80000000)
> [ 3.351742] PCI: not using MMCONFIG
> [ 4.867853] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0x80000000-0x8fffffff] (base 0x80000000)
> [ 4.904325] [Firmware Info]: PCI: MMCONFIG at [mem 0x80000000-0x8fffffff] not reserved in ACPI motherboard resources
> [ 4.905061] PCI: not using MMCONFIG
>
> Regards
> Zhenzhong
Powered by blists - more mailing lists