Message ID | 1458144826-17269-1-git-send-email-tim.gore@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 16/03/2016 16:13, tim.gore@intel.com wrote: > From: Tim Gore <tim.gore@intel.com> > > This allows writes to EU flow control registers. Together > with SIP code from the user-mode driver this resolves a > hang seen in some pre-emption scenarios. Note that this > patch is just the kernel mode part of this workaround. > > v2. Oops, add FLOW_CONTROL_ENABLE macro to i915_reg.h. > > Signed-off-by: Tim Gore <tim.gore@intel.com> > --- > drivers/gpu/drm/i915/i915_reg.h | 1 + > drivers/gpu/drm/i915/intel_ringbuffer.c | 2 ++ > 2 files changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index 85ceec6..adab0f0 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -7103,6 +7103,7 @@ enum skl_disp_power_wells { > #define GEN9_CCS_TLB_PREFETCH_ENABLE (1<<3) > > #define GEN8_ROW_CHICKEN _MMIO(0xe4f0) > +#define FLOW_CONTROL_ENABLE (1<<15) > #define PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE (1<<8) > #define STALL_DOP_GATING_DISABLE (1<<5) > > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c > index 015dc7d..b6f6b3b 100644 > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c > @@ -925,8 +925,10 @@ static int gen9_init_workarounds(struct intel_engine_cs *engine) > I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) | > ECOCHK_DIS_TLB); > > + /* WaClearFlowControlGpgpuContextSave:skl,bxt */ > /* WaDisablePartialInstShootdown:skl,bxt */ > WA_SET_BIT_MASKED(GEN8_ROW_CHICKEN, > + FLOW_CONTROL_ENABLE | > PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE); > > /* Syncing dependencies between camera and graphics:skl,bxt */ > looks good to me, Reviewed-by: Arun Siluvery <arun.siluvery@linux.intel.com> regards Arun
Tim GoreĀ Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ > -----Original Message----- > From: Patchwork [mailto:patchwork@emeril.freedesktop.org] > Sent: Thursday, March 17, 2016 9:36 AM > To: Gore, Tim > Cc: intel-gfx@lists.freedesktop.org > Subject: ? Fi.CI.BAT: failure for drm/i915/gen9: add > WaClearFlowControlGpgpuContextSave (rev3) > > == Series Details == > > Series: drm/i915/gen9: add WaClearFlowControlGpgpuContextSave (rev3) > URL : https://patchwork.freedesktop.org/series/4272/ > State : failure > > == Summary == > > Series 4272v3 drm/i915/gen9: add WaClearFlowControlGpgpuContextSave > http://patchwork.freedesktop.org/api/1.0/series/4272/revisions/3/mbox/ > > Test gem_ringfill: > Subgroup basic-default-s3: > dmesg-warn -> PASS (bsw-nuc-2) > Test kms_flip: > Subgroup basic-flip-vs-wf_vblank: > pass -> DMESG-WARN (hsw-brixbox) Usual "Device suspended during HW access", https://bugs.freedesktop.org/show_bug.cgi?id=94349 > Subgroup basic-plain-flip: > dmesg-warn -> PASS (hsw-gt2) > dmesg-warn -> PASS (hsw-brixbox) > Test kms_pipe_crc_basic: > Subgroup hang-read-crc-pipe-c: > pass -> SKIP (hsw-brixbox) This test is not shown in the Patchwork_1622 summary, not sure how it got in here! > Subgroup nonblocking-crc-pipe-a: > dmesg-warn -> PASS (hsw-brixbox) > Subgroup read-crc-pipe-b: > dmesg-warn -> PASS (hsw-gt2) > Test pm_rpm: > Subgroup basic-rte: > pass -> DMESG-WARN (hsw-gt2) Usual "Device suspended during HW access", https://bugs.freedesktop.org/show_bug.cgi?id=94349 > > bdw-nuci7 total:194 pass:181 dwarn:0 dfail:0 fail:0 skip:13 > bdw-ultra total:194 pass:173 dwarn:0 dfail:0 fail:0 skip:21 > bsw-nuc-2 total:194 pass:156 dwarn:1 dfail:0 fail:0 skip:37 > byt-nuc total:194 pass:155 dwarn:4 dfail:0 fail:0 skip:35 > hsw-brixbox total:194 pass:170 dwarn:1 dfail:0 fail:0 skip:23 > hsw-gt2 total:194 pass:176 dwarn:1 dfail:0 fail:0 skip:17 > ivb-t430s total:194 pass:169 dwarn:0 dfail:0 fail:0 skip:25 > skl-i5k-2 total:194 pass:171 dwarn:0 dfail:0 fail:0 skip:23 > skl-i7k-2 total:194 pass:171 dwarn:0 dfail:0 fail:0 skip:23 > skl-nuci5 total:194 pass:183 dwarn:0 dfail:0 fail:0 skip:11 > > Results at /archive/results/CI_IGT_test/Patchwork_1622/ > > 7107208595602ace943fb5afa0de1de45d62c2b8 drm-intel-nightly: 2016y-03m- > 17d-08h-36m-48s UTC integration manifest > 2b37e8a951958145dbc808de3fbbdf4a54988fda drm/i915/gen9: add > WaClearFlowControlGpgpuContextSave
On 17/03/16 10:57, Gore, Tim wrote: > Tim Gore > Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ > > >> -----Original Message----- >> From: Patchwork [mailto:patchwork@emeril.freedesktop.org] >> Sent: Thursday, March 17, 2016 9:36 AM >> To: Gore, Tim >> Cc: intel-gfx@lists.freedesktop.org >> Subject: ? Fi.CI.BAT: failure for drm/i915/gen9: add >> WaClearFlowControlGpgpuContextSave (rev3) >> >> == Series Details == >> >> Series: drm/i915/gen9: add WaClearFlowControlGpgpuContextSave (rev3) >> URL : https://patchwork.freedesktop.org/series/4272/ >> State : failure >> >> == Summary == >> >> Series 4272v3 drm/i915/gen9: add WaClearFlowControlGpgpuContextSave >> http://patchwork.freedesktop.org/api/1.0/series/4272/revisions/3/mbox/ >> >> Test gem_ringfill: >> Subgroup basic-default-s3: >> dmesg-warn -> PASS (bsw-nuc-2) >> Test kms_flip: >> Subgroup basic-flip-vs-wf_vblank: >> pass -> DMESG-WARN (hsw-brixbox) > > Usual "Device suspended during HW access", https://bugs.freedesktop.org/show_bug.cgi?id=94349 > >> Subgroup basic-plain-flip: >> dmesg-warn -> PASS (hsw-gt2) >> dmesg-warn -> PASS (hsw-brixbox) >> Test kms_pipe_crc_basic: >> Subgroup hang-read-crc-pipe-c: >> pass -> SKIP (hsw-brixbox) > > This test is not shown in the Patchwork_1622 summary, not sure how it got in here! > >> Subgroup nonblocking-crc-pipe-a: >> dmesg-warn -> PASS (hsw-brixbox) >> Subgroup read-crc-pipe-b: >> dmesg-warn -> PASS (hsw-gt2) >> Test pm_rpm: >> Subgroup basic-rte: >> pass -> DMESG-WARN (hsw-gt2) > > Usual "Device suspended during HW access", https://bugs.freedesktop.org/show_bug.cgi?id=94349 > >> >> bdw-nuci7 total:194 pass:181 dwarn:0 dfail:0 fail:0 skip:13 >> bdw-ultra total:194 pass:173 dwarn:0 dfail:0 fail:0 skip:21 >> bsw-nuc-2 total:194 pass:156 dwarn:1 dfail:0 fail:0 skip:37 >> byt-nuc total:194 pass:155 dwarn:4 dfail:0 fail:0 skip:35 >> hsw-brixbox total:194 pass:170 dwarn:1 dfail:0 fail:0 skip:23 >> hsw-gt2 total:194 pass:176 dwarn:1 dfail:0 fail:0 skip:17 >> ivb-t430s total:194 pass:169 dwarn:0 dfail:0 fail:0 skip:25 >> skl-i5k-2 total:194 pass:171 dwarn:0 dfail:0 fail:0 skip:23 >> skl-i7k-2 total:194 pass:171 dwarn:0 dfail:0 fail:0 skip:23 >> skl-nuci5 total:194 pass:183 dwarn:0 dfail:0 fail:0 skip:11 >> >> Results at /archive/results/CI_IGT_test/Patchwork_1622/ >> >> 7107208595602ace943fb5afa0de1de45d62c2b8 drm-intel-nightly: 2016y-03m- >> 17d-08h-36m-48s UTC integration manifest >> 2b37e8a951958145dbc808de3fbbdf4a54988fda drm/i915/gen9: add >> WaClearFlowControlGpgpuContextSave Merged, thanks for the patch and review. Regards, Tvrtko
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 85ceec6..adab0f0 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -7103,6 +7103,7 @@ enum skl_disp_power_wells { #define GEN9_CCS_TLB_PREFETCH_ENABLE (1<<3) #define GEN8_ROW_CHICKEN _MMIO(0xe4f0) +#define FLOW_CONTROL_ENABLE (1<<15) #define PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE (1<<8) #define STALL_DOP_GATING_DISABLE (1<<5) diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 015dc7d..b6f6b3b 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -925,8 +925,10 @@ static int gen9_init_workarounds(struct intel_engine_cs *engine) I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) | ECOCHK_DIS_TLB); + /* WaClearFlowControlGpgpuContextSave:skl,bxt */ /* WaDisablePartialInstShootdown:skl,bxt */ WA_SET_BIT_MASKED(GEN8_ROW_CHICKEN, + FLOW_CONTROL_ENABLE | PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE); /* Syncing dependencies between camera and graphics:skl,bxt */