[Intel-gfx] [PATCH] drm/i915: flush system agent TLBs on SNB so we can WC map the PTEs

Paulo Zanoni przanoni at gmail.com
Fri Oct 12 19:21:57 CEST 2012


Hi

2012/10/12 Daniel Vetter <daniel at ffwll.ch>:
> On Fri, Oct 12, 2012 at 03:54:50AM -0400, Dave Airlie wrote:
>> On Thu, Oct 11, 2012 at 7:54 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
>> > On Thu, 11 Oct 2012 20:29:47 -0300
>> > Paulo Zanoni <przanoni at gmail.com> wrote:
>> >
>> >> Hi
>> >>
>> >> 2012/10/11 Jesse Barnes <jbarnes at virtuousgeek.org>:
>> >> > I've only lightly tested this so far, but the corruption seems to be
>> >> > gone if I write the GFX_FLSH_CNTL reg after binding an object.  This
>> >> > register should control the TLB for the system agent, which is what CPU
>> >> > mapped objects will go through.
>> >> >
>> >> > Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
>> >>
>> >> I'm not sure if this is the patch you asked me to test on IRC, but,
>> >> well this is the patch I tested :)
>> >>
>> >> I tested it on HSW on top of dinq + some other patches. Booted the
>> >> machine, ran mostly xfterm4 under Xfce, but I also ran firefox,
>> >> gnome-shell and restarted X a few times. No GPU hangs so far. I'm
>> >> testing this for about 3-4 hours.
>> >>
>> >> I do have to say that I could not find this register on the HSW
>> >> documentation, but I also did no see any "Unclaimed write" messages
>> >> containing the 101008 address... I'm a little confused.
>> >>
>> >> And the interesting thing: intel_gpu_tools is useless now. I keep
>> >> getting "Couldn't map MMIO region: Resource temporarily unavailable".
>> >> Do you see this too?
>> >
>> > No I haven't seen that, I ran some tests today with the tip of the tree
>> > too...  Dunno why the resource files would return EBUSY?  Maybe because
>> > a driver is bound?
>>
>> More likely because of some WB/WC/UC collision. We don't like aliases.
>
> Yep, you need to upgrade, latest i-g-t should handle the wc/uc split
> correctly. The important testcase is gem_gtt_cpu_tlb, if that one works
> this patch is good.

You are right, thanks. A git pull on i-g-t makes everything work again :)
And gem_gtt_cpu_tlb also passes.

Tested-by: Paulo Zanoni <paulo.r.zanoni at intel.com>

> -Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Paulo Zanoni



More information about the Intel-gfx mailing list