<div dir="ltr">Acked-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 21, 2019 at 10:20 AM Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, Aug 21, 2019 at 3:55 PM Ville Syrjälä<br>
<<a href="mailto:ville.syrjala@linux.intel.com" target="_blank">ville.syrjala@linux.intel.com</a>> wrote:<br>
><br>
> On Tue, Aug 20, 2019 at 01:57:44PM -0700, Daniele Ceraolo Spurio wrote:<br>
> ><br>
> ><br>
> > On 8/20/19 12:54 PM, Daniel Vetter wrote:<br>
> > > The cpu (de)tiler hw is gone, this stopped being useful. Plus it never<br>
> > > supported any of the fancy new tiling formats, which means userspace<br>
> > > also stopped using the magic side-channel this provides.<br>
> > ><br>
> > > This would totally break a lot of the igts, but they're already broken<br>
> > > for the same reasons as userspace on gen12 would be.<br>
> > ><br>
> > > v2: Look at ggtt->num_fences instead, that also avoids the need for a<br>
> > > comment (Chris). This also means that gen12 support really needs to<br>
> > > make sure num_fences is set to 0. There is a patch for that, but it<br>
> > > checks for HAS_MAPPABLE_APERTURE, which I'm not sure is the right<br>
> > > thing really. Adding relevant people.<br>
> > ><br>
> ><br>
> > We'd obviously need to make that setting for all gen12+, because TGL<br>
> > does have mappable aperture.<br>
> ><br>
> > Apart from the tiling ioctl, the only place I see where we set tiling is<br>
> > intel_alloc_initial_plane_obj(), can the users of that object handle the<br>
> > lack of fences gracefully?<br>
><br>
> Gen4+ display engine has its own tiling controls and doesn't care about<br>
> fences. So we should be able to leave the obj tiling set to NONE.<br>
><br>
> Hmm. Actually I think we should reject tiled framebuffers in the BIOS<br>
> fb takeover because fbdev needs a linear view for the memory. No can<br>
> do without the fence.<br>
<br>
Yeah I think this is just more fallout from "no more fences in the hw".<br>
-Daniel<br>
<br>
><br>
> > When I wrote the num_fences=0 patch I was<br>
> > expecting display to be unavailable, so I didn't really look at that<br>
> > part of the code.<br>
> ><br>
> > It'd also be nice to be more explicit with fencing since we seem to<br>
> > often call i915_vma_pin_iomap, which implicitly applies a fence if<br>
> > needed, on objects that can't be tiled or have had a fence assigned a<br>
> > few lines before. This is more a nice to have tough, possibly together<br>
> > with a split of the "mappable" and "fenceable" attributes of the vma.<br>
> ><br>
> > Daniele<br>
> ><br>
> > > Cc: Daniele Ceraolo Spurio <<a href="mailto:daniele.ceraolospurio@intel.com" target="_blank">daniele.ceraolospurio@intel.com</a>><br>
> > > Cc: Stuart Summers <<a href="mailto:stuart.summers@intel.com" target="_blank">stuart.summers@intel.com</a>><br>
> > > Cc: Matthew Auld <<a href="mailto:matthew.auld@intel.com" target="_blank">matthew.auld@intel.com</a>><br>
> > > Cc: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org" target="_blank">kenneth@whitecape.org</a>><br>
> > > Cc: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>><br>
> > > Cc: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk" target="_blank">chris@chris-wilson.co.uk</a>><br>
> > > Cc: Lucas De Marchi <<a href="mailto:lucas.demarchi@intel.com" target="_blank">lucas.demarchi@intel.com</a>><br>
> > > Signed-off-by: Daniel Vetter <<a href="mailto:daniel.vetter@intel.com" target="_blank">daniel.vetter@intel.com</a>><br>
> > > ---<br>
> > >   drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 7 +++++++<br>
> > >   1 file changed, 7 insertions(+)<br>
> > ><br>
> > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_tiling.c b/drivers/gpu/drm/i915/gem/i915_gem_tiling.c<br>
> > > index ca0c2f451742..e5d1ae8d4dba 100644<br>
> > > --- a/drivers/gpu/drm/i915/gem/i915_gem_tiling.c<br>
> > > +++ b/drivers/gpu/drm/i915/gem/i915_gem_tiling.c<br>
> > > @@ -313,10 +313,14 @@ int<br>
> > >   i915_gem_set_tiling_ioctl(struct drm_device *dev, void *data,<br>
> > >                       struct drm_file *file)<br>
> > >   {<br>
> > > +   struct drm_i915_private *dev_priv = to_i915(dev);<br>
> > >     struct drm_i915_gem_set_tiling *args = data;<br>
> > >     struct drm_i915_gem_object *obj;<br>
> > >     int err;<br>
> > ><br>
> > > +   if (!dev_priv->ggtt.num_fences)<br>
> > > +           return -EOPNOTSUPP;<br>
> > > +<br>
> > >     obj = i915_gem_object_lookup(file, args->handle);<br>
> > >     if (!obj)<br>
> > >             return -ENOENT;<br>
> > > @@ -402,6 +406,9 @@ i915_gem_get_tiling_ioctl(struct drm_device *dev, void *data,<br>
> > >     struct drm_i915_gem_object *obj;<br>
> > >     int err = -ENOENT;<br>
> > ><br>
> > > +   if (!dev_priv->ggtt.num_fences)<br>
> > > +           return -EOPNOTSUPP;<br>
> > > +<br>
> > >     rcu_read_lock();<br>
> > >     obj = i915_gem_object_lookup_rcu(file, args->handle);<br>
> > >     if (obj) {<br>
> > ><br>
> > _______________________________________________<br>
> > Intel-gfx mailing list<br>
> > <a href="mailto:Intel-gfx@lists.freedesktop.org" target="_blank">Intel-gfx@lists.freedesktop.org</a><br>
> > <a href="https://lists.freedesktop.org/mailman/listinfo/intel-gfx" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br>
><br>
> --<br>
> Ville Syrjälä<br>
> Intel<br>
<br>
<br>
<br>
-- <br>
Daniel Vetter<br>
Software Engineer, Intel Corporation<br>
+41 (0) 79 365 57 48 - <a href="http://blog.ffwll.ch" rel="noreferrer" target="_blank">http://blog.ffwll.ch</a><br>
_______________________________________________<br>
Intel-gfx mailing list<br>
<a href="mailto:Intel-gfx@lists.freedesktop.org" target="_blank">Intel-gfx@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/intel-gfx" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/intel-gfx</a></blockquote></div>