New upstream version 17.11-rc3
[deb_dpdk.git] / drivers / mempool / octeontx / octeontx_mbox.c
similarity index 92%
rename from drivers/event/octeontx/ssovf_mbox.c
rename to drivers/mempool/octeontx/octeontx_mbox.c
index 764414b..9525da1 100644 (file)
 #include <rte_io.h>
 #include <rte_spinlock.h>
 
-#include "ssovf_evdev.h"
+#include "octeontx_mbox.h"
+#include "octeontx_pool_logs.h"
 
 /* Mbox operation timeout in seconds */
-#define MBOX_WAIT_TIME_SEC      3
+#define MBOX_WAIT_TIME_SEC     3
 #define MAX_RAM_MBOX_LEN       ((SSOW_BAR4_LEN >> 1) - 8 /* Mbox header */)
 
 /* Mbox channel state */
@@ -87,6 +88,15 @@ struct mbox_ram_hdr {
        };
 };
 
+static inline void
+mbox_msgcpy(uint8_t *d, const uint8_t *s, uint16_t size)
+{
+       uint16_t i;
+
+       for (i = 0; i < size; i++)
+               d[i] = s[i];
+}
+
 static inline void
 mbox_send_request(struct mbox *m, struct octeontx_mbox_hdr *hdr,
                        const void *txmsg, uint16_t txsize)
@@ -106,7 +116,7 @@ mbox_send_request(struct mbox *m, struct octeontx_mbox_hdr *hdr,
 
        /* Copy msg body */
        if (txmsg)
-               memcpy(ram_mbox_msg, txmsg, txsize);
+               mbox_msgcpy(ram_mbox_msg, txmsg, txsize);
 
        /* Prepare new hdr */
        new_hdr.chan_state = MBOX_CHAN_STATE_REQ;
@@ -166,12 +176,12 @@ mbox_wait_response(struct mbox *m, struct octeontx_mbox_hdr *hdr,
 
        len = RTE_MIN(rx_hdr.len, rxsize);
        if (rxmsg)
-               memcpy(rxmsg, ram_mbox_msg, len);
+               mbox_msgcpy(rxmsg, ram_mbox_msg, len);
 
        return len;
 
 error:
-       ssovf_log_err("Failed to send mbox(%d/%d) coproc=%d msg=%d ret=(%d,%d)",
+       mbox_log_err("Failed to send mbox(%d/%d) coproc=%d msg=%d ret=(%d,%d)",
                        m->tag_own, rx_hdr.tag, hdr->coproc, hdr->msg, res,
                        hdr->res_code);
        return res;
@@ -185,7 +195,7 @@ mbox_send(struct mbox *m, struct octeontx_mbox_hdr *hdr, const void *txmsg,
 
        if (m->init_once == 0 || hdr == NULL ||
                txsize > MAX_RAM_MBOX_LEN || rxsize > MAX_RAM_MBOX_LEN) {
-               ssovf_log_err("Invalid init_once=%d hdr=%p txsz=%d rxsz=%d",
+               mbox_log_err("Invalid init_once=%d hdr=%p txsz=%d rxsz=%d",
                                m->init_once, hdr, txsize, rxsize);
                return res;
        }
@@ -209,7 +219,7 @@ mbox_setup(struct mbox *m)
                m->reg += SSO_VHGRP_PF_MBOX(1);
 
                if (m->ram_mbox_base == NULL || m->reg == NULL) {
-                       ssovf_log_err("Invalid ram_mbox_base=%p or reg=%p",
+                       mbox_log_err("Invalid ram_mbox_base=%p or reg=%p",
                                m->ram_mbox_base, m->reg);
                        return -EINVAL;
                }