numam-dpdk/drivers/common/iavf/iavf_impl.c
Jerin Jacob 9c99878aa1 log: introduce logtype register macro
Introduce the RTE_LOG_REGISTER macro to avoid the code duplication
in the logtype registration process.

It is a wrapper macro for declaring the logtype, registering it and
setting its level in the constructor context.

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Adam Dybkowski <adamx.dybkowski@intel.com>
Acked-by: Sachin Saxena <sachin.saxena@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2020-07-03 15:52:51 +02:00

89 lines
1.7 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2019-2020 Intel Corporation
*/
#include <stdio.h>
#include <inttypes.h>
#include <rte_common.h>
#include <rte_random.h>
#include <rte_malloc.h>
#include <rte_memzone.h>
#include "iavf_type.h"
#include "iavf_prototype.h"
enum iavf_status
iavf_allocate_dma_mem_d(__rte_unused struct iavf_hw *hw,
struct iavf_dma_mem *mem,
u64 size,
u32 alignment)
{
const struct rte_memzone *mz = NULL;
char z_name[RTE_MEMZONE_NAMESIZE];
if (!mem)
return IAVF_ERR_PARAM;
snprintf(z_name, sizeof(z_name), "iavf_dma_%"PRIu64, rte_rand());
mz = rte_memzone_reserve_bounded(z_name, size, SOCKET_ID_ANY,
RTE_MEMZONE_IOVA_CONTIG, alignment,
RTE_PGSIZE_2M);
if (!mz)
return IAVF_ERR_NO_MEMORY;
mem->size = size;
mem->va = mz->addr;
mem->pa = mz->iova;
mem->zone = (const void *)mz;
return IAVF_SUCCESS;
}
enum iavf_status
iavf_free_dma_mem_d(__rte_unused struct iavf_hw *hw,
struct iavf_dma_mem *mem)
{
if (!mem)
return IAVF_ERR_PARAM;
rte_memzone_free((const struct rte_memzone *)mem->zone);
mem->zone = NULL;
mem->va = NULL;
mem->pa = (u64)0;
return IAVF_SUCCESS;
}
enum iavf_status
iavf_allocate_virt_mem_d(__rte_unused struct iavf_hw *hw,
struct iavf_virt_mem *mem,
u32 size)
{
if (!mem)
return IAVF_ERR_PARAM;
mem->size = size;
mem->va = rte_zmalloc("iavf", size, 0);
if (mem->va)
return IAVF_SUCCESS;
else
return IAVF_ERR_NO_MEMORY;
}
enum iavf_status
iavf_free_virt_mem_d(__rte_unused struct iavf_hw *hw,
struct iavf_virt_mem *mem)
{
if (!mem)
return IAVF_ERR_PARAM;
rte_free(mem->va);
mem->va = NULL;
return IAVF_SUCCESS;
}
RTE_LOG_REGISTER(iavf_common_logger, pmd.common.iavf, NOTICE);