All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
Cc: tony.luck@intel.com, d.scott.phillips@intel.com,
	omer.aran@intel.com, jani.nikula@intel.com,
	intel-gfx@lists.freedesktop.org, david.c.stewart@intel.com,
	dri-devel@lists.freedesktop.org, sudeep.dutt@intel.com,
	pragyansri.pathi@intel.com, jon.bloomfield@intel.com,
	chris.p.wilson@intel.com, joonas.lahtinen@intel.com,
	francesco.balestrieri@intel.com, daniel.vetter@intel.com,
	prathap.kumar.valsan@intel.com, mika.kuoppala@intel.com
Subject: Re: [Intel-gfx] [RFC PATCH v2 2/2] drm/i915/gen7: Clear all EU/L3 residual contexts
Date: Thu, 16 Jan 2020 18:55:53 +0200	[thread overview]
Message-ID: <20200116165553.GI13686@intel.com> (raw)
In-Reply-To: <20200114174549.74643-3-akeem.g.abodunrin@intel.com>

On Tue, Jan 14, 2020 at 09:45:48AM -0800, Akeem G Abodunrin wrote:
> From: Prathap Kumar Valsan <prathap.kumar.valsan@intel.com>
> 
> On gen7 and gen7.5 devices, there could be leftover data residuals in
> EU/L3 from the retiring context. This patch introduces workaround to clear
> that residual contexts, by submitting a batch buffer with dedicated HW
> context to the GPU with ring allocation for each context switching.
> 
> V2: Addressed comments about unused code, code formatting, and include
> additional debug code
> 
> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> Signed-off-by: Prathap Kumar Valsan <prathap.kumar.valsan@intel.com>
> Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
> Cc: Chris Wilson <chris.p.wilson@intel.com>
> Cc: Balestrieri Francesco <francesco.balestrieri@intel.com>
> Cc: Bloomfield Jon <jon.bloomfield@intel.com>
> Cc: Dutt Sudeep <sudeep.dutt@intel.com>
> ---
>  drivers/gpu/drm/i915/Makefile                 |   1 +
>  drivers/gpu/drm/i915/gt/gen7_renderclear.c    | 515 ++++++++++++++++++
>  drivers/gpu/drm/i915/gt/gen7_renderclear.h    |  16 +
>  drivers/gpu/drm/i915/gt/intel_gpu_commands.h  |  17 +-
>  .../gpu/drm/i915/gt/intel_ring_submission.c   |   3 +-
>  drivers/gpu/drm/i915/i915_utils.h             |   5 +
>  6 files changed, 553 insertions(+), 4 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/gt/gen7_renderclear.c
>  create mode 100644 drivers/gpu/drm/i915/gt/gen7_renderclear.h
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index b8c5f8934dbd..e5386871f015 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -75,6 +75,7 @@ gt-y += \
>  	gt/debugfs_gt.o \
>  	gt/debugfs_gt_pm.o \
>  	gt/gen6_ppgtt.o \
> +	gt/gen7_renderclear.o \
>  	gt/gen8_ppgtt.o \
>  	gt/intel_breadcrumbs.o \
>  	gt/intel_context.o \
> diff --git a/drivers/gpu/drm/i915/gt/gen7_renderclear.c b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> new file mode 100644
> index 000000000000..6fe2a6fcbddd
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> @@ -0,0 +1,515 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2019 Intel Corporation
> + */
> +
> +#include "gen7_renderclear.h"
> +#include "i915_drv.h"
> +#include "i915_utils.h"
> +#include "intel_gpu_commands.h"
> +
> +#define MAX_URB_ENTRIES 64
> +#define STATE_SIZE (4 * 1024)
> +#define GT3_INLINE_DATA_DELAYS 0x1E00
> +
> +/* Media CB Kernel for gen7 devices */
> +static const u32 cb7_kernel[][4] = {
> +	{ 0x00000001, 0x26020128, 0x00000024, 0x00000000 },
> +	{ 0x00000040, 0x20280c21, 0x00000028, 0x00000001 },
> +	{ 0x01000010, 0x20000c20, 0x0000002c, 0x00000000 },
> +	{ 0x00010220, 0x34001c00, 0x00001400, 0x0000002c },
> +	{ 0x00600001, 0x20600061, 0x00000000, 0x00000000 },
> +	{ 0x00000008, 0x20601c85, 0x00000e00, 0x0000000c },
> +	{ 0x00000005, 0x20601ca5, 0x00000060, 0x00000001 },
> +	{ 0x00000008, 0x20641c85, 0x00000e00, 0x0000000d },
> +	{ 0x00000005, 0x20641ca5, 0x00000064, 0x00000003 },
> +	{ 0x00000041, 0x207424a5, 0x00000064, 0x00000034 },
> +	{ 0x00000040, 0x206014a5, 0x00000060, 0x00000074 },
> +	{ 0x00000008, 0x20681c85, 0x00000e00, 0x00000008 },
> +	{ 0x00000005, 0x20681ca5, 0x00000068, 0x0000000f },
> +	{ 0x00000041, 0x20701ca5, 0x00000060, 0x00000010 },
> +	{ 0x00000040, 0x206814a5, 0x00000068, 0x00000070 },
> +	{ 0x00600001, 0x20a00061, 0x00000000, 0x00000000 },
> +	{ 0x00000005, 0x206c1c85, 0x00000e00, 0x00000007 },
> +	{ 0x00000041, 0x206c1ca5, 0x0000006c, 0x00000004 },
> +	{ 0x00600001, 0x20800021, 0x008d0000, 0x00000000 },
> +	{ 0x00000001, 0x20800021, 0x0000006c, 0x00000000 },
> +	{ 0x00000001, 0x20840021, 0x00000068, 0x00000000 },
> +	{ 0x00000001, 0x20880061, 0x00000000, 0x00000003 },
> +	{ 0x00000005, 0x208c0d21, 0x00000086, 0xffffffff },
> +	{ 0x05600032, 0x20a01fa1, 0x008d0080, 0x02190001 },
> +	{ 0x00000040, 0x20a01ca5, 0x000000a0, 0x00000001 },
> +	{ 0x05600032, 0x20a01fa1, 0x008d0080, 0x040a8001 },
> +	{ 0x02000040, 0x20281c21, 0x00000028, 0xffffffff },
> +	{ 0x00010220, 0x34001c00, 0x00001400, 0xfffffffc },
> +	{ 0x00000001, 0x26020128, 0x00000024, 0x00000000 },
> +	{ 0x00000001, 0x220000e4, 0x00000000, 0x00000000 },
> +	{ 0x00000001, 0x220801ec, 0x00000000, 0x007f007f },
> +	{ 0x00600001, 0x20400021, 0x008d0000, 0x00000000 },
> +	{ 0x00600001, 0x2fe00021, 0x008d0000, 0x00000000 },
> +	{ 0x00200001, 0x20400121, 0x00450020, 0x00000000 },
> +	{ 0x00000001, 0x20480061, 0x00000000, 0x000f000f },
> +	{ 0x00000005, 0x204c0d21, 0x00000046, 0xffffffef },
> +	{ 0x00800001, 0x20600061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x20800061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x20a00061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x20c00061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x20e00061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x21000061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x21200061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x21400061, 0x00000000, 0x00000000 },
> +	{ 0x05600032, 0x20001fa0, 0x008d0040, 0x120a8000 },
> +	{ 0x00000040, 0x20402d21, 0x00000020, 0x00100010 },
> +	{ 0x05600032, 0x20001fa0, 0x008d0040, 0x120a8000 },
> +	{ 0x02000040, 0x22083d8c, 0x00000208, 0xffffffff },
> +	{ 0x00800001, 0xa0000109, 0x00000602, 0x00000000 },
> +	{ 0x00000040, 0x22001c84, 0x00000200, 0x00000020 },
> +	{ 0x00010220, 0x34001c00, 0x00001400, 0xfffffff8 },
> +	{ 0x07600032, 0x20001fa0, 0x008d0fe0, 0x82000010 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +};

Where's the asm/whatever source for these kernels?

-- 
Ville Syrjälä
Intel
_______________________________________________
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: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
Cc: tony.luck@intel.com, omer.aran@intel.com, jani.nikula@intel.com,
	intel-gfx@lists.freedesktop.org, david.c.stewart@intel.com,
	dri-devel@lists.freedesktop.org, pragyansri.pathi@intel.com,
	chris.p.wilson@intel.com, joonas.lahtinen@intel.com,
	daniel.vetter@intel.com, mika.kuoppala@intel.com
Subject: Re: [Intel-gfx] [RFC PATCH v2 2/2] drm/i915/gen7: Clear all EU/L3 residual contexts
Date: Thu, 16 Jan 2020 18:55:53 +0200	[thread overview]
Message-ID: <20200116165553.GI13686@intel.com> (raw)
In-Reply-To: <20200114174549.74643-3-akeem.g.abodunrin@intel.com>

On Tue, Jan 14, 2020 at 09:45:48AM -0800, Akeem G Abodunrin wrote:
> From: Prathap Kumar Valsan <prathap.kumar.valsan@intel.com>
> 
> On gen7 and gen7.5 devices, there could be leftover data residuals in
> EU/L3 from the retiring context. This patch introduces workaround to clear
> that residual contexts, by submitting a batch buffer with dedicated HW
> context to the GPU with ring allocation for each context switching.
> 
> V2: Addressed comments about unused code, code formatting, and include
> additional debug code
> 
> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> Signed-off-by: Prathap Kumar Valsan <prathap.kumar.valsan@intel.com>
> Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
> Cc: Chris Wilson <chris.p.wilson@intel.com>
> Cc: Balestrieri Francesco <francesco.balestrieri@intel.com>
> Cc: Bloomfield Jon <jon.bloomfield@intel.com>
> Cc: Dutt Sudeep <sudeep.dutt@intel.com>
> ---
>  drivers/gpu/drm/i915/Makefile                 |   1 +
>  drivers/gpu/drm/i915/gt/gen7_renderclear.c    | 515 ++++++++++++++++++
>  drivers/gpu/drm/i915/gt/gen7_renderclear.h    |  16 +
>  drivers/gpu/drm/i915/gt/intel_gpu_commands.h  |  17 +-
>  .../gpu/drm/i915/gt/intel_ring_submission.c   |   3 +-
>  drivers/gpu/drm/i915/i915_utils.h             |   5 +
>  6 files changed, 553 insertions(+), 4 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/gt/gen7_renderclear.c
>  create mode 100644 drivers/gpu/drm/i915/gt/gen7_renderclear.h
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index b8c5f8934dbd..e5386871f015 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -75,6 +75,7 @@ gt-y += \
>  	gt/debugfs_gt.o \
>  	gt/debugfs_gt_pm.o \
>  	gt/gen6_ppgtt.o \
> +	gt/gen7_renderclear.o \
>  	gt/gen8_ppgtt.o \
>  	gt/intel_breadcrumbs.o \
>  	gt/intel_context.o \
> diff --git a/drivers/gpu/drm/i915/gt/gen7_renderclear.c b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> new file mode 100644
> index 000000000000..6fe2a6fcbddd
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> @@ -0,0 +1,515 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2019 Intel Corporation
> + */
> +
> +#include "gen7_renderclear.h"
> +#include "i915_drv.h"
> +#include "i915_utils.h"
> +#include "intel_gpu_commands.h"
> +
> +#define MAX_URB_ENTRIES 64
> +#define STATE_SIZE (4 * 1024)
> +#define GT3_INLINE_DATA_DELAYS 0x1E00
> +
> +/* Media CB Kernel for gen7 devices */
> +static const u32 cb7_kernel[][4] = {
> +	{ 0x00000001, 0x26020128, 0x00000024, 0x00000000 },
> +	{ 0x00000040, 0x20280c21, 0x00000028, 0x00000001 },
> +	{ 0x01000010, 0x20000c20, 0x0000002c, 0x00000000 },
> +	{ 0x00010220, 0x34001c00, 0x00001400, 0x0000002c },
> +	{ 0x00600001, 0x20600061, 0x00000000, 0x00000000 },
> +	{ 0x00000008, 0x20601c85, 0x00000e00, 0x0000000c },
> +	{ 0x00000005, 0x20601ca5, 0x00000060, 0x00000001 },
> +	{ 0x00000008, 0x20641c85, 0x00000e00, 0x0000000d },
> +	{ 0x00000005, 0x20641ca5, 0x00000064, 0x00000003 },
> +	{ 0x00000041, 0x207424a5, 0x00000064, 0x00000034 },
> +	{ 0x00000040, 0x206014a5, 0x00000060, 0x00000074 },
> +	{ 0x00000008, 0x20681c85, 0x00000e00, 0x00000008 },
> +	{ 0x00000005, 0x20681ca5, 0x00000068, 0x0000000f },
> +	{ 0x00000041, 0x20701ca5, 0x00000060, 0x00000010 },
> +	{ 0x00000040, 0x206814a5, 0x00000068, 0x00000070 },
> +	{ 0x00600001, 0x20a00061, 0x00000000, 0x00000000 },
> +	{ 0x00000005, 0x206c1c85, 0x00000e00, 0x00000007 },
> +	{ 0x00000041, 0x206c1ca5, 0x0000006c, 0x00000004 },
> +	{ 0x00600001, 0x20800021, 0x008d0000, 0x00000000 },
> +	{ 0x00000001, 0x20800021, 0x0000006c, 0x00000000 },
> +	{ 0x00000001, 0x20840021, 0x00000068, 0x00000000 },
> +	{ 0x00000001, 0x20880061, 0x00000000, 0x00000003 },
> +	{ 0x00000005, 0x208c0d21, 0x00000086, 0xffffffff },
> +	{ 0x05600032, 0x20a01fa1, 0x008d0080, 0x02190001 },
> +	{ 0x00000040, 0x20a01ca5, 0x000000a0, 0x00000001 },
> +	{ 0x05600032, 0x20a01fa1, 0x008d0080, 0x040a8001 },
> +	{ 0x02000040, 0x20281c21, 0x00000028, 0xffffffff },
> +	{ 0x00010220, 0x34001c00, 0x00001400, 0xfffffffc },
> +	{ 0x00000001, 0x26020128, 0x00000024, 0x00000000 },
> +	{ 0x00000001, 0x220000e4, 0x00000000, 0x00000000 },
> +	{ 0x00000001, 0x220801ec, 0x00000000, 0x007f007f },
> +	{ 0x00600001, 0x20400021, 0x008d0000, 0x00000000 },
> +	{ 0x00600001, 0x2fe00021, 0x008d0000, 0x00000000 },
> +	{ 0x00200001, 0x20400121, 0x00450020, 0x00000000 },
> +	{ 0x00000001, 0x20480061, 0x00000000, 0x000f000f },
> +	{ 0x00000005, 0x204c0d21, 0x00000046, 0xffffffef },
> +	{ 0x00800001, 0x20600061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x20800061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x20a00061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x20c00061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x20e00061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x21000061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x21200061, 0x00000000, 0x00000000 },
> +	{ 0x00800001, 0x21400061, 0x00000000, 0x00000000 },
> +	{ 0x05600032, 0x20001fa0, 0x008d0040, 0x120a8000 },
> +	{ 0x00000040, 0x20402d21, 0x00000020, 0x00100010 },
> +	{ 0x05600032, 0x20001fa0, 0x008d0040, 0x120a8000 },
> +	{ 0x02000040, 0x22083d8c, 0x00000208, 0xffffffff },
> +	{ 0x00800001, 0xa0000109, 0x00000602, 0x00000000 },
> +	{ 0x00000040, 0x22001c84, 0x00000200, 0x00000020 },
> +	{ 0x00010220, 0x34001c00, 0x00001400, 0xfffffff8 },
> +	{ 0x07600032, 0x20001fa0, 0x008d0fe0, 0x82000010 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
> +};

Where's the asm/whatever source for these kernels?

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2020-01-16 16:56 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-14 17:45 [RFC PATCH v2 0/2] Security mitigation for Intel Gen7 HWs Akeem G Abodunrin
2020-01-14 17:45 ` [Intel-gfx] " Akeem G Abodunrin
2020-01-14 17:45 ` [RFC PATCH v2 1/2] drm/i915: Add mechanism to submit a context WA on ring submission Akeem G Abodunrin
2020-01-14 17:45   ` [Intel-gfx] " Akeem G Abodunrin
2020-01-16 16:16   ` [PATCH " Mika Kuoppala
2020-01-16 16:16     ` [Intel-gfx] " Mika Kuoppala
2020-01-16 16:47     ` Mika Kuoppala
2020-01-16 16:47       ` [Intel-gfx] " Mika Kuoppala
2020-01-14 17:45 ` [RFC PATCH v2 2/2] drm/i915/gen7: Clear all EU/L3 residual contexts Akeem G Abodunrin
2020-01-14 17:45   ` [Intel-gfx] " Akeem G Abodunrin
2020-01-16 16:55   ` Ville Syrjälä [this message]
2020-01-16 16:55     ` Ville Syrjälä
2020-01-16 18:58   ` Chris Wilson
2020-01-16 18:58     ` [Intel-gfx] " Chris Wilson
2020-01-15  1:11 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Security mitigation for Intel Gen7 HWs Patchwork
2020-01-15  1:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-01-15  1:47 ` [Intel-gfx] ✗ Fi.CI.BUILD: warning " Patchwork
2020-01-16 16:57 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Security mitigation for Intel Gen7 HWs (rev2) Patchwork
2020-01-16 17:26 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-01-16 17:26 ` [Intel-gfx] ✗ Fi.CI.BUILD: warning " Patchwork
2020-01-17  6:02 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for Security mitigation for Intel Gen7 HWs 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=20200116165553.GI13686@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=akeem.g.abodunrin@intel.com \
    --cc=chris.p.wilson@intel.com \
    --cc=d.scott.phillips@intel.com \
    --cc=daniel.vetter@intel.com \
    --cc=david.c.stewart@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=francesco.balestrieri@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=jon.bloomfield@intel.com \
    --cc=joonas.lahtinen@intel.com \
    --cc=mika.kuoppala@intel.com \
    --cc=omer.aran@intel.com \
    --cc=pragyansri.pathi@intel.com \
    --cc=prathap.kumar.valsan@intel.com \
    --cc=sudeep.dutt@intel.com \
    --cc=tony.luck@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.