[igt-dev] [PATCH i-g-t] i915/gem_ctx_shared: handle mmap for discrete
Matthew Auld
matthew.auld at intel.com
Thu Mar 31 09:56:03 UTC 2022
On 31/03/2022 10:50, Nirmoy Das wrote:
> On discrete we can only do fixed mmap and also setting
> domain is not allowed.
>
> Issue: https://gitlab.freedesktop.org/drm/intel/-/issues/5451
> Signed-off-by: Nirmoy Das <nirmoy.das at intel.com>
> ---
> tests/i915/gem_ctx_shared.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/tests/i915/gem_ctx_shared.c b/tests/i915/gem_ctx_shared.c
> index cc547b87b..dd3ff3ee3 100644
> --- a/tests/i915/gem_ctx_shared.c
> +++ b/tests/i915/gem_ctx_shared.c
> @@ -290,9 +290,16 @@ static void exec_shared_gtt(int i915, const intel_ctx_cfg_t *cfg,
> execbuf.flags |= I915_EXEC_FENCE_IN;
>
> scratch = gem_create(i915, 4096);
> - s = gem_mmap__wc(i915, scratch, 0, 4096, PROT_WRITE);
> + if (gem_has_lmem(i915))
> + s = gem_mmap_offset__fixed(i915, scratch, 0, 4096, PROT_WRITE);
> + else {
> + s = gem_mmap_offset__wc(i915, scratch, 0, 4096, PROT_WRITE);
> + if (!s)
> + s = gem_mmap__wc(i915, scratch, 0, 4096, PROT_WRITE);
https://patchwork.freedesktop.org/series/100499/
gem_mmap__device_coherent() can be used here I think.
> +
> + gem_set_domain(i915, scratch, I915_GEM_DOMAIN_WC, I915_GEM_DOMAIN_WC);
This does an object wait some on discrete IIRC. I didn't check if the
test is relying on that or not though.
Otherwise,
Reviewed-by: Matthew Auld <matthew.auld at intel.com>
> + }
>
> - gem_set_domain(i915, scratch, I915_GEM_DOMAIN_WC, I915_GEM_DOMAIN_WC);
> s[0] = bbe;
> s[64] = bbe;
>
More information about the igt-dev
mailing list