From: Matthew Auld <matthew.auld@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [PATCH v4 3/8] drm/i915: reserve stolen for LMEM region
Date: Wed, 27 Jan 2021 12:48:04 +0000 [thread overview]
Message-ID: <20210127124809.384080-3-matthew.auld@intel.com> (raw)
In-Reply-To: <20210127124809.384080-1-matthew.auld@intel.com>
From: CQ Tang <cq.tang@intel.com>
The lmem region needs to remove the stolen part, which should just be a
case of snipping it off the end.
Signed-off-by: CQ Tang <cq.tang@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/gt/intel_region_lmem.c | 13 +++++++++----
drivers/gpu/drm/i915/i915_reg.h | 2 ++
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
index b3d1d0abb956..71bb38706dbf 100644
--- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c
+++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
@@ -146,20 +146,24 @@ intel_gt_setup_fake_lmem(struct intel_gt *gt)
static struct intel_memory_region *setup_lmem(struct intel_gt *gt)
{
struct drm_i915_private *i915 = gt->i915;
+ struct intel_uncore *uncore = gt->uncore;
struct pci_dev *pdev = i915->drm.pdev;
struct intel_memory_region *mem;
resource_size_t io_start;
- resource_size_t size;
+ resource_size_t lmem_size;
if (!IS_DGFX(i915))
return ERR_PTR(-ENODEV);
+ /* Stolen starts from GSMBASE on DG1 */
+ lmem_size = intel_uncore_read64(uncore, GEN12_GSMBASE);
+
io_start = pci_resource_start(pdev, 2);
- size = pci_resource_len(pdev, 2);
+ GEM_BUG_ON(lmem_size > pci_resource_len(pdev, 2));
mem = intel_memory_region_create(i915,
0,
- size,
+ lmem_size,
I915_GTT_PAGE_SIZE_4K,
io_start,
&intel_region_lmem_ops);
@@ -167,7 +171,8 @@ static struct intel_memory_region *setup_lmem(struct intel_gt *gt)
drm_dbg(&i915->drm, "Local memory: %pR\n", &mem->region);
drm_dbg(&i915->drm, "Local memory IO start: %pa\n",
&mem->io_start);
- drm_info(&i915->drm, "Local memory available: %pa\n", &size);
+ drm_info(&i915->drm, "Local memory available: %pa\n",
+ &lmem_size);
}
return mem;
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index aa872446337b..b39b46a974b5 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -12160,6 +12160,8 @@ enum skl_power_gate {
#define GEN12_GLOBAL_MOCS(i) _MMIO(0x4000 + (i) * 4) /* Global MOCS regs */
+#define GEN12_GSMBASE _MMIO(0x108100)
+
/* gamt regs */
#define GEN8_L3_LRA_1_GPGPU _MMIO(0x4dd4)
#define GEN8_L3_LRA_1_GPGPU_DEFAULT_VALUE_BDW 0x67F1427F /* max/min for LRA1/2 */
--
2.26.2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2021-01-27 12:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-27 12:48 [Intel-gfx] [PATCH v4 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
2021-01-27 12:48 ` [Intel-gfx] [PATCH v4 2/8] drm/i915: setup the LMEM region Matthew Auld
2021-01-27 12:48 ` Matthew Auld [this message]
2021-01-27 12:48 ` [Intel-gfx] [PATCH v4 4/8] drm/i915: introduce mem->reserved Matthew Auld
2021-01-27 12:48 ` [Intel-gfx] [PATCH v4 5/8] drm/i915/dg1: Reserve first 1MB of local memory Matthew Auld
2021-01-27 12:58 ` Chris Wilson
2021-01-27 12:59 ` Chris Wilson
2021-01-27 12:48 ` [Intel-gfx] [PATCH v4 6/8] drm/i915: allocate context from LMEM Matthew Auld
2021-01-27 12:48 ` [Intel-gfx] [PATCH v4 7/8] drm/i915: move engine scratch to LMEM Matthew Auld
2021-01-27 12:48 ` [Intel-gfx] [PATCH v4 8/8] drm/i915: allocate cmd ring in lmem Matthew Auld
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210127124809.384080-3-matthew.auld@intel.com \
--to=matthew.auld@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.