<div dir="ltr"><div dir="ltr">On Sat, Jan 2, 2021 at 7:51 PM Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sat, Jan 2, 2021 at 1:35 PM Mario Kleiner <<a href="mailto:mario.kleiner.de@gmail.com" target="_blank">mario.kleiner.de@gmail.com</a>> wrote:<br>
> I'm less sure about nouveau. It uses modifiers, but has atomic support<br>
> only on nv50+ and that atomic support is off by default -- needs a<br>
> nouveau.nouveau_atomic=1 boot parameter to switch it on. It seems to<br>
> enable modifier support unconditionally regardless if atomic or not,<br>
> see:<br>
> <a href="https://elixir.bootlin.com/linux/v5.11-rc1/source/drivers/gpu/drm/nouveau/nouveau_display.c#L703" rel="noreferrer" target="_blank">https://elixir.bootlin.com/linux/v5.11-rc1/source/drivers/gpu/drm/nouveau/nouveau_display.c#L703</a><br>
><br>
> Atm. nouveau doesn't assign a new format_info though, so wouldn't<br>
> trigger this issue atm.<br>
<br>
Note that pre-nv50, no modifiers exist. Also,<br>
drm_drv_uses_atomic_modeset() doesn't care whether the client is an<br>
atomic client or not. It will return true for nv50+ no matter what.<br>
nouveau_atomic=1 affects whether atomic UAPI is exposed. Not sure if<br>
this impacts your discussion.<br>
<br></blockquote><div><br></div><div>Thanks Ilia. So nouveau is fine in any case, as nv50 => modifiers and atomic commit even if atomic UAPI is off. Also drm_drv_uses_atomic_modeset() is the right choice, as my patch should check if the atomic driver uses atomic commit, it doesn't care about atomic UAPI or the client being atomic.</div><div><br></div><div>-mario</div><div> </div></div></div>