[PATCH v8 7/7] drm/xe/eustall: Add workaround 22016596838 which applies to PVC.
Dixit, Ashutosh
ashutosh.dixit at intel.com
Thu Jan 30 05:14:19 UTC 2025
On Wed, 15 Jan 2025 12:02:13 -0800, Harish Chegondi wrote:
>
> Add PVC workaround 22016596838 that disables EU DOP gating
> during EU stall sampling.
>
> Signed-off-by: Harish Chegondi <harish.chegondi at intel.com>
> ---
> drivers/gpu/drm/xe/xe_eu_stall.c | 16 ++++++++++++++++
> drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
> 2 files changed, 17 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
> index 6acfd369d808..f030a9c1af84 100644
> --- a/drivers/gpu/drm/xe/xe_eu_stall.c
> +++ b/drivers/gpu/drm/xe/xe_eu_stall.c
> @@ -13,6 +13,7 @@
>
> #include "xe_bo.h"
> #include "xe_pm.h"
> +#include "xe_wa.h"
> #include "xe_trace.h"
> #include "xe_macros.h"
> #include "xe_device.h"
> @@ -26,6 +27,8 @@
> #include "regs/xe_gt_regs.h"
> #include "regs/xe_eu_stall_regs.h"
>
> +#include <generated/xe_wa_oob.h>
include in alphabetical order.
> +
> #define POLL_FREQUENCY_HZ 100
> #define POLL_PERIOD_NS (NSEC_PER_SEC / POLL_FREQUENCY_HZ)
>
> @@ -677,6 +680,14 @@ xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
> if (!xe_force_wake_ref_has_domain(fw_ref, XE_FW_RENDER))
> xe_gt_err(gt, "Failed to get RENDER forcewake\n");
>
> + /*
> + * Wa_22016596838:pvc
> + * Disable EU DOP gating for PVC.
> + */
Are these comments needed? Other places with XE_WA don't have them? Anyway
should be ok.
> + if (XE_WA(gt, 22016596838))
> + xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
> + _MASKED_BIT_ENABLE(DISABLE_DOP_GATING));
> +
> reg_value = gen_eustall_base(stream, true);
> xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value);
> }
> @@ -708,6 +719,11 @@ xe_eu_stall_stream_disable(struct xe_eu_stall_data_stream *stream)
> reg_value = gen_eustall_base(stream, false);
> xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value);
>
> + /* Wa_22016596838:pvc */
> + 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 40438c3d9b72..7dad548dbe9f 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)
> --
> 2.47.1
>
More information about the Intel-xe
mailing list