Remove the unneeded logic.

Signed-off-by: Chaoyong He <chaoyong...@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderl...@corigine.com>
---
 drivers/net/nfp/nfpcore/nfp_cpp.h          | 107 ----
 drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c |  12 -
 drivers/net/nfp/nfpcore/nfp_cppcore.c      | 162 ------
 drivers/net/nfp/nfpcore/nfp_mutex.c        |  48 --
 drivers/net/nfp/nfpcore/nfp_nsp_eth.c      |  24 -
 drivers/net/nfp/nfpcore/nfp_target.h       | 567 ---------------------
 6 files changed, 920 deletions(-)

diff --git a/drivers/net/nfp/nfpcore/nfp_cpp.h 
b/drivers/net/nfp/nfpcore/nfp_cpp.h
index 782272a3f4..139752f85a 100644
--- a/drivers/net/nfp/nfpcore/nfp_cpp.h
+++ b/drivers/net/nfp/nfpcore/nfp_cpp.h
@@ -96,7 +96,6 @@ struct nfp_cpp_operations {
 
        void *(*area_iomem)(struct nfp_cpp_area *area);
 
-       void *(*area_mapped)(struct nfp_cpp_area *area);
        /*
         * Perform a read from a NFP CPP area
         * Serialized
@@ -457,16 +456,6 @@ void nfp_cpp_area_release_free(struct nfp_cpp_area *area);
 uint8_t *nfp_cpp_map_area(struct nfp_cpp *cpp, uint32_t cpp_id,
                uint64_t addr, uint32_t size, struct nfp_cpp_area **area);
 
-/*
- * Return an IO pointer to the beginning of the NFP CPP area handle. The area
- * must be acquired with 'nfp_cpp_area_acquire()' before calling this 
operation.
- *
- * @param[in]  area    NFP CPP area handle
- *
- * @return Pointer to IO memory, or NULL on failure.
- */
-void *nfp_cpp_area_mapped(struct nfp_cpp_area *area);
-
 /*
  * Read from a NFP CPP area handle into a buffer. The area must be acquired 
with
  * 'nfp_cpp_area_acquire()' before calling this operation.
@@ -508,18 +497,6 @@ int nfp_cpp_area_write(struct nfp_cpp_area *area, uint32_t 
offset,
  */
 void *nfp_cpp_area_iomem(struct nfp_cpp_area *area);
 
-/*
- * Verify that IO can be performed on an offset in an area
- *
- * @param[in]  area    NFP CPP area handle
- * @param[in]  offset  Offset into the area
- * @param[in]  size    Size of region to validate
- *
- * @return 0 on success, negative value on failure.
- */
-int nfp_cpp_area_check_range(struct nfp_cpp_area *area,
-               unsigned long long offset, unsigned long size);
-
 /*
  * Get the NFP CPP handle that is the parent of a NFP CPP area handle
  *
@@ -564,20 +541,6 @@ int nfp_cpp_read(struct nfp_cpp *cpp, uint32_t cpp_id,
 int nfp_cpp_write(struct nfp_cpp *cpp, uint32_t cpp_id,
                uint64_t address, const void *kernel_vaddr, size_t length);
 
-
-/*
- * Fill a NFP CPP area handle and offset with a value
- *
- * @param[in]  area    NFP CPP area handle
- * @param[in]  offset  Offset into the NFP CPP ID address space
- * @param[in]  value   32-bit value to fill area with
- * @param[in]  length  Size of the area to reserve
- *
- * @return bytes written on success, negative value on failure.
- */
-int nfp_cpp_area_fill(struct nfp_cpp_area *area, unsigned long offset,
-               uint32_t value, size_t length);
-
 /*
  * Read a single 32-bit value from a NFP CPP area handle
  *
@@ -668,33 +631,6 @@ int nfp_xpb_writel(struct nfp_cpp *cpp, uint32_t xpb_tgt, 
uint32_t value);
  */
 int nfp_xpb_readl(struct nfp_cpp *cpp, uint32_t xpb_tgt, uint32_t *value);
 
-/*
- * Modify bits of a 32-bit value from the XPB bus
- *
- * @param cpp           NFP CPP device handle
- * @param xpb_tgt       XPB target and address
- * @param mask          mask of bits to alter
- * @param value         value to modify
- *
- * @return 0 on success, or -1 on failure.
- */
-int nfp_xpb_writelm(struct nfp_cpp *cpp, uint32_t xpb_tgt, uint32_t mask,
-               uint32_t value);
-
-/*
- * Modify bits of a 32-bit value from the XPB bus
- *
- * @param cpp           NFP CPP device handle
- * @param xpb_tgt       XPB target and address
- * @param mask          mask of bits to alter
- * @param value         value to monitor for
- * @param timeout_us    maximum number of us to wait (-1 for forever)
- *
- * @return >= 0 on success, negative value on failure.
- */
-int nfp_xpb_waitlm(struct nfp_cpp *cpp, uint32_t xpb_tgt, uint32_t mask,
-               uint32_t value, int timeout_us);
-
 /*
  * Read a 32-bit word from a NFP CPP ID
  *
@@ -789,49 +725,6 @@ int nfp_cpp_mutex_init(struct nfp_cpp *cpp, int target,
 struct nfp_cpp_mutex *nfp_cpp_mutex_alloc(struct nfp_cpp *cpp, int target,
                uint64_t address, uint32_t key_id);
 
-/*
- * Get the NFP CPP handle the mutex was created with
- *
- * @param   mutex   NFP mutex handle
- * @return          NFP CPP handle
- */
-struct nfp_cpp *nfp_cpp_mutex_cpp(struct nfp_cpp_mutex *mutex);
-
-/*
- * Get the mutex key
- *
- * @param   mutex   NFP mutex handle
- * @return          Mutex key
- */
-uint32_t nfp_cpp_mutex_key(struct nfp_cpp_mutex *mutex);
-
-/*
- * Get the mutex owner
- *
- * @param   mutex   NFP mutex handle
- * @return          Interface ID of the mutex owner
- *
- * NOTE: This is for debug purposes ONLY - the owner may change at any time,
- * unless it has been locked by this NFP CPP handle.
- */
-uint16_t nfp_cpp_mutex_owner(struct nfp_cpp_mutex *mutex);
-
-/*
- * Get the mutex target
- *
- * @param   mutex   NFP mutex handle
- * @return          Mutex CPP target (ie NFP_CPP_TARGET_MU)
- */
-int nfp_cpp_mutex_target(struct nfp_cpp_mutex *mutex);
-
-/*
- * Get the mutex address
- *
- * @param   mutex   NFP mutex handle
- * @return          Mutex CPP address
- */
-uint64_t nfp_cpp_mutex_address(struct nfp_cpp_mutex *mutex);
-
 /*
  * Free a mutex handle - does not alter the lock state
  *
diff --git a/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c 
b/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c
index 881f21bfd0..ec14ec45dc 100644
--- a/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c
+++ b/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c
@@ -471,17 +471,6 @@ nfp6000_area_acquire(struct nfp_cpp_area *area)
        return 0;
 }
 
-static void *
-nfp6000_area_mapped(struct nfp_cpp_area *area)
-{
-       struct nfp6000_area_priv *area_priv = nfp_cpp_area_priv(area);
-
-       if (area_priv->iomem == NULL)
-               return NULL;
-
-       return area_priv->iomem;
-}
-
 static void
 nfp6000_area_release(struct nfp_cpp_area *area)
 {
@@ -829,7 +818,6 @@ static const struct nfp_cpp_operations nfp6000_pcie_ops = {
        .area_init = nfp6000_area_init,
        .area_acquire = nfp6000_area_acquire,
        .area_release = nfp6000_area_release,
-       .area_mapped = nfp6000_area_mapped,
        .area_read = nfp6000_area_read,
        .area_write = nfp6000_area_write,
        .area_iomem = nfp6000_area_iomem,
diff --git a/drivers/net/nfp/nfpcore/nfp_cppcore.c 
b/drivers/net/nfp/nfpcore/nfp_cppcore.c
index 627d4eaa5d..7e7c36eda3 100644
--- a/drivers/net/nfp/nfpcore/nfp_cppcore.c
+++ b/drivers/net/nfp/nfpcore/nfp_cppcore.c
@@ -388,35 +388,6 @@ nfp_cpp_area_write(struct nfp_cpp_area *area,
        return area->cpp->op->area_write(area, kernel_vaddr, offset, length);
 }
 
-void *
-nfp_cpp_area_mapped(struct nfp_cpp_area *area)
-{
-       if (area->cpp->op->area_mapped)
-               return area->cpp->op->area_mapped(area);
-       return NULL;
-}
-
-/*
- * nfp_cpp_area_check_range - check if address range fits in CPP area
- *
- * @area:   CPP area handle
- * @offset: offset into CPP area
- * @length: size of address range in bytes
- *
- * Check if address range fits within CPP area.  Return 0 if area fits
- * or negative value on error.
- */
-int
-nfp_cpp_area_check_range(struct nfp_cpp_area *area,
-               unsigned long long offset,
-               unsigned long length)
-{
-       if (((offset + length) > area->size))
-               return -EFAULT;
-
-       return 0;
-}
-
 /*
  * Return the correct CPP address, and fixup xpb_addr as needed,
  * based upon NFP model.
@@ -671,82 +642,6 @@ nfp_cpp_from_device_name(struct rte_pci_device *dev,
        return nfp_cpp_alloc(dev, driver_lock_needed);
 }
 
-/*
- * Modify bits of a 32-bit value from the XPB bus
- *
- * @param cpp           NFP CPP device handle
- * @param xpb_tgt       XPB target and address
- * @param mask          mask of bits to alter
- * @param value         value to modify
- *
- * @return 0 on success, or -1 on failure.
- */
-int
-nfp_xpb_writelm(struct nfp_cpp *cpp,
-               uint32_t xpb_tgt,
-               uint32_t mask,
-               uint32_t value)
-{
-       int err;
-       uint32_t tmp;
-
-       err = nfp_xpb_readl(cpp, xpb_tgt, &tmp);
-       if (err < 0)
-               return err;
-
-       tmp &= ~mask;
-       tmp |= (mask & value);
-       return nfp_xpb_writel(cpp, xpb_tgt, tmp);
-}
-
-/*
- * Modify bits of a 32-bit value from the XPB bus
- *
- * @param cpp           NFP CPP device handle
- * @param xpb_tgt       XPB target and address
- * @param mask          mask of bits to alter
- * @param value         value to monitor for
- * @param timeout_us    maximum number of us to wait (-1 for forever)
- *
- * @return >= 0 on success, or negative value on failure.
- */
-int
-nfp_xpb_waitlm(struct nfp_cpp *cpp,
-               uint32_t xpb_tgt,
-               uint32_t mask,
-               uint32_t value,
-               int timeout_us)
-{
-       uint32_t tmp;
-       int err;
-
-       do {
-               err = nfp_xpb_readl(cpp, xpb_tgt, &tmp);
-               if (err < 0)
-                       goto exit;
-
-               if ((tmp & mask) == (value & mask)) {
-                       if (timeout_us < 0)
-                               timeout_us = 0;
-                       break;
-               }
-
-               if (timeout_us < 0)
-                       continue;
-
-               timeout_us -= 100;
-               usleep(100);
-       } while (timeout_us >= 0);
-
-       if (timeout_us < 0)
-               err = -ETIMEDOUT;
-       else
-               err = timeout_us;
-
-exit:
-       return err;
-}
-
 /*
  * nfp_cpp_read - read from CPP target
  * @cpp:        CPP handle
@@ -805,63 +700,6 @@ nfp_cpp_write(struct nfp_cpp *cpp,
        return err;
 }
 
-/*
- * nfp_cpp_area_fill - fill a CPP area with a value
- * @area:       CPP area
- * @offset:     offset into CPP area
- * @value:      value to fill with
- * @length:     length of area to fill
- */
-int
-nfp_cpp_area_fill(struct nfp_cpp_area *area,
-               unsigned long offset,
-               uint32_t value,
-               size_t length)
-{
-       int err;
-       size_t i;
-       uint64_t value64;
-
-       value = rte_cpu_to_le_32(value);
-       value64 = ((uint64_t)value << 32) | value;
-
-       if ((offset + length) > area->size)
-               return -EINVAL;
-
-       if ((area->offset + offset) & 3)
-               return -EINVAL;
-
-       if (((area->offset + offset) & 7) == 4 && length >= 4) {
-               err = nfp_cpp_area_write(area, offset, &value, sizeof(value));
-               if (err < 0)
-                       return err;
-               if (err != sizeof(value))
-                       return -ENOSPC;
-               offset += sizeof(value);
-               length -= sizeof(value);
-       }
-
-       for (i = 0; (i + sizeof(value)) < length; i += sizeof(value64)) {
-               err = nfp_cpp_area_write(area, offset + i, &value64,
-                               sizeof(value64));
-               if (err < 0)
-                       return err;
-               if (err != sizeof(value64))
-                       return -ENOSPC;
-       }
-
-       if ((i + sizeof(value)) <= length) {
-               err = nfp_cpp_area_write(area, offset + i, &value, 
sizeof(value));
-               if (err < 0)
-                       return err;
-               if (err != sizeof(value))
-                       return -ENOSPC;
-               i += sizeof(value);
-       }
-
-       return (int)i;
-}
-
 /*
  * NOTE: This code should not use nfp_xpb_* functions,
  * as those are model-specific
diff --git a/drivers/net/nfp/nfpcore/nfp_mutex.c 
b/drivers/net/nfp/nfpcore/nfp_mutex.c
index 7ac06e897a..edc8137304 100644
--- a/drivers/net/nfp/nfpcore/nfp_mutex.c
+++ b/drivers/net/nfp/nfpcore/nfp_mutex.c
@@ -178,54 +178,6 @@ nfp_cpp_mutex_alloc(struct nfp_cpp *cpp,
        return mutex;
 }
 
-struct nfp_cpp *
-nfp_cpp_mutex_cpp(struct nfp_cpp_mutex *mutex)
-{
-       return mutex->cpp;
-}
-
-uint32_t
-nfp_cpp_mutex_key(struct nfp_cpp_mutex *mutex)
-{
-       return mutex->key;
-}
-
-uint16_t
-nfp_cpp_mutex_owner(struct nfp_cpp_mutex *mutex)
-{
-       uint32_t mur = NFP_CPP_ID(mutex->target, 3, 0); /* atomic_read */
-       uint32_t value, key;
-       int err;
-
-       err = nfp_cpp_readl(mutex->cpp, mur, mutex->address, &value);
-       if (err < 0)
-               return err;
-
-       err = nfp_cpp_readl(mutex->cpp, mur, mutex->address + 4, &key);
-       if (err < 0)
-               return err;
-
-       if (key != mutex->key)
-               return -EPERM;
-
-       if (MUTEX_IS_LOCKED(value) == 0)
-               return 0;
-
-       return MUTEX_INTERFACE(value);
-}
-
-int
-nfp_cpp_mutex_target(struct nfp_cpp_mutex *mutex)
-{
-       return mutex->target;
-}
-
-uint64_t
-nfp_cpp_mutex_address(struct nfp_cpp_mutex *mutex)
-{
-       return mutex->address;
-}
-
 /*
  * Free a mutex handle - does not alter the lock state
  *
diff --git a/drivers/net/nfp/nfpcore/nfp_nsp_eth.c 
b/drivers/net/nfp/nfpcore/nfp_nsp_eth.c
index 5492840aa1..bc155b44d8 100644
--- a/drivers/net/nfp/nfpcore/nfp_nsp_eth.c
+++ b/drivers/net/nfp/nfpcore/nfp_nsp_eth.c
@@ -11,30 +11,6 @@
 #include "nfp_nsp.h"
 #include "nfp6000/nfp6000.h"
 
-#define GENMASK_ULL(h, l) \
-       (((~0ULL) - (1ULL << (l)) + 1) & \
-        (~0ULL >> (64 - 1 - (h))))
-
-#define __bf_shf(x) (__builtin_ffsll(x) - 1)
-
-#define FIELD_GET(_mask, _reg)                                         \
-       (__extension__ ({ \
-               typeof(_mask) _x = (_mask); \
-               (typeof(_x))(((_reg) & (_x)) >> __bf_shf(_x));  \
-       }))
-
-#define FIELD_FIT(_mask, _val)                                         \
-       (__extension__ ({ \
-               typeof(_mask) _x = (_mask); \
-               !((((typeof(_x))_val) << __bf_shf(_x)) & ~(_x)); \
-       }))
-
-#define FIELD_PREP(_mask, _val)                                                
\
-       (__extension__ ({ \
-               typeof(_mask) _x = (_mask); \
-               ((typeof(_x))(_val) << __bf_shf(_x)) & (_x);    \
-       }))
-
 #define NSP_ETH_NBI_PORT_COUNT         24
 #define NSP_ETH_MAX_COUNT              (2 * NSP_ETH_NBI_PORT_COUNT)
 #define NSP_ETH_TABLE_SIZE             (NSP_ETH_MAX_COUNT *            \
diff --git a/drivers/net/nfp/nfpcore/nfp_target.h 
b/drivers/net/nfp/nfpcore/nfp_target.h
index 03908a894f..195e599d31 100644
--- a/drivers/net/nfp/nfpcore/nfp_target.h
+++ b/drivers/net/nfp/nfpcore/nfp_target.h
@@ -6,571 +6,4 @@
 #ifndef NFP_TARGET_H
 #define NFP_TARGET_H
 
-#include "nfp_cpp.h"
-
-#define P32 1
-#define P64 2
-
-#define PUSHPULL(_pull, _push) (((_pull) << 4) | ((_push) << 0))
-
-#ifndef NFP_ERRNO
-#include <errno.h>
-#define NFP_ERRNO(x)    (errno = (x), -1)
-#endif
-
-static inline int
-pushpull_width(int pp)
-{
-       pp &= 0xf;
-
-       if (pp == 0)
-               return NFP_ERRNO(EINVAL);
-       return (2 << pp);
-}
-
-#define PUSH_WIDTH(_pushpull)      pushpull_width((_pushpull) >> 0)
-#define PULL_WIDTH(_pushpull)      pushpull_width((_pushpull) >> 4)
-
-static inline int
-target_rw(uint32_t cpp_id, int pp, int start, int len)
-{
-       uint8_t island = NFP_CPP_ID_ISLAND_of(cpp_id);
-
-       if (island && (island < start || island > (start + len)))
-               return NFP_ERRNO(EINVAL);
-
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 0, 0):
-               return PUSHPULL(0, pp);
-       case NFP_CPP_ID(0, 1, 0):
-               return PUSHPULL(pp, 0);
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 0):
-               return PUSHPULL(pp, pp);
-       default:
-               return NFP_ERRNO(EINVAL);
-       }
-}
-
-static inline int
-nfp6000_nbi_dma(uint32_t cpp_id)
-{
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 0, 0): /* ReadNbiDma */
-               return PUSHPULL(0, P64);
-       case NFP_CPP_ID(0, 1, 0): /* WriteNbiDma */
-               return PUSHPULL(P64, 0);
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 0):
-               return PUSHPULL(P64, P64);
-       default:
-               return NFP_ERRNO(EINVAL);
-       }
-}
-
-static inline int
-nfp6000_nbi_stats(uint32_t cpp_id)
-{
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 0, 0): /* ReadNbiStats */
-               return PUSHPULL(0, P64);
-       case NFP_CPP_ID(0, 1, 0): /* WriteNbiStats */
-               return PUSHPULL(P64, 0);
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 0):
-               return PUSHPULL(P64, P64);
-       default:
-               return NFP_ERRNO(EINVAL);
-       }
-}
-
-static inline int
-nfp6000_nbi_tm(uint32_t cpp_id)
-{
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 0, 0): /* ReadNbiTM */
-               return PUSHPULL(0, P64);
-       case NFP_CPP_ID(0, 1, 0):  /* WriteNbiTM */
-               return PUSHPULL(P64, 0);
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 0):
-               return PUSHPULL(P64, P64);
-       default:
-               return NFP_ERRNO(EINVAL);
-       }
-}
-
-static inline int
-nfp6000_nbi_ppc(uint32_t cpp_id)
-{
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 0, 0): /* ReadNbiPreclassifier */
-               return PUSHPULL(0, P64);
-       case NFP_CPP_ID(0, 1, 0): /* WriteNbiPreclassifier */
-               return PUSHPULL(P64, 0);
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 0):
-               return PUSHPULL(P64, P64);
-       default:
-               return NFP_ERRNO(EINVAL);
-       }
-}
-
-static inline int
-nfp6000_nbi(uint32_t cpp_id, uint64_t address)
-{
-       uint8_t island = NFP_CPP_ID_ISLAND_of(cpp_id);
-       uint64_t rel_addr = address & 0x3fFFFF;
-
-       if (island && (island < 8 || island > 9))
-               return NFP_ERRNO(EINVAL);
-
-       if (rel_addr < (1 << 20))
-               return nfp6000_nbi_dma(cpp_id);
-       if (rel_addr < (2 << 20))
-               return nfp6000_nbi_stats(cpp_id);
-       if (rel_addr < (3 << 20))
-               return nfp6000_nbi_tm(cpp_id);
-       return nfp6000_nbi_ppc(cpp_id);
-}
-
-/*
- * This structure ONLY includes items that can be done with a read or write of
- * 32-bit or 64-bit words. All others are not listed.
- */
-static inline int
-nfp6000_mu_common(uint32_t cpp_id)
-{
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 0): /* read_be/write_be */
-               return PUSHPULL(P64, P64);
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 1): /* read_le/write_le */
-               return PUSHPULL(P64, P64);
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 2): /* {read/write}_swap_be */
-               return PUSHPULL(P64, P64);
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 3): /* {read/write}_swap_le */
-               return PUSHPULL(P64, P64);
-       case NFP_CPP_ID(0, 0, 0): /* read_be */
-               return PUSHPULL(0, P64);
-       case NFP_CPP_ID(0, 0, 1): /* read_le */
-               return PUSHPULL(0, P64);
-       case NFP_CPP_ID(0, 0, 2): /* read_swap_be */
-               return PUSHPULL(0, P64);
-       case NFP_CPP_ID(0, 0, 3): /* read_swap_le */
-               return PUSHPULL(0, P64);
-       case NFP_CPP_ID(0, 1, 0): /* write_be */
-               return PUSHPULL(P64, 0);
-       case NFP_CPP_ID(0, 1, 1): /* write_le */
-               return PUSHPULL(P64, 0);
-       case NFP_CPP_ID(0, 1, 2): /* write_swap_be */
-               return PUSHPULL(P64, 0);
-       case NFP_CPP_ID(0, 1, 3): /* write_swap_le */
-               return PUSHPULL(P64, 0);
-       case NFP_CPP_ID(0, 3, 0): /* atomic_read */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 3, 2): /* mask_compare_write */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 4, 0): /* atomic_write */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 4, 2): /* atomic_write_imm */
-               return PUSHPULL(0, 0);
-       case NFP_CPP_ID(0, 4, 3): /* swap_imm */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 5, 0): /* set */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 5, 3): /* test_set_imm */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 6, 0): /* clr */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 6, 3): /* test_clr_imm */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 7, 0): /* add */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 7, 3): /* test_add_imm */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 8, 0): /* addsat */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 8, 3): /* test_subsat_imm */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 9, 0): /* sub */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 9, 3): /* test_sub_imm */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 10, 0): /* subsat */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 10, 3): /* test_subsat_imm */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 13, 0): /* microq128_get */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 13, 1): /* microq128_pop */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 13, 2): /* microq128_put */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 15, 0): /* xor */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 15, 3): /* test_xor_imm */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 28, 0): /* read32_be */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 28, 1): /* read32_le */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 28, 2): /* read32_swap_be */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 28, 3): /* read32_swap_le */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 31, 0): /* write32_be */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 31, 1): /* write32_le */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 31, 2): /* write32_swap_be */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 31, 3): /* write32_swap_le */
-               return PUSHPULL(P32, 0);
-       default:
-               return NFP_ERRNO(EINVAL);
-       }
-}
-
-static inline int
-nfp6000_mu_ctm(uint32_t cpp_id)
-{
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 16, 1): /* packet_read_packet_status */
-               return PUSHPULL(0, P32);
-       default:
-               return nfp6000_mu_common(cpp_id);
-       }
-}
-
-static inline int
-nfp6000_mu_emu(uint32_t cpp_id)
-{
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 18, 0): /* read_queue */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 18, 1): /* read_queue_ring */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 18, 2): /* write_queue */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 18, 3): /* write_queue_ring */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 20, 2): /* journal */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 21, 0): /* get */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 21, 1): /* get_eop */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 21, 2): /* get_freely */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 22, 0): /* pop */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 22, 1): /* pop_eop */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 22, 2): /* pop_freely */
-               return PUSHPULL(0, P32);
-       default:
-               return nfp6000_mu_common(cpp_id);
-       }
-}
-
-static inline int
-nfp6000_mu_imu(uint32_t cpp_id)
-{
-       return nfp6000_mu_common(cpp_id);
-}
-
-static inline int
-nfp6000_mu(uint32_t cpp_id, uint64_t address)
-{
-       int pp;
-       uint8_t island = NFP_CPP_ID_ISLAND_of(cpp_id);
-
-       if (island == 0) {
-               if (address < 0x2000000000ULL)
-                       pp = nfp6000_mu_ctm(cpp_id);
-               else if (address < 0x8000000000ULL)
-                       pp = nfp6000_mu_emu(cpp_id);
-               else if (address < 0x9800000000ULL)
-                       pp = nfp6000_mu_ctm(cpp_id);
-               else if (address < 0x9C00000000ULL)
-                       pp = nfp6000_mu_emu(cpp_id);
-               else if (address < 0xA000000000ULL)
-                       pp = nfp6000_mu_imu(cpp_id);
-               else
-                       pp = nfp6000_mu_ctm(cpp_id);
-       } else if (island >= 24 && island <= 27) {
-               pp = nfp6000_mu_emu(cpp_id);
-       } else if (island >= 28 && island <= 31) {
-               pp = nfp6000_mu_imu(cpp_id);
-       } else if (island == 1 ||
-                  (island >= 4 && island <= 7) ||
-                  (island >= 12 && island <= 13) ||
-                  (island >= 32 && island <= 47) ||
-                  (island >= 48 && island <= 51)) {
-               pp = nfp6000_mu_ctm(cpp_id);
-       } else {
-               pp = NFP_ERRNO(EINVAL);
-       }
-
-       return pp;
-}
-
-static inline int
-nfp6000_ila(uint32_t cpp_id)
-{
-       uint8_t island = NFP_CPP_ID_ISLAND_of(cpp_id);
-
-       if (island && (island < 48 || island > 51))
-               return NFP_ERRNO(EINVAL);
-
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 0, 1): /* read_check_error */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 2, 0): /* read_int */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 3, 0): /* write_int */
-               return PUSHPULL(P32, 0);
-       default:
-               return target_rw(cpp_id, P32, 48, 4);
-       }
-}
-
-static inline int
-nfp6000_pci(uint32_t cpp_id)
-{
-       uint8_t island = NFP_CPP_ID_ISLAND_of(cpp_id);
-
-       if (island && (island < 4 || island > 7))
-               return NFP_ERRNO(EINVAL);
-
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 2, 0):
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 3, 0):
-               return PUSHPULL(P32, 0);
-       default:
-               return target_rw(cpp_id, P32, 4, 4);
-       }
-}
-
-static inline int
-nfp6000_crypto(uint32_t cpp_id)
-{
-       uint8_t island = NFP_CPP_ID_ISLAND_of(cpp_id);
-
-       if (island && (island < 12 || island > 15))
-               return NFP_ERRNO(EINVAL);
-
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 2, 0):
-               return PUSHPULL(P64, 0);
-       default:
-               return target_rw(cpp_id, P64, 12, 4);
-       }
-}
-
-static inline int
-nfp6000_cap_xpb(uint32_t cpp_id)
-{
-       uint8_t island = NFP_CPP_ID_ISLAND_of(cpp_id);
-
-       if (island > 63)
-               return NFP_ERRNO(EINVAL);
-
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 0, 1): /* RingGet */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 0, 2): /* Interthread Signal */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 1, 1): /* RingPut */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 1, 2): /* CTNNWr */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 2, 0): /* ReflectRd, signal none */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 2, 1): /* ReflectRd, signal self */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 2, 2): /* ReflectRd, signal remote */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 2, 3): /* ReflectRd, signal both */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 3, 0): /* ReflectWr, signal none */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 3, 1): /* ReflectWr, signal self */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 3, 2): /* ReflectWr, signal remote */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 3, 3): /* ReflectWr, signal both */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, NFP_CPP_ACTION_RW, 1):
-               return PUSHPULL(P32, P32);
-       default:
-               return target_rw(cpp_id, P32, 1, 63);
-       }
-}
-
-static inline int
-nfp6000_cls(uint32_t cpp_id)
-{
-       uint8_t island = NFP_CPP_ID_ISLAND_of(cpp_id);
-
-       if (island > 63)
-               return NFP_ERRNO(EINVAL);
-
-       switch (cpp_id & NFP_CPP_ID(0, ~0, ~0)) {
-       case NFP_CPP_ID(0, 0, 3): /* xor */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 2, 0): /* set */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 2, 1): /* clr */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 4, 0): /* add */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 4, 1): /* add64 */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 6, 0): /* sub */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 6, 1): /* sub64 */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 6, 2): /* subsat */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 8, 2): /* hash_mask */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 8, 3): /* hash_clear */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 9, 0): /* ring_get */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 9, 1): /* ring_pop */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 9, 2): /* ring_get_freely */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 9, 3): /* ring_pop_freely */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 10, 0): /* ring_put */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 10, 2): /* ring_journal */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 14, 0): /* reflect_write_sig_local */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 15, 1):  /* reflect_read_sig_local */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 17, 2): /* statistic */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 24, 0): /* ring_read */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 24, 1): /* ring_write */
-               return PUSHPULL(P32, 0);
-       case NFP_CPP_ID(0, 25, 0): /* ring_workq_add_thread */
-               return PUSHPULL(0, P32);
-       case NFP_CPP_ID(0, 25, 1): /* ring_workq_add_work */
-               return PUSHPULL(P32, 0);
-       default:
-               return target_rw(cpp_id, P32, 0, 64);
-       }
-}
-
-static inline int
-nfp6000_target_pushpull(uint32_t cpp_id, uint64_t address)
-{
-       switch (NFP_CPP_ID_TARGET_of(cpp_id)) {
-       case NFP6000_CPPTGT_NBI:
-               return nfp6000_nbi(cpp_id, address);
-       case NFP6000_CPPTGT_VQDR:
-               return target_rw(cpp_id, P32, 24, 4);
-       case NFP6000_CPPTGT_ILA:
-               return nfp6000_ila(cpp_id);
-       case NFP6000_CPPTGT_MU:
-               return nfp6000_mu(cpp_id, address);
-       case NFP6000_CPPTGT_PCIE:
-               return nfp6000_pci(cpp_id);
-       case NFP6000_CPPTGT_ARM:
-               if (address < 0x10000)
-                       return target_rw(cpp_id, P64, 1, 1);
-               else
-                       return target_rw(cpp_id, P32, 1, 1);
-       case NFP6000_CPPTGT_CRYPTO:
-               return nfp6000_crypto(cpp_id);
-       case NFP6000_CPPTGT_CTXPB:
-               return nfp6000_cap_xpb(cpp_id);
-       case NFP6000_CPPTGT_CLS:
-               return nfp6000_cls(cpp_id);
-       case 0:
-               return target_rw(cpp_id, P32, 4, 4);
-       default:
-               return NFP_ERRNO(EINVAL);
-       }
-}
-
-static inline int
-nfp_target_pushpull_width(int pp, int write_not_read)
-{
-       if (pp < 0)
-               return pp;
-
-       if (write_not_read)
-               return PULL_WIDTH(pp);
-       else
-               return PUSH_WIDTH(pp);
-}
-
-static inline int
-nfp6000_target_action_width(uint32_t cpp_id, uint64_t address,
-                           int write_not_read)
-{
-       int pp;
-
-       pp = nfp6000_target_pushpull(cpp_id, address);
-
-       return nfp_target_pushpull_width(pp, write_not_read);
-}
-
-static inline int
-nfp_target_action_width(uint32_t model, uint32_t cpp_id, uint64_t address,
-                       int write_not_read)
-{
-       if (NFP_CPP_MODEL_IS_6000(model)) {
-               return nfp6000_target_action_width(cpp_id, address,
-                                                  write_not_read);
-       } else {
-               return NFP_ERRNO(EINVAL);
-       }
-}
-
-static inline int
-nfp_target_cpp(uint32_t cpp_island_id, uint64_t cpp_island_address,
-              uint32_t *cpp_target_id, uint64_t *cpp_target_address,
-              const uint32_t *imb_table)
-{
-       int err;
-       uint8_t island = NFP_CPP_ID_ISLAND_of(cpp_island_id);
-       uint8_t target = NFP_CPP_ID_TARGET_of(cpp_island_id);
-       uint32_t imb;
-
-       if (target >= 16)
-               return NFP_ERRNO(EINVAL);
-
-       if (island == 0) {
-               /* Already translated */
-               *cpp_target_id = cpp_island_id;
-               *cpp_target_address = cpp_island_address;
-               return 0;
-       }
-
-       if (imb_table == NULL) {
-               /* CPP + Island only allowed on systems with IMB tables */
-               return NFP_ERRNO(EINVAL);
-       }
-
-       imb = imb_table[target];
-
-       *cpp_target_address = cpp_island_address;
-       err = _nfp6000_cppat_addr_encode(cpp_target_address, island, target,
-                                        ((imb >> 13) & 7),
-                                        ((imb >> 12) & 1),
-                                        ((imb >> 6) & 0x3f),
-                                        ((imb >> 0) & 0x3f));
-       if (err == 0) {
-               *cpp_target_id =
-                   NFP_CPP_ID(target, NFP_CPP_ID_ACTION_of(cpp_island_id),
-                              NFP_CPP_ID_TOKEN_of(cpp_island_id));
-       }
-
-       return err;
-}
-
 #endif /* NFP_TARGET_H */
-- 
2.39.1


Reply via email to