From: Matthew Auld <matthew.auld@intel.com> To: intel-gfx@lists.freedesktop.org Cc: "Lionel Landwerlin" <lionel.g.landwerlin@linux.intel.com>, "Thomas Hellström" <thomas.hellstrom@linux.intel.com>, "Jordan Justen" <jordan.l.justen@intel.com>, dri-devel@lists.freedesktop.org, "Kenneth Graunke" <kenneth@whitecape.org>, "Daniele Ceraolo Spurio" <daniele.ceraolospurio@intel.com>, "Jon Bloomfield" <jon.bloomfield@intel.com>, "Jason Ekstrand" <jason@jlekstrand.net>, mesa-dev@lists.freedesktop.org, "Daniel Vetter" <daniel.vetter@intel.com> Subject: [PATCH 8/9] drm/i915/gem: clear userspace buffers for LMEM Date: Mon, 26 Apr 2021 10:39:00 +0100 [thread overview] Message-ID: <20210426093901.28937-8-matthew.auld@intel.com> (raw) In-Reply-To: <20210426093901.28937-1-matthew.auld@intel.com> All userspace objects must be cleared when allocating the backing store, before they are potentially visible to userspace. For now use simple CPU based clearing to do this for device local-memory objects, note that in the near future this will instead use the blitter engine. Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com> Cc: Jon Bloomfield <jon.bloomfield@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Kenneth Graunke <kenneth@whitecape.org> Cc: Jason Ekstrand <jason@jlekstrand.net> Cc: Dave Airlie <airlied@gmail.com> Cc: dri-devel@lists.freedesktop.org Cc: mesa-dev@lists.freedesktop.org --- drivers/gpu/drm/i915/gem/i915_gem_create.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_create.c b/drivers/gpu/drm/i915/gem/i915_gem_create.c index 895f1666a8d3..338f3883e238 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_create.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_create.c @@ -67,6 +67,7 @@ static int i915_gem_setup(struct drm_i915_gem_object *obj, u64 size) { struct intel_memory_region *mr = obj->mm.placements[0]; + unsigned int flags; int ret; size = round_up(size, object_max_page_size(obj)); @@ -79,7 +80,16 @@ i915_gem_setup(struct drm_i915_gem_object *obj, u64 size) if (i915_gem_object_size_2big(size)) return -E2BIG; - ret = mr->ops->init_object(mr, obj, size, 0); + /* + * For now resort to CPU based clearing for device local-memory, in the + * near future this will use the blitter engine for accelerated, GPU + * based clearing. + */ + flags = 0; + if (mr->type == INTEL_MEMORY_LOCAL) + flags = I915_BO_ALLOC_CPU_CLEAR; + + ret = mr->ops->init_object(mr, obj, size, flags); if (ret) return ret; -- 2.26.3 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Matthew Auld <matthew.auld@intel.com> To: intel-gfx@lists.freedesktop.org Cc: "Lionel Landwerlin" <lionel.g.landwerlin@linux.intel.com>, "Thomas Hellström" <thomas.hellstrom@linux.intel.com>, dri-devel@lists.freedesktop.org, "Kenneth Graunke" <kenneth@whitecape.org>, mesa-dev@lists.freedesktop.org, "Daniel Vetter" <daniel.vetter@intel.com> Subject: [Intel-gfx] [PATCH 8/9] drm/i915/gem: clear userspace buffers for LMEM Date: Mon, 26 Apr 2021 10:39:00 +0100 [thread overview] Message-ID: <20210426093901.28937-8-matthew.auld@intel.com> (raw) In-Reply-To: <20210426093901.28937-1-matthew.auld@intel.com> All userspace objects must be cleared when allocating the backing store, before they are potentially visible to userspace. For now use simple CPU based clearing to do this for device local-memory objects, note that in the near future this will instead use the blitter engine. Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com> Cc: Jon Bloomfield <jon.bloomfield@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Kenneth Graunke <kenneth@whitecape.org> Cc: Jason Ekstrand <jason@jlekstrand.net> Cc: Dave Airlie <airlied@gmail.com> Cc: dri-devel@lists.freedesktop.org Cc: mesa-dev@lists.freedesktop.org --- drivers/gpu/drm/i915/gem/i915_gem_create.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_create.c b/drivers/gpu/drm/i915/gem/i915_gem_create.c index 895f1666a8d3..338f3883e238 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_create.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_create.c @@ -67,6 +67,7 @@ static int i915_gem_setup(struct drm_i915_gem_object *obj, u64 size) { struct intel_memory_region *mr = obj->mm.placements[0]; + unsigned int flags; int ret; size = round_up(size, object_max_page_size(obj)); @@ -79,7 +80,16 @@ i915_gem_setup(struct drm_i915_gem_object *obj, u64 size) if (i915_gem_object_size_2big(size)) return -E2BIG; - ret = mr->ops->init_object(mr, obj, size, 0); + /* + * For now resort to CPU based clearing for device local-memory, in the + * near future this will use the blitter engine for accelerated, GPU + * based clearing. + */ + flags = 0; + if (mr->type == INTEL_MEMORY_LOCAL) + flags = I915_BO_ALLOC_CPU_CLEAR; + + ret = mr->ops->init_object(mr, obj, size, flags); if (ret) return ret; -- 2.26.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2021-04-26 9:43 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-26 9:38 [PATCH 1/9] drm/doc/rfc: i915 DG1 uAPI Matthew Auld 2021-04-26 9:38 ` [Intel-gfx] " Matthew Auld 2021-04-26 9:38 ` [PATCH 2/9] drm/i915: mark stolen as private Matthew Auld 2021-04-26 9:38 ` [Intel-gfx] " Matthew Auld 2021-04-26 9:38 ` [PATCH 3/9] drm/i915/query: Expose memory regions through the query uAPI Matthew Auld 2021-04-26 9:38 ` [Intel-gfx] " Matthew Auld 2021-04-26 9:38 ` [PATCH 4/9] drm/i915: rework gem_create flow for upcoming extensions Matthew Auld 2021-04-26 9:38 ` [Intel-gfx] " Matthew Auld 2021-04-26 9:38 ` [PATCH 5/9] drm/i915/uapi: introduce drm_i915_gem_create_ext Matthew Auld 2021-04-26 9:38 ` [Intel-gfx] " Matthew Auld 2021-04-26 9:38 ` [PATCH 6/9] drm/i915/uapi: implement object placement extension Matthew Auld 2021-04-26 9:38 ` [Intel-gfx] " Matthew Auld 2021-04-28 17:28 ` Kenneth Graunke 2021-04-28 17:28 ` [Intel-gfx] " Kenneth Graunke 2021-04-26 9:38 ` [PATCH 7/9] drm/i915/lmem: support optional CPU clearing for special internal use Matthew Auld 2021-04-26 9:38 ` [Intel-gfx] " Matthew Auld 2021-04-26 12:53 ` kernel test robot 2021-04-26 14:03 ` kernel test robot 2021-04-26 9:39 ` Matthew Auld [this message] 2021-04-26 9:39 ` [Intel-gfx] [PATCH 8/9] drm/i915/gem: clear userspace buffers for LMEM Matthew Auld 2021-04-26 9:39 ` [PATCH 9/9] drm/i915/gem: hide new uAPI behind CONFIG_BROKEN Matthew Auld 2021-04-26 9:39 ` [Intel-gfx] " Matthew Auld 2021-04-26 12:17 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/9] drm/doc/rfc: i915 DG1 uAPI Patchwork 2021-04-26 12:18 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2021-04-26 12:45 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2021-04-26 15:11 ` [PATCH 1/9] " Jason Ekstrand 2021-04-26 15:11 ` [Intel-gfx] " Jason Ekstrand 2021-04-26 15:31 ` Matthew Auld 2021-04-26 15:31 ` [Intel-gfx] " Matthew Auld 2021-04-26 16:25 ` Jason Ekstrand 2021-04-26 16:25 ` [Intel-gfx] " Jason Ekstrand 2021-04-26 16:32 ` Daniel Vetter 2021-04-26 16:32 ` [Intel-gfx] " Daniel Vetter 2021-04-26 15:13 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/9] " Patchwork 2021-04-28 15:16 ` [PATCH 1/9] " Kenneth Graunke 2021-04-28 15:16 ` [Intel-gfx] " Kenneth Graunke 2021-04-28 16:10 ` Matthew Auld 2021-04-28 16:10 ` [Intel-gfx] " Matthew Auld 2021-04-28 15:51 ` Jason Ekstrand 2021-04-28 15:51 ` [Intel-gfx] " Jason Ekstrand 2021-04-28 16:41 ` Matthew Auld 2021-04-28 16:41 ` [Intel-gfx] " Matthew Auld 2021-04-28 16:56 ` Jason Ekstrand 2021-04-28 16:56 ` [Intel-gfx] " Jason Ekstrand 2021-04-28 17:12 ` Kenneth Graunke 2021-04-28 17:12 ` [Intel-gfx] " Kenneth Graunke 2021-04-28 17:30 ` Kenneth Graunke 2021-04-28 17:30 ` [Intel-gfx] " Kenneth Graunke 2021-04-28 17:39 ` Bloomfield, Jon 2021-04-28 17:39 ` [Intel-gfx] " Bloomfield, Jon
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=20210426093901.28937-8-matthew.auld@intel.com \ --to=matthew.auld@intel.com \ --cc=daniel.vetter@intel.com \ --cc=daniele.ceraolospurio@intel.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=intel-gfx@lists.freedesktop.org \ --cc=jason@jlekstrand.net \ --cc=jon.bloomfield@intel.com \ --cc=jordan.l.justen@intel.com \ --cc=kenneth@whitecape.org \ --cc=lionel.g.landwerlin@linux.intel.com \ --cc=mesa-dev@lists.freedesktop.org \ --cc=thomas.hellstrom@linux.intel.com \ /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: linkBe 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.