From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: Harish Chegondi <harish.chegondi@intel.com>
Cc: <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH v9 8/8] drm/xe/eustall: Add workaround 22016596838 which applies to PVC.
Date: Wed, 12 Feb 2025 12:01:45 -0800 [thread overview]
Message-ID: <85y0yb6ifq.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <49e73f762d5eabf587a251352a9b77056c47fe3a.1739193510.git.harish.chegondi@intel.com>
On Mon, 10 Feb 2025 05:46:49 -0800, Harish Chegondi wrote:
>
> Add PVC workaround 22016596838 that disables EU DOP gating
> during EU stall sampling.
>
> Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
> ---
> drivers/gpu/drm/xe/xe_eu_stall.c | 10 ++++++++++
> drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
> 2 files changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
> index 4dce58f60405..6acb87a25f78 100644
> --- a/drivers/gpu/drm/xe/xe_eu_stall.c
> +++ b/drivers/gpu/drm/xe/xe_eu_stall.c
> @@ -9,6 +9,7 @@
> #include <linux/types.h>
>
> #include <drm/drm_drv.h>
> +#include <generated/xe_wa_oob.h>
> #include <uapi/drm/xe_drm.h>
>
> #include "xe_bo.h"
> @@ -22,6 +23,7 @@
> #include "xe_observation.h"
> #include "xe_pm.h"
> #include "xe_trace.h"
> +#include "xe_wa.h"
>
> #include "regs/xe_eu_stall_regs.h"
> #include "regs/xe_gt_regs.h"
> @@ -658,6 +660,10 @@ static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
> return -ETIMEDOUT;
> }
>
> + if (XE_WA(gt, 22016596838))
> + xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
> + _MASKED_BIT_ENABLE(DISABLE_DOP_GATING));
> +
> for_each_dss_steering(xecore, gt, group, instance) {
> write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, group, instance);
> /* Clear any drop bits set and not cleared in the previous session. */
> @@ -816,6 +822,10 @@ static int xe_eu_stall_disable_locked(struct xe_eu_stall_data_stream *stream)
> queue_delayed_work(stream->buf_poll_wq, &stream->buf_poll_work, 0);
> flush_delayed_work(&stream->buf_poll_work);
>
> + if (XE_WA(gt, 22016596838))
> + xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
> + _MASKED_BIT_DISABLE(DISABLE_DOP_GATING));
> +
> xe_force_wake_put(gt_to_fw(gt), XE_FW_RENDER);
> xe_pm_runtime_put(gt_to_xe(gt));
>
> diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
> index 228436532282..8e2cae7f7135 100644
> --- a/drivers/gpu/drm/xe/xe_wa_oob.rules
> +++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
> @@ -5,6 +5,7 @@
> 22011391025 PLATFORM(DG2)
> 22012727170 SUBPLATFORM(DG2, G11)
> 22012727685 SUBPLATFORM(DG2, G11)
> +22016596838 PLATFORM(PVC)
> 18020744125 PLATFORM(PVC)
> 1509372804 PLATFORM(PVC), GRAPHICS_STEP(A0, C0)
> 1409600907 GRAPHICS_VERSION_RANGE(1200, 1250)
I am assuming:
* 22016596838 is the correct lineage bug number for this
* It is ok to do the enable/disable DOP gating in EU stall enable/disable,
rather than in say stream_init/stream_close.
With this, this lgtm:
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
next prev parent reply other threads:[~2025-02-12 20:01 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-10 13:46 [PATCH v9 0/8] Add support for EU stall sampling Harish Chegondi
2025-02-10 13:46 ` [PATCH v9 1/8] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask Harish Chegondi
2025-02-10 17:31 ` Dixit, Ashutosh
2025-02-10 13:46 ` [PATCH v9 2/8] drm/xe/uapi: Introduce API for EU stall sampling Harish Chegondi
2025-02-10 23:07 ` Dixit, Ashutosh
2025-02-10 23:53 ` Dixit, Ashutosh
2025-02-11 19:50 ` Dixit, Ashutosh
2025-02-12 23:54 ` Harish Chegondi
2025-02-13 2:39 ` Dixit, Ashutosh
2025-02-16 1:49 ` Harish Chegondi
2025-02-16 5:49 ` Dixit, Ashutosh
2025-02-18 11:54 ` Jani Nikula
2025-02-10 13:46 ` [PATCH v9 3/8] drm/xe/eustall: Add support to init, enable and disable " Harish Chegondi
2025-02-11 17:33 ` Dixit, Ashutosh
2025-02-11 22:02 ` Harish Chegondi
2025-02-12 2:44 ` Dixit, Ashutosh
2025-02-10 13:46 ` [PATCH v9 4/8] drm/xe/eustall: Add support to read() and poll() EU stall data Harish Chegondi
2025-02-12 19:02 ` Dixit, Ashutosh
2025-02-14 7:51 ` Harish Chegondi
2025-02-14 20:34 ` Dixit, Ashutosh
2025-02-15 0:44 ` Harish Chegondi
2025-02-15 2:22 ` Dixit, Ashutosh
2025-02-18 0:35 ` Harish Chegondi
2025-02-18 4:02 ` Dixit, Ashutosh
2025-02-10 13:46 ` [PATCH v9 5/8] drm/xe/eustall: Add support to handle dropped " Harish Chegondi
2025-02-13 6:31 ` Dixit, Ashutosh
2025-02-13 21:55 ` Harish Chegondi
2025-02-13 23:45 ` Dixit, Ashutosh
2025-02-14 0:11 ` Dixit, Ashutosh
2025-02-14 2:05 ` Dixit, Ashutosh
2025-02-14 2:23 ` Dixit, Ashutosh
2025-02-10 13:46 ` [PATCH v9 6/8] drm/xe/eustall: Add EU stall sampling support for Xe2 Harish Chegondi
2025-02-12 19:46 ` Dixit, Ashutosh
2025-02-10 13:46 ` [PATCH v9 7/8] drm/xe/uapi: Add a device query to get EU stall sampling information Harish Chegondi
2025-02-12 21:13 ` Dixit, Ashutosh
2025-02-10 13:46 ` [PATCH v9 8/8] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi
2025-02-12 20:01 ` Dixit, Ashutosh [this message]
2025-02-10 14:32 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork
2025-02-10 14:33 ` ✗ CI.checkpatch: warning " Patchwork
2025-02-10 14:34 ` ✓ CI.KUnit: success " Patchwork
2025-02-10 14:50 ` ✓ CI.Build: " Patchwork
2025-02-10 14:53 ` ✓ CI.Hooks: " Patchwork
2025-02-10 14:54 ` ✓ CI.checksparse: " Patchwork
2025-02-11 7:24 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling (rev2) Patchwork
2025-02-11 7:24 ` ✗ CI.checkpatch: warning " Patchwork
2025-02-11 7:25 ` ✓ CI.KUnit: success " Patchwork
2025-02-11 7:42 ` ✓ CI.Build: " Patchwork
2025-02-11 7:43 ` ✗ CI.Hooks: failure " Patchwork
2025-02-11 7:44 ` ✗ CI.checksparse: warning " Patchwork
2025-02-11 8:04 ` ✓ Xe.CI.BAT: success " Patchwork
2025-02-11 16:11 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-11 19:23 ` [PATCH v9 0/8] Add support for EU stall sampling Dixit, Ashutosh
2025-02-12 9:42 ` ✗ Xe.CI.Full: failure for " 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=85y0yb6ifq.wl-ashutosh.dixit@intel.com \
--to=ashutosh.dixit@intel.com \
--cc=harish.chegondi@intel.com \
--cc=intel-xe@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox