X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_vhost%2Frte_vhost_async.h;h=c73bd7c99044d64766e9574d665039c2d160d4ca;hb=8fc9eaaac7181bdfc024230a63a89d550c625dd0;hp=c8ad8dbc7ee47bdc9d94a3d8aa6eb66f2d0800da;hpb=cd6760da1076d43c3ef9624c4efca0921b5cb58d;p=dpdk.git diff --git a/lib/librte_vhost/rte_vhost_async.h b/lib/librte_vhost/rte_vhost_async.h index c8ad8dbc7e..c73bd7c990 100644 --- a/lib/librte_vhost/rte_vhost_async.h +++ b/lib/librte_vhost/rte_vhost_async.h @@ -59,9 +59,9 @@ struct rte_vhost_async_channel_ops { * @param count * number of elements in the "descs" array * @return - * -1 on failure, number of descs processed on success + * number of descs processed */ - int (*transfer_data)(int vid, uint16_t queue_id, + uint32_t (*transfer_data)(int vid, uint16_t queue_id, struct rte_vhost_async_desc *descs, struct rte_vhost_async_status *opaque_data, uint16_t count); @@ -70,19 +70,32 @@ struct rte_vhost_async_channel_ops { * @param vid * id of vhost device to check copy completion * @param queue_id - * queue id to check copyp completion + * queue id to check copy completion * @param opaque_data * buffer to receive the opaque data pair from DMA engine * @param max_packets * max number of packets could be completed * @return - * -1 on failure, number of iov segments completed on success + * number of async descs completed */ - int (*check_completed_copies)(int vid, uint16_t queue_id, + uint32_t (*check_completed_copies)(int vid, uint16_t queue_id, struct rte_vhost_async_status *opaque_data, uint16_t max_packets); }; +/** + * inflight async packet information + */ +struct async_inflight_info { + union { + uint32_t info; + struct { + uint16_t descs; /* num of descs inflight */ + uint16_t segs; /* iov segs inflight */ + }; + }; +}; + /** * dma channel feature bit definition */