[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAJDH93s25fD+iaPJ1By=HFOs_M4Hc8LawPDy3n_-VFy04X4N5w@mail.gmail.com>
Date: Mon, 16 Dec 2024 14:15:26 +0100
From: Rostyslav Khudolii <ros@...c.com>
To: linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org, x86@...nel.org
Cc: "bhelgaas@...gle.com" <bhelgaas@...gle.com>, bp@...en8.de,
"tglx@...utronix.de" <tglx@...utronix.de>
Subject: PCI IO ECS access is no longer possible for AMD family 17h
Hi all,
I am currently working on a custom AMD Ryzen™ Embedded R2000 (AMD
Family 17h) device and have discovered that PCI IO Extended
Configuration Space (ECS) access is no longer possible.
Consider the following functions: amd_bus_cpu_online() and
pci_enable_pci_io_ecs(). These functions are part of the
amd_postcore_init() initcall and are responsible for enabling PCI IO
ECS. Both functions modify the CoreMasterAccessCtrl (EnableCf8ExtCfg)
value via the PCI device function or the MSR register directly (see
the "BIOS and Kernel Developer’s Guide (BKDG) for AMD Family 15h",
Section 2.7). However, neither the MSR register nor the PCI function
at the specified address (D18F3x8C) exists for AMD Family 17h. The
CoreMasterAccessCtrl register still exists but is now located at a
different address (see the "Processor Programming Reference (PPR) for
AMD Family 17h", Section 2.1.8).
I would be happy to submit a patch to fix this issue. However, since
the most recent change affecting this functionality appears to be 14
years old, I would like to confirm whether this is still relevant or
if the kernel should always be built with CONFIG_PCI_MMCONFIG when ECS
access is required.
Linux Kernel info:
root@...222:~# uname -a
Linux qt5222 6.6.49-2447-qtec-standard--gef032148967a #1 SMP Fri Nov
22 09:25:55 UTC 2024 x86_64 GNU/Linux
Best regards,
Ros
Powered by blists - more mailing lists