All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
To: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>,
	intel-xe@lists.freedesktop.org
Cc: Matthew Auld <matthew.auld@intel.com>
Subject: Re: [PATCH v6 6/9] drm/xe/xe2: Update emit_pte to use compression enabled PAT index
Date: Thu, 7 Dec 2023 13:47:45 +0100	[thread overview]
Message-ID: <ea7ef5d1-c1bc-caac-6106-ab7a5b66d97f@linux.intel.com> (raw)
In-Reply-To: <20231207091922.1224800-7-himal.prasad.ghimiray@intel.com>


On 12/7/23 10:19, Himal Prasad Ghimiray wrote:
> For indirect accessed buffer use compression enabled PAT index.
>
> v2:
>   - Fix parameter name.
>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Cc: Matthew Auld <matthew.auld@intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
>   drivers/gpu/drm/xe/tests/xe_migrate.c |  2 +-
>   drivers/gpu/drm/xe/xe_migrate.c       | 20 ++++++++++++++------
>   2 files changed, 15 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/tests/xe_migrate.c b/drivers/gpu/drm/xe/tests/xe_migrate.c
> index 83d6a66ed369..f77477f7e9fa 100644
> --- a/drivers/gpu/drm/xe/tests/xe_migrate.c
> +++ b/drivers/gpu/drm/xe/tests/xe_migrate.c
> @@ -330,7 +330,7 @@ static void xe_migrate_sanity_test(struct xe_migrate *m, struct kunit *test)
>   	else
>   		xe_res_first_sg(xe_bo_sg(pt), 0, pt->size, &src_it);
>   
> -	emit_pte(m, bb, NUM_KERNEL_PDE - 1, xe_bo_is_vram(pt),
> +	emit_pte(m, bb, NUM_KERNEL_PDE - 1, xe_bo_is_vram(pt), false,
>   		 &src_it, XE_PAGE_SIZE, pt);
>   
>   	run_sanity_job(m, xe, bb, bb->len, "Writing PTE for our fake PT", test);
> diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c
> index 98dca906a023..1bfb249680f4 100644
> --- a/drivers/gpu/drm/xe/xe_migrate.c
> +++ b/drivers/gpu/drm/xe/xe_migrate.c
> @@ -416,15 +416,23 @@ static u32 pte_update_size(struct xe_migrate *m,
>   
>   static void emit_pte(struct xe_migrate *m,
>   		     struct xe_bb *bb, u32 at_pt,
> -		     bool is_vram,
> +		     bool is_vram, bool is_comp_pte,
>   		     struct xe_res_cursor *cur,
>   		     u32 size, struct xe_bo *bo)
>   {
> -	u16 pat_index = tile_to_xe(m->tile)->pat.idx[XE_CACHE_WB];
> +	struct xe_device *xe = tile_to_xe(m->tile);
> +
> +	u16 pat_index;
>   	u32 ptes;
>   	u64 ofs = at_pt * XE_PAGE_SIZE;
>   	u64 cur_ofs;
>   
> +	/* Indirect access needs compression enabled uncached PAT index */
> +	if (GRAPHICS_VERx100(xe) >= 2000)
> +		pat_index = is_comp_pte ? 12 : xe->pat.idx[XE_CACHE_NONE];

Please use a relevant define instead of  "12".

> +	else
> +		pat_index = xe->pat.idx[XE_CACHE_WB];
> +
>   	/*
>   	 * FIXME: Emitting VRAM PTEs to L0 PTs is forbidden. Currently
>   	 * we're only emitting VRAM PTEs during sanity tests, so when
> @@ -722,19 +730,19 @@ struct dma_fence *xe_migrate_copy(struct xe_migrate *m,
>   		}
>   
>   		if (!src_is_vram)
> -			emit_pte(m, bb, src_L0_pt, src_is_vram, &src_it, src_L0,
> +			emit_pte(m, bb, src_L0_pt, src_is_vram, true, &src_it, src_L0,
>   				 src_bo);
>   		else
>   			xe_res_next(&src_it, src_L0);
>   
>   		if (!dst_is_vram)
> -			emit_pte(m, bb, dst_L0_pt, dst_is_vram, &dst_it, src_L0,
> +			emit_pte(m, bb, dst_L0_pt, dst_is_vram, true, &dst_it, src_L0,
>   				 dst_bo);
>   		else
>   			xe_res_next(&dst_it, src_L0);
>   
>   		if (copy_system_ccs)
> -			emit_pte(m, bb, ccs_pt, false, &ccs_it, ccs_size, src_bo);
> +			emit_pte(m, bb, ccs_pt, false, false, &ccs_it, ccs_size, src_bo);
>   
>   		bb->cs[bb->len++] = MI_BATCH_BUFFER_END;
>   		update_idx = bb->len;
> @@ -975,7 +983,7 @@ struct dma_fence *xe_migrate_clear(struct xe_migrate *m,
>   
>   		/* Preemption is enabled again by the ring ops. */
>   		if (!clear_vram) {
> -			emit_pte(m, bb, clear_L0_pt, clear_vram, &src_it, clear_L0,
> +			emit_pte(m, bb, clear_L0_pt, clear_vram, true, &src_it, clear_L0,
>   				 bo);
>   		} else {
>   			xe_res_next(&src_it, clear_L0);

  reply	other threads:[~2023-12-07 12:47 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-07  9:19 [Intel-xe] [PATCH v6 0/9] Enable compression handling on LNL Himal Prasad Ghimiray
2023-12-07  9:19 ` [Intel-xe] [PATCH v6 1/9] drm/xe/xe2: Determine bios enablement for flat ccs on igfx Himal Prasad Ghimiray
2023-12-07  9:19 ` [Intel-xe] [PATCH v6 2/9] drm/xe/xe2: Allocate extra pages for ccs during bo create Himal Prasad Ghimiray
2023-12-07  9:19 ` [Intel-xe] [PATCH v6 3/9] drm/xe/xe2: Updates on XY_CTRL_SURF_COPY_BLT Himal Prasad Ghimiray
2023-12-07  9:19 ` [Intel-xe] [PATCH v6 4/9] drm/xe/xe_migrate: Use NULL 1G PTE mapped at 255GiB VA for ccs clear Himal Prasad Ghimiray
2023-12-07  9:19 ` [Intel-xe] [PATCH v6 5/9] drm/xe/xe2: Update chunk size for each iteration of ccs copy Himal Prasad Ghimiray
2023-12-07 12:44   ` Thomas Hellström
2023-12-08  5:05     ` Ghimiray, Himal Prasad
2023-12-07  9:19 ` [Intel-xe] [PATCH v6 6/9] drm/xe/xe2: Update emit_pte to use compression enabled PAT index Himal Prasad Ghimiray
2023-12-07 12:47   ` Thomas Hellström [this message]
2023-12-08  5:06     ` Ghimiray, Himal Prasad
2023-12-07  9:19 ` [Intel-xe] [PATCH v6 7/9] drm/xe/xe2: Handle flat ccs move for igfx Himal Prasad Ghimiray
2023-12-07 12:58   ` Thomas Hellström
2023-12-11  5:15     ` Ghimiray, Himal Prasad
2023-12-07  9:19 ` [Intel-xe] [PATCH v6 8/9] drm/xe/xe2: Modify xe_bo_test for system memory Himal Prasad Ghimiray
2023-12-07 13:00   ` Thomas Hellström
2023-12-07  9:19 ` [Intel-xe] [PATCH v6 9/9] drm/xe/xe2: Support flat ccs Himal Prasad Ghimiray
2023-12-07 13:01   ` Thomas Hellström
2023-12-08  5:08     ` Ghimiray, Himal Prasad
2023-12-07 10:20 ` ✓ CI.Patch_applied: success for Enable compression handling on LNL. (rev7) Patchwork
2023-12-07 10:20 ` ✓ CI.checkpatch: " Patchwork
2023-12-07 10:21 ` ✓ CI.KUnit: " Patchwork
2023-12-07 10:28 ` ✓ CI.Build: " Patchwork
2023-12-07 10:29 ` ✓ CI.Hooks: " Patchwork
2023-12-07 10:30 ` ✓ CI.checksparse: " Patchwork
2023-12-07 11:07 ` ✗ CI.BAT: failure " Patchwork

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=ea7ef5d1-c1bc-caac-6106-ab7a5b66d97f@linux.intel.com \
    --to=thomas.hellstrom@linux.intel.com \
    --cc=himal.prasad.ghimiray@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=matthew.auld@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: 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.