lkml.org 
[lkml]   [2023]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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

\
 
 \ /
  Last update: 2023-03-26 23:39    [W:0.248 / U:1.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site