| .. | .. |
|---|
| 385 | 385 | /* Ensure all unused data is 0 */ |
|---|
| 386 | 386 | data_trail &= 0xFFFFFFFF >> (8 * (sizeof(u32) - trail_bytes)); |
|---|
| 387 | 387 | writel(data_trail, data_reg); |
|---|
| 388 | | - data_reg++; |
|---|
| 388 | + data_reg += sizeof(u32); |
|---|
| 389 | 389 | } |
|---|
| 390 | + |
|---|
| 390 | 391 | /* |
|---|
| 391 | 392 | * 'data_reg' indicates next register to write. If we did not already |
|---|
| 392 | 393 | * write on tx complete reg(last reg), we must do so for transmit |
|---|
| 394 | + * In addition, we also need to make sure all intermediate data |
|---|
| 395 | + * registers(if any required), are reset to 0 for TISCI backward |
|---|
| 396 | + * compatibility to be maintained. |
|---|
| 393 | 397 | */ |
|---|
| 394 | | - if (data_reg <= qinst->queue_buff_end) |
|---|
| 395 | | - writel(0, qinst->queue_buff_end); |
|---|
| 398 | + while (data_reg <= qinst->queue_buff_end) { |
|---|
| 399 | + writel(0, data_reg); |
|---|
| 400 | + data_reg += sizeof(u32); |
|---|
| 401 | + } |
|---|
| 396 | 402 | |
|---|
| 397 | 403 | return 0; |
|---|
| 398 | 404 | } |
|---|