On Tue, Sep 05, 2017 at 02:47:35PM +0100, Chris Wilson wrote: > The original gen4 has an issue where writes (both render and blt) into > snoopable pages are lost. BTW is this documented somewhere, or just folk lore? I only found bspec notes that snooped->snooped and tiled+snooped isn't allowed. But I guess this is something more generic? It does appear to match notes in ddx/igt so Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > We've previously worked around this in > userspace (ddx, igt) by simply not requesting snoopable buffers, but upon > rediscovering this problem for a third time, make the kernel reject such > requests with -ENODEV. > > This disables snooping on userspace buffers for i965 and i965gm (original > gen4) machines. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_pci.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c > index e6e75a9d140e..f060536cc405 100644 > --- a/drivers/gpu/drm/i915/i915_pci.c > +++ b/drivers/gpu/drm/i915/i915_pci.c > @@ -168,6 +168,7 @@ static const struct intel_device_info intel_i965g_info __initconst = { > .platform = INTEL_I965G, > .has_overlay = 1, > .hws_needs_physical = 1, > + .has_snoop = false, > }; > > static const struct intel_device_info intel_i965gm_info __initconst = { > @@ -177,6 +178,7 @@ static const struct intel_device_info intel_i965gm_info __initconst = { > .has_overlay = 1, > .supports_tv = 1, > .hws_needs_physical = 1, > + .has_snoop = false, > }; > > static const struct intel_device_info intel_g45_info __initconst = { > -- > 2.14.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx