Re: [PATCH] x86/gpu: add JSL stolen memory support
From: Bjorn Helgaas
Date: Wed Nov 04 2020 - 12:36:01 EST
[+cc Jani, Joonas, Rodrigo, David, Daniel]
On Wed, Nov 04, 2020 at 05:35:06PM +0530, Tejas Upadhyay wrote:
> JSL re-uses the same stolen memory as ICL and EHL.
>
> Cc: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx>
> Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@xxxxxxxxx>
I don't plan to do anything with this since previous similar patches
have gone through some other tree, so this is just kibitzing.
But the fact that we have this long list of Intel devices [1] that
constantly needs updates [2] is a hint that something is wrong.
IIUC the general idea is that we need to discover Intel gfx memory by
looking at device-dependent config space and add it to the E820 map.
Apparently the quirks discover this via PCI config registers like
I830_ESMRAMC, I845_ESMRAMC, etc, and tell the driver about it via the
global "intel_graphics_stolen_res"?
That's not the way this should work. There should some generic, non
device-dependent PCI or ACPI method to discover the memory used, or at
least some way to do it in the driver instead of early arch code.
How is this *supposed* to work? Is there something we can do in E820
or other resource management that would make this easier?
> ---
> arch/x86/kernel/early-quirks.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
> index a4b5af03dcc1..534cc3f78c6b 100644
> --- a/arch/x86/kernel/early-quirks.c
> +++ b/arch/x86/kernel/early-quirks.c
> @@ -549,6 +549,7 @@ static const struct pci_device_id intel_early_ids[] __initconst = {
> INTEL_CNL_IDS(&gen9_early_ops),
> INTEL_ICL_11_IDS(&gen11_early_ops),
> INTEL_EHL_IDS(&gen11_early_ops),
> + INTEL_JSL_IDS(&gen11_early_ops),
> INTEL_TGL_12_IDS(&gen11_early_ops),
> INTEL_RKL_IDS(&gen11_early_ops),
> };
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/early-quirks.c?h=v5.10-rc2#n518
[2]
May 2020 efbee021ad02 ("x86/gpu: add RKL stolen memory support")
Jul 2019 6b2436aeb945 ("x86/gpu: add TGL stolen memory support")
Mar 2019 d53fef0be4a5 ("x86/gpu: add ElkhartLake to gen11 early quirks")
May 2018 db0c8d8b031d ("x86/gpu: reserve ICL's graphics stolen memory")
Dec 2017 33aa69ed8aac ("x86/gpu: add CFL to early quirks")
Jul 2017 2e1e9d48939e ("x86/gpu: CNL uses the same GMS values as SKL")
Jan 2017 bc384c77e3bb ("x86/gpu: GLK uses the same GMS values as SKL")
Oct 2015 00ce5c8a66fb ("drm/i915/kbl: Kabylake uses the same GMS values as Skylake")
Mar 2015 31d4dcf705c3 ("drm/i915/bxt: Broxton uses the same GMS values as Skylake")
...