@@ -174,18 +174,10 @@ nfp_compute_bar(const struct nfp_bar *bar,
newcfg |= NFP_PCIE_BAR_PCIE2CPP_ACTION_BASEADDRESS(act);
newcfg |= NFP_PCIE_BAR_PCIE2CPP_TOKEN_BASEADDRESS(tok);
- if ((offset & mask) != ((offset + size - 1) & mask)) {
- PMD_DRV_LOG(ERR, "BAR%d: Won't use for Fixed mapping <%#llx,%#llx>, action=%d BAR too small (0x%llx)",
- bar->index, (unsigned long long)offset,
- (unsigned long long)(offset + size), act,
- (unsigned long long)mask);
+ if ((offset & mask) != ((offset + size - 1) & mask))
return -EINVAL;
- }
- offset &= mask;
- PMD_DRV_LOG(DEBUG, "BAR%d: Created Fixed mapping %d:%d:%d:0x%#llx-0x%#llx>",
- bar->index, tgt, act, tok, (unsigned long long)offset,
- (unsigned long long)(offset + mask));
+ offset &= mask;
bitsize = 40 - 16;
} else {
@@ -198,30 +190,16 @@ nfp_compute_bar(const struct nfp_bar *bar,
newcfg |= NFP_PCIE_BAR_PCIE2CPP_TARGET_BASEADDRESS(tgt);
newcfg |= NFP_PCIE_BAR_PCIE2CPP_TOKEN_BASEADDRESS(tok);
- if ((offset & mask) != ((offset + size - 1) & mask)) {
- PMD_DRV_LOG(ERR, "BAR%d: Won't use for bulk mapping <%#llx,%#llx> target=%d, token=%d BAR too small (%#llx) - (%#llx != %#llx).",
- bar->index, (unsigned long long)offset,
- (unsigned long long)(offset + size),
- tgt, tok, (unsigned long long)mask,
- (unsigned long long)(offset & mask),
- (unsigned long long)(offset + size - 1) & mask);
+ if ((offset & mask) != ((offset + size - 1) & mask))
return -EINVAL;
- }
offset &= mask;
- PMD_DRV_LOG(DEBUG, "BAR%d: Created bulk mapping %d:x:%d:%#llx-%#llx",
- bar->index, tgt, tok, (unsigned long long)offset,
- (unsigned long long)(offset + ~mask));
-
bitsize = 40 - 21;
}
- if (bar->bitsize < bitsize) {
- PMD_DRV_LOG(ERR, "BAR%d: Too small for %d:%d:%d", bar->index,
- tgt, tok, act);
+ if (bar->bitsize < bitsize)
return -EINVAL;
- }
newcfg |= offset >> bitsize;
@@ -254,7 +232,6 @@ nfp_bar_write(struct nfp_pcie_user *nfp,
*(uint32_t *)(bar->csr) = newcfg;
bar->barcfg = newcfg;
- PMD_DRV_LOG(DEBUG, "BAR%d: updated to 0x%08x", bar->index, newcfg);
return 0;
}
@@ -795,7 +772,11 @@ nfp6000_init(struct nfp_cpp *cpp,
desc->cfg = dev->mem_resource[0].addr;
desc->dev_id = dev->addr.function & 0x7;
- nfp_enable_bars(desc);
+ ret = nfp_enable_bars(desc);
+ if (ret != 0) {
+ PMD_DRV_LOG(ERR, "Enable bars failed");
+ return -1;
+ }
nfp_cpp_priv_set(cpp, desc);
@@ -200,6 +200,7 @@ nfp_cpp_area_alloc_with_name(struct nfp_cpp *cpp,
err = cpp->op->area_init(area, dest, address, size);
if (err < 0) {
+ PMD_DRV_LOG(ERR, "Area init op failed");
free(area);
return NULL;
}
@@ -243,10 +244,13 @@ nfp_cpp_area_alloc_acquire(struct nfp_cpp *cpp,
struct nfp_cpp_area *area;
area = nfp_cpp_area_alloc(cpp, destination, address, size);
- if (area == NULL)
+ if (area == NULL) {
+ PMD_DRV_LOG(ERR, "Failed to allocate CPP area");
return NULL;
+ }
if (nfp_cpp_area_acquire(area) != 0) {
+ PMD_DRV_LOG(ERR, "Failed to acquire CPP area");
nfp_cpp_area_free(area);
return NULL;
}
@@ -294,8 +298,10 @@ nfp_cpp_area_acquire(struct nfp_cpp_area *area)
if (area->cpp->op->area_acquire != NULL) {
int err = area->cpp->op->area_acquire(area);
- if (err < 0)
+ if (err < 0) {
+ PMD_DRV_LOG(ERR, "Area acquire op failed");
return -1;
+ }
}
return 0;
@@ -662,7 +668,7 @@ nfp_cpp_read(struct nfp_cpp *cpp,
area = nfp_cpp_area_alloc_acquire(cpp, destination, address, length);
if (area == NULL) {
- PMD_DRV_LOG(ERR, "Area allocation/acquire failed");
+ PMD_DRV_LOG(ERR, "Area allocation/acquire failed for read");
return -1;
}
@@ -691,8 +697,10 @@ nfp_cpp_write(struct nfp_cpp *cpp,
struct nfp_cpp_area *area;
area = nfp_cpp_area_alloc_acquire(cpp, destination, address, length);
- if (area == NULL)
+ if (area == NULL) {
+ PMD_DRV_LOG(ERR, "Area allocation/acquire failed for write");
return -1;
+ }
err = nfp_cpp_area_write(area, 0, kernel_vaddr, length);
@@ -746,8 +754,10 @@ nfp_cpp_map_area(struct nfp_cpp *cpp,
uint8_t *res;
*area = nfp_cpp_area_alloc_acquire(cpp, cpp_id, addr, size);
- if (*area == NULL)
+ if (*area == NULL) {
+ PMD_DRV_LOG(ERR, "Area allocation/acquire failed for map");
goto err_eio;
+ }
res = nfp_cpp_area_iomem(*area);
if (res == NULL)
@@ -74,7 +74,7 @@ nfp_hwinfo_db_validate(struct nfp_hwinfo *db,
new_crc = nfp_crc32_posix((char *)db, size);
crc = (uint32_t *)(db->start + size);
if (new_crc != *crc) {
- PMD_DRV_LOG(ERR, "Corrupt hwinfo table (CRC mismatch) calculated 0x%x, expected 0x%x",
+ PMD_DRV_LOG(ERR, "CRC mismatch, calculated %#x, expected %#x",
new_crc, *crc);
return -EINVAL;
}
@@ -94,34 +94,36 @@ nfp_hwinfo_try_fetch(struct nfp_cpp *cpp,
struct nfp_hwinfo *header;
res = nfp_resource_acquire(cpp, NFP_RESOURCE_NFP_HWINFO);
- if (res) {
- cpp_id = nfp_resource_cpp_id(res);
- cpp_addr = nfp_resource_address(res);
- *cpp_size = nfp_resource_size(res);
+ if (res == NULL) {
+ PMD_DRV_LOG(ERR, "HWInfo - acquire resource failed");
+ return NULL;
+ }
- nfp_resource_release(res);
+ cpp_id = nfp_resource_cpp_id(res);
+ cpp_addr = nfp_resource_address(res);
+ *cpp_size = nfp_resource_size(res);
- if (*cpp_size < HWINFO_SIZE_MIN)
- return NULL;
- } else {
+ nfp_resource_release(res);
+
+ if (*cpp_size < HWINFO_SIZE_MIN)
return NULL;
- }
db = malloc(*cpp_size + 1);
if (db == NULL)
return NULL;
err = nfp_cpp_read(cpp, cpp_id, cpp_addr, db, *cpp_size);
- if (err != (int)*cpp_size)
+ if (err != (int)*cpp_size) {
+ PMD_DRV_LOG(ERR, "HWInfo - CPP read error %d", err);
goto exit_free;
+ }
header = (void *)db;
- PMD_DRV_LOG(DEBUG, "NFP HWINFO header: %#08x", *(uint32_t *)header);
if (nfp_hwinfo_is_updating(header))
goto exit_free;
if (header->version != NFP_HWINFO_VERSION_2) {
- PMD_DRV_LOG(DEBUG, "Unknown HWInfo version: 0x%08x",
+ PMD_DRV_LOG(ERR, "Unknown HWInfo version: %#08x",
header->version);
goto exit_free;
}
@@ -46,16 +46,16 @@ nfp_mip_try_read(struct nfp_cpp *cpp,
ret = nfp_cpp_read(cpp, cpp_id, addr, mip, sizeof(*mip));
if (ret != sizeof(*mip)) {
- PMD_DRV_LOG(ERR, "Failed to read MIP data (%d, %zu)", ret, sizeof(*mip));
+ PMD_DRV_LOG(ERR, "Failed to read MIP data");
return -EIO;
}
if (mip->signature != NFP_MIP_SIGNATURE) {
- PMD_DRV_LOG(ERR, "Incorrect MIP signature (0x%08x)",
+ PMD_DRV_LOG(ERR, "Incorrect MIP signature %#08x",
rte_le_to_cpu_32(mip->signature));
return -EINVAL;
}
if (mip->mip_version != NFP_MIP_VERSION) {
- PMD_DRV_LOG(ERR, "Unsupported MIP version (%d)",
+ PMD_DRV_LOG(ERR, "Unsupported MIP version %d",
rte_le_to_cpu_32(mip->mip_version));
return -EINVAL;
}
@@ -109,6 +109,7 @@ nfp_mip_open(struct nfp_cpp *cpp)
err = nfp_mip_read_resource(cpp, mip);
if (err != 0) {
+ PMD_DRV_LOG(ERR, "Failed to read MIP resource");
free(mip);
return NULL;
}
@@ -221,9 +221,7 @@ nfp_cpp_mutex_lock(struct nfp_cpp_mutex *mutex)
if (err < 0 && err != -EBUSY)
return err;
if (time(NULL) >= warn_at) {
- PMD_DRV_LOG(ERR, "Warning: waiting for NFP mutex usage:%u depth:%hd] target:%d addr:%lx key:%08x]",
- mutex->usage, mutex->depth, mutex->target,
- mutex->address, mutex->key);
+ PMD_DRV_LOG(WARNING, "Waiting for NFP mutex...");
warn_at = time(NULL) + 60;
}
sched_yield();
@@ -3,6 +3,7 @@
* All rights reserved.
*/
+#include "../nfp_logs.h"
#include "nfp_cpp.h"
#include "nfp_nffw.h"
#include "nfp_mip.h"
@@ -131,8 +132,10 @@ nfp_nffw_info_open(struct nfp_cpp *cpp)
memset(state, 0, sizeof(*state));
state->res = nfp_resource_acquire(cpp, NFP_RESOURCE_NFP_NFFW);
- if (state->res == NULL)
+ if (state->res == NULL) {
+ PMD_DRV_LOG(ERR, "NFFW - acquire resource failed");
goto err_free;
+ }
fwinf = &state->fwinf;
@@ -142,8 +145,10 @@ nfp_nffw_info_open(struct nfp_cpp *cpp)
err = nfp_cpp_read(cpp, nfp_resource_cpp_id(state->res),
nfp_resource_address(state->res),
fwinf, sizeof(*fwinf));
- if (err < (int)sizeof(*fwinf))
+ if (err < (int)sizeof(*fwinf)) {
+ PMD_DRV_LOG(ERR, "NFFW - CPP read error %d", err);
goto err_release;
+ }
if (nffw_res_flg_init_get(fwinf) == 0)
goto err_release;
@@ -82,8 +82,10 @@ nfp_nsp_check(struct nfp_nsp *state)
nsp_status = nfp_resource_address(state->res) + NSP_STATUS;
err = nfp_cpp_readq(cpp, nsp_cpp, nsp_status, ®);
- if (err < 0)
+ if (err < 0) {
+ PMD_DRV_LOG(ERR, "NSP - CPP readq failed %d", err);
return err;
+ }
if (FIELD_GET(NSP_STATUS_MAGIC, reg) != NSP_MAGIC) {
PMD_DRV_LOG(ERR, "Cannot detect NFP Service Processor");
@@ -119,8 +121,10 @@ nfp_nsp_open(struct nfp_cpp *cpp)
struct nfp_resource *res;
res = nfp_resource_acquire(cpp, NFP_RESOURCE_NSP);
- if (res == NULL)
+ if (res == NULL) {
+ PMD_DRV_LOG(ERR, "NSP - resource acquire failed");
return NULL;
+ }
state = malloc(sizeof(*state));
if (state == NULL) {
@@ -133,6 +137,7 @@ nfp_nsp_open(struct nfp_cpp *cpp)
err = nfp_nsp_check(state);
if (err != 0) {
+ PMD_DRV_LOG(ERR, "NSP - check failed");
nfp_nsp_close(state);
return NULL;
}
@@ -180,8 +185,10 @@ nfp_nsp_wait_reg(struct nfp_cpp *cpp,
for (;;) {
err = nfp_cpp_readq(cpp, nsp_cpp, addr, reg);
- if (err < 0)
+ if (err < 0) {
+ PMD_DRV_LOG(ERR, "NSP - CPP readq failed");
return err;
+ }
if ((*reg & mask) == val)
return 0;
@@ -234,8 +241,10 @@ nfp_nsp_command(struct nfp_nsp *state,
nsp_buffer = nsp_base + NSP_BUFFER;
err = nfp_nsp_check(state);
- if (err != 0)
+ if (err != 0) {
+ PMD_DRV_LOG(ERR, "Check NSP command failed");
return err;
+ }
if (!FIELD_FIT(NSP_BUFFER_CPP, buff_cpp >> 8) ||
!FIELD_FIT(NSP_BUFFER_ADDRESS, buff_addr)) {
@@ -261,7 +270,7 @@ nfp_nsp_command(struct nfp_nsp *state,
err = nfp_nsp_wait_reg(cpp, ®, nsp_cpp, nsp_command,
NSP_COMMAND_START, 0);
if (err != 0) {
- PMD_DRV_LOG(ERR, "Error %d waiting for code 0x%04x to start",
+ PMD_DRV_LOG(ERR, "Error %d waiting for code %#04x to start",
err, code);
return err;
}
@@ -270,7 +279,7 @@ nfp_nsp_command(struct nfp_nsp *state,
err = nfp_nsp_wait_reg(cpp, ®, nsp_cpp, nsp_status,
NSP_STATUS_BUSY, 0);
if (err != 0) {
- PMD_DRV_LOG(ERR, "Error %d waiting for code 0x%04x to start",
+ PMD_DRV_LOG(ERR, "Error %d waiting for code %#04x to complete",
err, code);
return err;
}
@@ -352,8 +361,10 @@ nfp_nsp_command_buf(struct nfp_nsp *nsp,
}
ret = nfp_nsp_command(nsp, code, option, cpp_id, cpp_buf);
- if (ret < 0)
+ if (ret < 0) {
+ PMD_DRV_LOG(ERR, "NSP command failed");
return ret;
+ }
if (out_buf != NULL && out_size > 0) {
err = nfp_cpp_read(cpp, cpp_id, cpp_buf, out_buf, out_size);
@@ -259,7 +259,7 @@ __nfp_eth_read_ports(struct nfp_nsp *nsp)
memset(entries, 0, NSP_ETH_TABLE_SIZE);
ret = nfp_nsp_read_eth_table(nsp, entries, NSP_ETH_TABLE_SIZE);
if (ret < 0) {
- PMD_DRV_LOG(ERR, "reading port table failed %d", ret);
+ PMD_DRV_LOG(ERR, "Reading port table failed %d", ret);
goto err;
}
@@ -278,7 +278,7 @@ __nfp_eth_read_ports(struct nfp_nsp *nsp)
* above.
*/
if (ret != 0 && ret != cnt) {
- PMD_DRV_LOG(ERR, "table entry count (%d) unmatch entries present (%d)",
+ PMD_DRV_LOG(ERR, "Table entry count (%d) unmatch entries present (%d)",
ret, cnt);
goto err;
}
@@ -357,12 +357,12 @@ nfp_eth_config_start(struct nfp_cpp *cpp,
ret = nfp_nsp_read_eth_table(nsp, entries, NSP_ETH_TABLE_SIZE);
if (ret < 0) {
- PMD_DRV_LOG(ERR, "reading port table failed %d", ret);
+ PMD_DRV_LOG(ERR, "Reading port table failed %d", ret);
goto err;
}
if ((entries[idx].port & NSP_ETH_PORT_LANES_MASK) == 0) {
- PMD_DRV_LOG(ERR, "trying to set port state on disabled port %d", idx);
+ PMD_DRV_LOG(ERR, "Trying to set port state on disabled port %d", idx);
goto err;
}
@@ -642,7 +642,7 @@ __nfp_eth_set_speed(struct nfp_nsp *nsp,
rate = nfp_eth_speed2rate(speed);
if (rate == RATE_INVALID) {
- PMD_DRV_LOG(ERR, "could not find matching lane rate for speed %u", speed);
+ PMD_DRV_LOG(ERR, "Could not find matching lane rate for speed %u", speed);
return -EINVAL;
}
@@ -118,16 +118,22 @@ nfp_resource_try_acquire(struct nfp_cpp *cpp,
{
int err;
- if (nfp_cpp_mutex_lock(dev_mutex) != 0)
+ if (nfp_cpp_mutex_lock(dev_mutex) != 0) {
+ PMD_DRV_LOG(ERR, "RESOURCE - CPP mutex lock failed");
return -EINVAL;
+ }
err = nfp_cpp_resource_find(cpp, res);
- if (err != 0)
+ if (err != 0) {
+ PMD_DRV_LOG(ERR, "RESOURCE - CPP resource find failed");
goto err_unlock_dev;
+ }
err = nfp_cpp_mutex_trylock(res->mutex);
- if (err != 0)
+ if (err != 0) {
+ PMD_DRV_LOG(ERR, "RESOURCE - CPP mutex trylock failed");
goto err_res_mutex_free;
+ }
nfp_cpp_mutex_unlock(dev_mutex);
@@ -171,6 +177,7 @@ nfp_resource_acquire(struct nfp_cpp *cpp,
dev_mutex = nfp_cpp_mutex_alloc(cpp, NFP_RESOURCE_TBL_TARGET,
NFP_RESOURCE_TBL_BASE, NFP_RESOURCE_TBL_KEY);
if (dev_mutex == NULL) {
+ PMD_DRV_LOG(ERR, "RESOURCE - CPP mutex alloc failed");
free(res);
return NULL;
}
@@ -182,8 +189,10 @@ nfp_resource_acquire(struct nfp_cpp *cpp,
err = nfp_resource_try_acquire(cpp, res, dev_mutex);
if (err == 0)
break;
- if (err != -EBUSY)
+ if (err != -EBUSY) {
+ PMD_DRV_LOG(ERR, "RESOURCE - try acquire failed");
goto err_free;
+ }
if (count++ > 1000) {
PMD_DRV_LOG(ERR, "Error: resource %s timed out", name);
@@ -60,8 +60,6 @@ nfp_rtsym_sw_entry_init(struct nfp_rtsym_table *cache,
sw->size = ((uint64_t)fw->size_hi << 32) |
rte_le_to_cpu_32(fw->size_lo);
- PMD_INIT_LOG(DEBUG, "rtsym_entry_init name=%s, addr=%" PRIx64 ", size=%" PRIu64 ", target=%d",
- sw->name, sw->addr, sw->size, sw->target);
switch (fw->target) {
case SYM_TGT_LMEM:
sw->target = NFP_RTSYM_TARGET_LMEM;
@@ -227,7 +225,7 @@ nfp_rtsym_size(const struct nfp_rtsym *sym)
{
switch (sym->type) {
case NFP_RTSYM_TYPE_NONE:
- PMD_DRV_LOG(ERR, "rtsym '%s': type NONE", sym->name);
+ PMD_DRV_LOG(ERR, "The type of rtsym '%s' is NONE", sym->name);
return 0;
case NFP_RTSYM_TYPE_OBJECT: /* Fall through */
case NFP_RTSYM_TYPE_FUNCTION:
@@ -235,7 +233,7 @@ nfp_rtsym_size(const struct nfp_rtsym *sym)
case NFP_RTSYM_TYPE_ABS:
return sizeof(uint64_t);
default:
- PMD_DRV_LOG(ERR, "rtsym '%s': unknown type: %d", sym->name, sym->type);
+ PMD_DRV_LOG(ERR, "Unknown RTSYM type %u", sym->type);
return 0;
}
}
@@ -366,7 +364,7 @@ nfp_rtsym_read_le(struct nfp_rtsym_table *rtbl,
err = nfp_rtsym_readq(rtbl->cpp, sym, NFP_CPP_ACTION_RW, 0, 0, &val);
break;
default:
- PMD_DRV_LOG(ERR, "rtsym '%s' unsupported size: %" PRId64,
+ PMD_DRV_LOG(ERR, "rtsym '%s' unsupported size: %#lx",
name, sym->size);
err = -EINVAL;
break;
@@ -396,10 +394,9 @@ nfp_rtsym_map(struct nfp_rtsym_table *rtbl,
uint32_t cpp_id;
const struct nfp_rtsym *sym;
- PMD_DRV_LOG(DEBUG, "mapping symbol %s", name);
sym = nfp_rtsym_lookup(rtbl, name);
if (sym == NULL) {
- PMD_INIT_LOG(ERR, "symbol lookup fails for %s", name);
+ PMD_DRV_LOG(ERR, "Symbol lookup fails for %s", name);
return NULL;
}
@@ -418,10 +415,9 @@ nfp_rtsym_map(struct nfp_rtsym_table *rtbl,
mem = nfp_cpp_map_area(rtbl->cpp, cpp_id, addr, sym->size, area);
if (mem == NULL) {
- PMD_INIT_LOG(ERR, "Failed to map symbol %s", name);
+ PMD_DRV_LOG(ERR, "Failed to map symbol %s", name);
return NULL;
}
- PMD_DRV_LOG(DEBUG, "symbol %s with address %p", name, mem);
return mem;
}