avf: Handle chain buffer in TX properly 80/25580/2
authorSteven Luong <sluong@cisco.com>
Thu, 13 Feb 2020 17:27:38 +0000 (09:27 -0800)
committerDave Wallace <dwallacelf@gmail.com>
Tue, 10 Mar 2020 14:22:23 +0000 (14:22 +0000)
commit4056ed59a0fd7c61629a4d0a882fadab2b316e22
tree6cbd6fda4cc8cfb3a5dd43273382f11e6a6ecdef
parentcd88ca366c18dbf6761199f1f2f935895497d82f
avf: Handle chain buffer in TX properly

For chain buffer, need to traverse b->next_buffer to transmit all buffers
in the chain. Only set EOP at the last descriptor in the chain to signal
this is a chain descriptor.

Introduce slow path to handle ring wrap. This is needed because chain
buffer may consist of multiple pieces and it may span from near the end of
the ring to the beginning of the ring.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Id7c872f3e39e09f3566aa63f3cdba8f40736d508
(cherry picked from commit f7ab7b2d9bc0f42c1e766d22d49dd0dc4f28abb6)
src/plugins/avf/avf.h
src/plugins/avf/output.c