<div dir="ltr"><div>Hi Lucas,</div><div><br></div><div>Here you can find the test I used (actually pretty the same as your) : <a href="https://github.com/julbouln/test_omap5_drm/blob/master/test_viv2d.c#L472">https://github.com/julbouln/test_omap5_drm/blob/master/test_viv2d.c#L472</a></div><div>And my fix that make it works : <a href="https://github.com/julbouln/etnaviv_x15/blob/master/etnaviv_cmd_parser.c#L182">https://github.com/julbouln/etnaviv_x15/blob/master/etnaviv_cmd_parser.c#L182</a> (sorry it is kernel 4.9)</div><div><br></div><div>As a side question, did you ever managed to get multi source working by any chance ? I tried without success.<br></div><div><br></div><div>Regards<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2018-06-04 12:32 GMT+02:00 Julien Boulnois <span dir="ltr"><<a href="mailto:jboulnois@gmail.com" target="_blank">jboulnois@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi Lucas,</div><div><br></div><div>Not yet, I was looking the possibility of using it when I found this limitation.<br></div><div><br></div><div>Regards<br></div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">2018-06-04 11:19 GMT+02:00 Lucas Stach <span dir="ltr"><<a href="mailto:l.stach@pengutronix.de" target="_blank">l.stach@pengutronix.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Julien,<br>
<span><br>
Am Freitag, den 01.06.2018, 09:00 +0200 schrieb Julien Boulnois:<br>
> Hi Lucas,<br>
> <br>
> I think I found an issue in etnaviv kernel driver regarding<br>
> VIV_FE_DRAW_2D_HEADER_DATA_COU<wbr>NT<br>
> <br>
> In your old test<br>
> <a href="https://github.com/etnaviv/etna_viv/blob/master/attic/test2d/bitblt2d" rel="noreferrer" target="_blank">https://github.com/etnaviv/etn<wbr>a_viv/blob/master/attic/test2d<wbr>/bitblt2d</a><br>
> _from_stream.c you append streamed data at the end of draw command<br>
> buffer, but driver gives an error :<br>
> etnaviv_cmd_validate_one: op 21 not permitted at offset 50<br>
> <br>
> After looking closer, I think that FE_OPCODE_DRAW_2D check in<br>
> etnaviv_cmd_parser.c#etnaviv_c<wbr>md_validate_one should take account of<br>
> these extra data :<br>
> <br>
> case FE_OPCODE_DRAW_2D:<br>
>             n = EXTRACT(cmd, VIV_FE_DRAW_2D_HEADER_COUNT) * 2 +<br>
> EXTRACT(cmd, VIV_FE_DRAW_2D_HEADER_DATA_COU<wbr>NT);<br>
>             if (n == 0)<br>
>                 n = 256;<br>
>             len = 2 + n;<br>
>             break;<br>
<br>
</span>Yes, the kernel command parser is a bit too conservative here. Are you<br>
using the streamed data feature in your driver?<br>
<br>
Regards,<br>
Lucas<br>
</blockquote></div><br><br clear="all"><br></div></div><span class="HOEnZb"><font color="#888888">-- <br><div class="m_963775769725835642gmail_signature" data-smartmail="gmail_signature">Julien Boulnois</div>
</font></span></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Julien Boulnois</div>
</div>