PP stream terminator size seems to be 4 words, it worked with full PP
stream because we align stream beginning to 32 bytes and BO is
initialized with zeroes. But with partial PP stream it sometimes break
if for new PP stream we reuse BO that has non-zero value at this place.
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
* extra size should be added to the preceeding stream
* 2. alignment: each stream address should be 0x20 aligned
*/
- int delta = tiled_w * tiled_h / num_pp * 16 + 8;
+ int delta = tiled_w * tiled_h / num_pp * 16 + 16;
int remain = tiled_w * tiled_h % num_pp;
int offset = 0;
for (i = 0; i < num_pp; i++) {
stream[i][si[i]++] = 0;
stream[i][si[i]++] = 0xBC000000;
+ stream[i][si[i]++] = 0;
+ stream[i][si[i]++] = 0;
lima_dump_command_stream_print(
stream[i], si[i] * 4, false, "pp plb stream %d at va %x\n",