From: Chaoyong He <chaoyong.he@corigine.com>
To: dev@dpdk.org
Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com,
Chaoyong He <chaoyong.he@corigine.com>
Subject: [PATCH v2 04/27] net/nfp: remove the unneeded logic
Date: Wed, 30 Aug 2023 10:14:34 +0800 [thread overview]
Message-ID: <20230830021457.2064750-5-chaoyong.he@corigine.com> (raw)
In-Reply-To: <20230830021457.2064750-1-chaoyong.he@corigine.com>
Remove the unneeded logic.
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@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 7b32721d60..f885e7d8ff 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 697361da4d..4d26e6f052 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 9213023690..899fcd7441 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
next prev parent reply other threads:[~2023-08-30 2:16 UTC|newest]
Thread overview: 159+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-24 11:09 [PATCH 00/27] refact the nfpcore module Chaoyong He
2023-08-24 11:09 ` [PATCH 01/27] net/nfp: explicitly compare to null and 0 Chaoyong He
2023-08-24 11:09 ` [PATCH 02/27] net/nfp: unify the indent coding style Chaoyong He
2023-08-24 11:09 ` [PATCH 03/27] net/nfp: unify the type of integer variable Chaoyong He
2023-08-24 11:09 ` [PATCH 04/27] net/nfp: remove the unneeded logic Chaoyong He
2023-08-24 11:09 ` [PATCH 05/27] net/nfp: standard the local variable coding style Chaoyong He
2023-08-24 11:09 ` [PATCH 06/27] net/nfp: adjust the log statement Chaoyong He
2023-08-24 11:09 ` [PATCH 07/27] net/nfp: standard the comment style Chaoyong He
2023-08-24 11:09 ` [PATCH 08/27] net/nfp: using the DPDK memory management API Chaoyong He
2023-08-24 11:09 ` [PATCH 09/27] net/nfp: standard the blank character Chaoyong He
2023-08-24 11:09 ` [PATCH 10/27] net/nfp: unify the guide line of header file Chaoyong He
2023-08-24 11:09 ` [PATCH 11/27] net/nfp: rename some parameter and variable Chaoyong He
2023-08-24 11:09 ` [PATCH 12/27] net/nfp: refact the hwinfo module Chaoyong He
2023-08-24 11:09 ` [PATCH 13/27] net/nfp: refact the nffw module Chaoyong He
2023-08-24 11:09 ` [PATCH 14/27] net/nfp: refact the mip module Chaoyong He
2023-08-24 11:09 ` [PATCH 15/27] net/nfp: refact the rtsym module Chaoyong He
2023-08-24 11:09 ` [PATCH 16/27] net/nfp: refact the resource module Chaoyong He
2023-08-24 11:09 ` [PATCH 17/27] net/nfp: refact the target module Chaoyong He
2023-08-24 11:09 ` [PATCH 18/27] net/nfp: add a new header file Chaoyong He
2023-08-24 11:09 ` [PATCH 19/27] net/nfp: refact the nsp module Chaoyong He
2023-08-24 11:09 ` [PATCH 20/27] net/nfp: refact the mutex module Chaoyong He
2023-08-24 11:09 ` [PATCH 21/27] net/nfp: rename data field to sync with kernel driver Chaoyong He
2023-08-24 11:09 ` [PATCH 22/27] net/nfp: add the dev module Chaoyong He
2023-08-24 11:09 ` [PATCH 23/27] net/nfp: add header file for PCIe module Chaoyong He
2023-08-24 11:09 ` [PATCH 24/27] net/nfp: refact the cppcore module Chaoyong He
2023-08-24 11:09 ` [PATCH 25/27] net/nfp: refact the PCIe module Chaoyong He
2023-08-24 11:09 ` [PATCH 26/27] net/nfp: refact the cppcore and " Chaoyong He
2023-08-24 11:09 ` [PATCH 27/27] net/nfp: extend the usage of nfp BAR from 8 to 24 Chaoyong He
2023-08-30 2:14 ` [PATCH v2 00/27] refact the nfpcore module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 01/27] net/nfp: explicitly compare to null and 0 Chaoyong He
2023-08-30 2:14 ` [PATCH v2 02/27] net/nfp: unify the indent coding style Chaoyong He
2023-08-30 2:14 ` [PATCH v2 03/27] net/nfp: unify the type of integer variable Chaoyong He
2023-08-30 2:14 ` Chaoyong He [this message]
2023-08-30 2:14 ` [PATCH v2 05/27] net/nfp: standard the local variable coding style Chaoyong He
2023-08-30 2:14 ` [PATCH v2 06/27] net/nfp: adjust the log statement Chaoyong He
2023-08-30 2:14 ` [PATCH v2 07/27] net/nfp: standard the comment style Chaoyong He
2023-08-30 2:14 ` [PATCH v2 08/27] net/nfp: using the DPDK memory management API Chaoyong He
2023-08-30 2:14 ` [PATCH v2 09/27] net/nfp: standard the blank character Chaoyong He
2023-08-30 2:14 ` [PATCH v2 10/27] net/nfp: unify the guide line of header file Chaoyong He
2023-08-30 2:14 ` [PATCH v2 11/27] net/nfp: rename some parameter and variable Chaoyong He
2023-08-30 2:14 ` [PATCH v2 12/27] net/nfp: refact the hwinfo module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 13/27] net/nfp: refact the nffw module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 14/27] net/nfp: refact the mip module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 15/27] net/nfp: refact the rtsym module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 16/27] net/nfp: refact the resource module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 17/27] net/nfp: refact the target module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 18/27] net/nfp: add a new header file Chaoyong He
2023-08-30 2:14 ` [PATCH v2 19/27] net/nfp: refact the nsp module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 20/27] net/nfp: refact the mutex module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 21/27] net/nfp: rename data field to sync with kernel driver Chaoyong He
2023-08-30 2:14 ` [PATCH v2 22/27] net/nfp: add the dev module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 23/27] net/nfp: add header file for PCIe module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 24/27] net/nfp: refact the cppcore module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 25/27] net/nfp: refact the PCIe module Chaoyong He
2023-08-30 2:14 ` [PATCH v2 26/27] net/nfp: refact the cppcore and " Chaoyong He
2023-08-30 2:14 ` [PATCH v2 27/27] net/nfp: extend the usage of nfp BAR from 8 to 24 Chaoyong He
2023-09-15 9:15 ` [PATCH v3 00/27] refact the nfpcore module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 01/27] net/nfp: explicitly compare to null and 0 Chaoyong He
2023-09-15 9:15 ` [PATCH v3 02/27] net/nfp: unify the indent coding style Chaoyong He
2023-09-15 13:40 ` Ferruh Yigit
2023-09-18 1:25 ` Chaoyong He
2023-09-18 2:22 ` Stephen Hemminger
2023-09-15 9:15 ` [PATCH v3 03/27] net/nfp: unify the type of integer variable Chaoyong He
2023-09-15 13:42 ` Ferruh Yigit
2023-09-18 1:26 ` Chaoyong He
2023-09-15 9:15 ` [PATCH v3 04/27] net/nfp: remove the unneeded logic Chaoyong He
2023-09-15 9:15 ` [PATCH v3 05/27] net/nfp: standard the local variable coding style Chaoyong He
2023-09-15 9:15 ` [PATCH v3 06/27] net/nfp: adjust the log statement Chaoyong He
2023-09-15 9:15 ` [PATCH v3 07/27] net/nfp: standard the comment style Chaoyong He
2023-09-15 13:44 ` Ferruh Yigit
2023-09-18 1:28 ` Chaoyong He
2023-09-18 2:08 ` Chaoyong He
2023-09-15 9:15 ` [PATCH v3 08/27] net/nfp: using the DPDK memory management API Chaoyong He
2023-09-15 13:45 ` Ferruh Yigit
2023-09-18 1:29 ` Chaoyong He
2023-09-15 9:15 ` [PATCH v3 09/27] net/nfp: standard the blank character Chaoyong He
2023-09-15 9:15 ` [PATCH v3 10/27] net/nfp: unify the guide line of header file Chaoyong He
2023-09-15 9:15 ` [PATCH v3 11/27] net/nfp: rename some parameter and variable Chaoyong He
2023-09-15 9:15 ` [PATCH v3 12/27] net/nfp: refact the hwinfo module Chaoyong He
2023-09-15 13:46 ` Ferruh Yigit
2023-09-18 1:39 ` Chaoyong He
2023-09-18 11:01 ` Ferruh Yigit
2023-09-15 9:15 ` [PATCH v3 13/27] net/nfp: refact the nffw module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 14/27] net/nfp: refact the mip module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 15/27] net/nfp: refact the rtsym module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 16/27] net/nfp: refact the resource module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 17/27] net/nfp: refact the target module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 18/27] net/nfp: add a new header file Chaoyong He
2023-09-15 9:15 ` [PATCH v3 19/27] net/nfp: refact the nsp module Chaoyong He
2023-09-18 12:31 ` Ferruh Yigit
2023-09-18 12:36 ` Ferruh Yigit
2023-09-15 9:15 ` [PATCH v3 20/27] net/nfp: refact the mutex module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 21/27] net/nfp: rename data field to sync with kernel driver Chaoyong He
2023-09-15 9:15 ` [PATCH v3 22/27] net/nfp: add the dev module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 23/27] net/nfp: add header file for PCIe module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 24/27] net/nfp: refact the cppcore module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 25/27] net/nfp: refact the PCIe module Chaoyong He
2023-09-15 9:15 ` [PATCH v3 26/27] net/nfp: refact the cppcore and " Chaoyong He
2023-09-15 9:15 ` [PATCH v3 27/27] net/nfp: extend the usage of nfp BAR from 8 to 24 Chaoyong He
2023-09-15 13:49 ` [PATCH v3 00/27] refact the nfpcore module Ferruh Yigit
2023-09-18 2:45 ` [PATCH v4 00/26] " Chaoyong He
2023-09-18 2:45 ` [PATCH v4 01/26] net/nfp: explicitly compare to null and 0 Chaoyong He
2023-09-18 2:45 ` [PATCH v4 02/26] net/nfp: unify the indent coding style Chaoyong He
2023-09-18 11:53 ` Niklas Söderlund
2023-09-18 2:45 ` [PATCH v4 03/26] net/nfp: unify the type of integer variable Chaoyong He
2023-09-18 2:45 ` [PATCH v4 04/26] net/nfp: remove the unneeded logic Chaoyong He
2023-09-18 2:45 ` [PATCH v4 05/26] net/nfp: standard the local variable coding style Chaoyong He
2023-09-18 2:45 ` [PATCH v4 06/26] net/nfp: adjust the log statement Chaoyong He
2023-09-18 2:45 ` [PATCH v4 07/26] net/nfp: standard the comment style Chaoyong He
2023-09-18 2:45 ` [PATCH v4 08/26] net/nfp: standard the blank character Chaoyong He
2023-09-18 2:45 ` [PATCH v4 09/26] net/nfp: unify the guide line of header file Chaoyong He
2023-09-18 2:45 ` [PATCH v4 10/26] net/nfp: rename some parameter and variable Chaoyong He
2023-09-18 2:45 ` [PATCH v4 11/26] net/nfp: refact the hwinfo module Chaoyong He
2023-09-18 2:45 ` [PATCH v4 12/26] net/nfp: refact the nffw module Chaoyong He
2023-09-18 2:45 ` [PATCH v4 13/26] net/nfp: refact the mip module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 14/26] net/nfp: refact the rtsym module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 15/26] net/nfp: refact the resource module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 16/26] net/nfp: refact the target module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 17/26] net/nfp: add a new header file Chaoyong He
2023-09-18 2:46 ` [PATCH v4 18/26] net/nfp: refact the nsp module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 19/26] net/nfp: refact the mutex module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 20/26] net/nfp: rename data field to sync with kernel driver Chaoyong He
2023-09-18 2:46 ` [PATCH v4 21/26] net/nfp: add the dev module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 22/26] net/nfp: add header file for PCIe module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 23/26] net/nfp: refact the cppcore module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 24/26] net/nfp: refact the PCIe module Chaoyong He
2023-09-18 2:46 ` [PATCH v4 25/26] net/nfp: refact the cppcore and " Chaoyong He
2023-09-18 2:46 ` [PATCH v4 26/26] net/nfp: extend the usage of nfp BAR from 8 to 24 Chaoyong He
2023-09-19 9:54 ` [PATCH v5 00/26] refact the nfpcore module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 01/26] net/nfp: explicitly compare to null and 0 Chaoyong He
2023-09-19 9:54 ` [PATCH v5 02/26] net/nfp: unify the indent coding style Chaoyong He
2023-09-19 9:54 ` [PATCH v5 03/26] net/nfp: unify the type of integer variable Chaoyong He
2023-09-19 9:54 ` [PATCH v5 04/26] net/nfp: remove the unneeded logic Chaoyong He
2023-09-19 9:54 ` [PATCH v5 05/26] net/nfp: standard the local variable coding style Chaoyong He
2023-09-19 9:54 ` [PATCH v5 06/26] net/nfp: adjust the log statement Chaoyong He
2023-09-19 9:54 ` [PATCH v5 07/26] net/nfp: standard the comment style Chaoyong He
2023-09-19 9:54 ` [PATCH v5 08/26] net/nfp: standard the blank character Chaoyong He
2023-09-19 9:54 ` [PATCH v5 09/26] net/nfp: unify the guide line of header file Chaoyong He
2023-09-19 9:54 ` [PATCH v5 10/26] net/nfp: rename some parameter and variable Chaoyong He
2023-09-19 9:54 ` [PATCH v5 11/26] net/nfp: refact the hwinfo module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 12/26] net/nfp: refact the nffw module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 13/26] net/nfp: refact the mip module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 14/26] net/nfp: refact the rtsym module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 15/26] net/nfp: refact the resource module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 16/26] net/nfp: refact the target module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 17/26] net/nfp: add a new header file Chaoyong He
2023-09-19 9:54 ` [PATCH v5 18/26] net/nfp: refact the nsp module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 19/26] net/nfp: refact the mutex module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 20/26] net/nfp: rename data field to sync with kernel driver Chaoyong He
2023-09-19 9:54 ` [PATCH v5 21/26] net/nfp: add the dev module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 22/26] net/nfp: add header file for PCIe module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 23/26] net/nfp: refact the cppcore module Chaoyong He
2023-09-19 9:54 ` [PATCH v5 24/26] net/nfp: refact the PCIe module Chaoyong He
2023-09-19 21:18 ` [PATCH v5 00/26] refact the nfpcore module Ferruh Yigit
2023-09-20 1:55 ` Chaoyong He
2023-09-20 8:54 ` Ferruh Yigit
2023-09-20 9:59 ` Ferruh Yigit
2023-09-20 1:28 ` [PATCH v5 25/26] net/nfp: refact the cppcore and PCIe module Chaoyong He
2023-09-20 1:29 ` [PATCH v5 26/26] net/nfp: extend the usage of nfp BAR from 8 to 24 Chaoyong He
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230830021457.2064750-5-chaoyong.he@corigine.com \
--to=chaoyong.he@corigine.com \
--cc=dev@dpdk.org \
--cc=niklas.soderlund@corigine.com \
--cc=oss-drivers@corigine.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).