cryptodev: move session type to generic crypto op
[dpdk.git] / drivers / crypto / aesni_gcm / aesni_gcm_pmd.c
index 1b95c23..92a5027 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -139,16 +139,17 @@ aesni_gcm_set_session_parameters(struct aesni_gcm_session *sess,
 
 /** Get gcm session */
 static struct aesni_gcm_session *
-aesni_gcm_get_session(struct aesni_gcm_qp *qp, struct rte_crypto_sym_op *op)
+aesni_gcm_get_session(struct aesni_gcm_qp *qp, struct rte_crypto_op *op)
 {
        struct aesni_gcm_session *sess = NULL;
+       struct rte_crypto_sym_op *sym_op = op->sym;
 
-       if (op->sess_type == RTE_CRYPTO_SYM_OP_WITH_SESSION) {
-               if (unlikely(op->session->dev_type
+       if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
+               if (unlikely(sym_op->session->dev_type
                                        != RTE_CRYPTODEV_AESNI_GCM_PMD))
                        return sess;
 
-               sess = (struct aesni_gcm_session *)op->session->_private;
+               sess = (struct aesni_gcm_session *)sym_op->session->_private;
        } else  {
                void *_sess;
 
@@ -159,7 +160,7 @@ aesni_gcm_get_session(struct aesni_gcm_qp *qp, struct rte_crypto_sym_op *op)
                        ((struct rte_cryptodev_sym_session *)_sess)->_private;
 
                if (unlikely(aesni_gcm_set_session_parameters(sess,
-                               op->xform) != 0)) {
+                               sym_op->xform) != 0)) {
                        rte_mempool_put(qp->sess_mp, _sess);
                        sess = NULL;
                }
@@ -372,7 +373,7 @@ handle_completed_gcm_crypto_op(struct aesni_gcm_qp *qp,
        post_process_gcm_crypto_op(op);
 
        /* Free session if a session-less crypto op */
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+       if (op->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                rte_mempool_put(qp->sess_mp, op->sym->session);
                op->sym->session = NULL;
        }
@@ -393,7 +394,7 @@ aesni_gcm_pmd_dequeue_burst(void *queue_pair,
 
        for (i = 0; i < nb_dequeued; i++) {
 
-               sess = aesni_gcm_get_session(qp, ops[i]->sym);
+               sess = aesni_gcm_get_session(qp, ops[i]);
                if (unlikely(sess == NULL)) {
                        ops[i]->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;
                        qp->qp_stats.dequeue_err_count++;