<div dir="ltr">Hi Russel, Lucas,<br><div class="gmail_extra"><div><div class="gmail-im"><br></div><div class="gmail-im">I have some news regarding the above topic...</div><div class="gmail-im">I was supposed to check the X server API, but unfortunately I still didn't find the time to do it, however I've noticed that these commits in linux-4.14-rc5 improve the situation regarding the corrupted screen and screen blanking in the Ubuntu Mate 17.04 login screen with i.MX6 Quad Plus:</div><div class="gmail-im"><div><br></div><div><b>gpu: ipu-v3: pre: implement workaround for ERR009624</b></div><div><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.14-rc6&id=11aff4b4c7c4b7257660ef890920f2ac72911ed0" target="_blank">https://git.kernel.org/pub/<wbr>scm/linux/kernel/git/torvalds/<wbr>linux.git/commit/?h=v4.14-rc6&<wbr>id=<wbr>11aff4b4c7c4b7257660ef890920f2<wbr>ac72911ed0</a> <br></div><div><b><br></b></div><div><b>gpu: ipu-v3: prg: wait for double buffers to be filled on channel startup</b> <br></div><div><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.14-rc6&id=263c3b8044f9c9356a34fdb2640b52d27e378f9c" target="_blank">https://git.kernel.org/pub/<wbr>scm/linux/kernel/git/torvalds/<wbr>linux.git/commit/?h=v4.14-rc6&<wbr>id=<wbr>263c3b8044f9c9356a34fdb2640b52<wbr>d27e378f9c</a></div><div><br></div><div><b>gpu: ipu-v3: Allow channel burst locking on i.MX6 only</b></div><div><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.14-rc6&id=cda77556447c782b3c9c068f81ef58136cb487c3" target="_blank">https://git.kernel.org/pub/<wbr>scm/linux/kernel/git/torvalds/<wbr>linux.git/commit/?h=v4.14-rc6&<wbr>id=<wbr>cda77556447c782b3c9c068f81ef58<wbr>136cb487c3</a><b><br></b></div><span class="gmail-im"><div><b><br></b></div><div>I've just tested kernel 4.14-rc5 on my Wandboard Quad Plus and it is able to display the login screen without blanking or corrupting the image, while in linux-4.13 it wasn't working. I used the new Fabio's DTBs for the Wandboard Quad Plus rev. D1 in both kernel versions. These DTBs fix the problem I was having with corrupted screen during early boot, but not the login screen.<br></div><div><br></div><div>Unfortunately the MMU faults remain along with the missing text in menus and icons as already reported.</div><div><br></div><div>I would like to contribute more to this topic, but unfortunately I am not being able to find the time do it. <br></div><div><br></div><div>Regards,</div><div>Luís Mendes<br></div><div><b></b></div><div><b></b></div></span></div><div class="gmail-im"><br><div class="gmail_quote">On Thu, Aug 31, 2017 at 1:44 PM, Lucas Stach <span dir="ltr"><<a href="mailto:l.stach@pengutronix.de" target="_blank">l.stach@pengutronix.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>Am Donnerstag, den 31.08.2017, 13:36 +0100 schrieb Luís Mendes:<br>
<br>
<br>
<br>
> The imx6q is not showing any issues on this Ubuntu Mate 17.04, even<br>
> for the conditions:<br>
> Aug 31 11:58:08 picolo etnaviv[4694]: Mismatch src(y=0,h=24),<br>
> dst(y=0,h=25), dy=0<br>
> Aug 31 11:58:08 picolo etnaviv[4694]: Mismatch src(y=0,h=24),<br>
> dst(y=-25,h=25), dy=25<br>
> Aug 31 11:58:08 picolo etnaviv[4694]: Mismatch src(y=0,h=1),<br>
> dst(y=-25,h=25), dy=1<br>
> Aug 31 11:58:12 picolo etnaviv[4694]: Mismatch src(y=0,h=1),<br>
> dst(y=0,h=25), dy=0<br>
><br>
><br>
> No MMU faults, no screen corruptions.<br>
><br>
<br>
</span>The GPUs on MY6Q are unable to produce MMU faults, so with incorrect<br>
programming they are reading/writing unrelated data, or the MMU scratch<br>
page.<br>
<span><br>
<br>
> The imx6qp always have MMU faults and is showing the issues when<br>
> removing the "goto callback" instruction.<br>
> Aug 30 18:41:32 picolo etnaviv[1722]: Mismatch src(y=0,h=24),<br>
> dst(y=0,h=25), dy=0<br>
> Aug 30 18:41:34 picolo etnaviv[1722]: Mismatch src(y=0,h=24),<br>
> dst(y=-25,h=25), dy=25<br>
> Aug 30 18:41:34 picolo etnaviv[1722]: Mismatch src(y=0,h=1),<br>
> dst(y=-25,h=25), dy=1<br>
> Aug 30 18:41:41 picolo etnaviv[1722]: Mismatch src(y=0,h=1),<br>
> dst(y=0,h=25), dy=0<br>
<br>
</span>The MX6QP is much stricter on the MMU side and will stop the GPU from<br>
processing any further commands if it is trying to read/write unmapped<br>
data.<br>
<span><br>
><br>
> This probably indicates that there is no implementation issue with<br>
> CopyNtoN and this is rather a side effect of the MMU faults.<br>
><br>
<br>
</span>This indicates there is in fact an implementation error in CopyNtoN, but<br>
as Russell pointed out it seems to be caused by core X server functions.<br>
The question is if we can reasonably work around the issue.<br>
<br>
Regards,<br>
Lucas<br>
<br></blockquote><div> </div></div></div></div>Thanks for the clarification.</div><div class="gmail_extra">I will have a look at the X server APIs that Russell is referring to... and check the CopyNToN implementation.</div><div class="gmail_extra">Maybe I can find something, although I am not familiar with these APIs.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Regards,</div>Luís</div>