<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"><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 class=""><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_<wbr>COUNT<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/<wbr>etna_viv/blob/master/attic/<wbr>test2d/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_<wbr>cmd_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_<wbr>COUNT);<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>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Julien Boulnois</div>
</div>