OSDN Git Service

drm/i915: restore stolen memory behaviour for DG2
authorMatthew Auld <matthew.auld@intel.com>
Wed, 5 Oct 2022 15:31:48 +0000 (16:31 +0100)
committerMatthew Auld <matthew.auld@intel.com>
Thu, 6 Oct 2022 08:29:48 +0000 (09:29 +0100)
commit0da9493e841b92fc08c2d73612a9b0be285a1be0
tree9379422e1083b11419fd1a85019279788a51d64b
parent49d1310a76dd6ae7b4a2cd27732d46fe58aa8177
drm/i915: restore stolen memory behaviour for DG2

Restore the previous behaviour here where we compare the
pci_resource_len() with the actual lmem_size, and not the dsm size,
since dsm here is just some subset snipped off the end of the lmem.
Otherwise we will incorrectly report an io_size > 0 on small-bar
systems.

It doesn't looks like MTL is expecting small-bar with its stolen memory,
based on:

  GEM_BUG_ON(pci_resource_len(pdev, GEN12_LMEM_BAR) != SZ_256M)
  GEM_BUG_ON((dsm_size + SZ_8M) > lmem_size)

So just move the HAS_BAR2_SMEM_STOLEN() check first, which then ignores
the small bar part, and we can go back to checking lmem_size against the
BAR size.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/7007
Fixes: dbb2ffbfd708 ("drm/i915/mtl: enable local stolen memory")
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221005153148.758822-2-matthew.auld@intel.com
drivers/gpu/drm/i915/gem/i915_gem_stolen.c