[Intel-gfx] [PATCH] drm/i915/cnl: WaForceEnableNonCoherent
Mika Kuoppala
mika.kuoppala at linux.intel.com
Fri Aug 25 09:38:11 UTC 2017
Michał Winiarski <michal.winiarski at intel.com> writes:
> On Thu, Aug 24, 2017 at 03:42:05PM -0700, Oscar Mateo wrote:
>>
>>
>> On 08/23/2017 03:02 PM, Rodrigo Vivi wrote:
>> > Must Force Non-Coherent whenever executing a 3D context.
>> > This is a workaround for a possible hang in the unlikely event
>> > a TLB invalidation occurs during a PSD flush.
>> > Set masked bit 4 in 0x7300 during boot.
>>
>> This bug should not be present in HW anymore. A different reason to keep
>> doing this is performance, though.
>
> Doesn't userspace already has a choice between coherent and non-coherent access.
> Why would we want to cheat, and force non-coherent when it clearly wants to use
> coherent one?
> (well, because that's what we've been always doing is one reason, the other one
> may be that "clearly" can sometimes turn out to be "by accident")
>
Caveat for below is that I haven't investigated the cnl particulars. But
we did end up having system hangs on skl in the past by mismatching this,
see commit e238659ddd889a5d3fbdfa1a2ab120f90404bf41
-Mika
> -Michał
>
>>
>> > Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
>> > Cc: Oscar Mateo <oscar.mateo at intel.com>
>> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
>> > ---
>> > drivers/gpu/drm/i915/intel_engine_cs.c | 5 ++++-
>> > 1 file changed, 4 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
>> > index a6ac9d0a4156..7dfc78b038c4 100644
>> > --- a/drivers/gpu/drm/i915/intel_engine_cs.c
>> > +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
>> > @@ -1071,8 +1071,11 @@ static int cnl_init_workarounds(struct intel_engine_cs *engine)
>> > int ret;
>> > /* WaForceContextSaveRestoreNonCoherent:cnl */
>> > + /* WaForceEnableNonCoherent:cnl */
>> > WA_SET_BIT_MASKED(CNL_HDC_CHICKEN0,
>> > - HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT);
>> > + HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT |
>> > + HDC_FORCE_NON_COHERENT);
>> > +
>> > /* WaDisableReplayBufferBankArbitrationOptimization:cnl */
>> > WA_SET_BIT_MASKED(COMMON_SLICE_CHICKEN2,
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list