X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcrypto%2Fvirtio%2Fvirtio_rxtx.c;h=e1cb4ad104516487223764dfab162937dbdded86;hb=26590b5200bb1d6bdfa931f8615339d049d13881;hp=4f695f3e6901eaf44fe46853816747ddbe7311be;hpb=b063e843fa03c6af076ae9f5bce73e97211d8989;p=dpdk.git diff --git a/drivers/crypto/virtio/virtio_rxtx.c b/drivers/crypto/virtio/virtio_rxtx.c index 4f695f3e69..e1cb4ad104 100644 --- a/drivers/crypto/virtio/virtio_rxtx.c +++ b/drivers/crypto/virtio/virtio_rxtx.c @@ -203,11 +203,11 @@ virtqueue_crypto_sym_enqueue_xmit( uint16_t req_data_len = sizeof(struct virtio_crypto_op_data_req); uint32_t indirect_vring_addr_offset = req_data_len + sizeof(struct virtio_crypto_inhdr); - uint32_t indirect_iv_addr_offset = indirect_vring_addr_offset + - sizeof(struct vring_desc) * NUM_ENTRY_VIRTIO_CRYPTO_OP; + uint32_t indirect_iv_addr_offset = + offsetof(struct virtio_crypto_op_cookie, iv); struct rte_crypto_sym_op *sym_op = cop->sym; struct virtio_crypto_session *session = - (struct virtio_crypto_session *)get_session_private_data( + (struct virtio_crypto_session *)get_sym_session_private_data( cop->sym->session, cryptodev_virtio_driver_id); struct virtio_crypto_op_data_req *op_data_req; uint32_t hash_result_len = 0; @@ -284,18 +284,18 @@ virtqueue_crypto_sym_enqueue_xmit( } /* indirect vring: src data */ - desc[idx].addr = rte_pktmbuf_mtophys_offset(sym_op->m_src, 0); + desc[idx].addr = rte_pktmbuf_iova_offset(sym_op->m_src, 0); desc[idx].len = (sym_op->cipher.data.offset + sym_op->cipher.data.length); desc[idx++].flags = VRING_DESC_F_NEXT; /* indirect vring: dst data */ if (sym_op->m_dst) { - desc[idx].addr = rte_pktmbuf_mtophys_offset(sym_op->m_dst, 0); + desc[idx].addr = rte_pktmbuf_iova_offset(sym_op->m_dst, 0); desc[idx].len = (sym_op->cipher.data.offset + sym_op->cipher.data.length); } else { - desc[idx].addr = rte_pktmbuf_mtophys_offset(sym_op->m_src, 0); + desc[idx].addr = rte_pktmbuf_iova_offset(sym_op->m_src, 0); desc[idx].len = (sym_op->cipher.data.offset + sym_op->cipher.data.length); }