From 86576a644e1c02e1c2d375afecb983e0adc08905 Mon Sep 17 00:00:00 2001 From: Ophir Munk Date: Mon, 28 Dec 2020 11:54:28 +0200 Subject: [PATCH] common/mlx5: add getter functions on Windows Add file mlx5/windows/mlx5_common_os.h the equivalent of Linux file mlx5/linux/mlx5_common_os.h. It contains getters functions mlx5_os_get_dev_device_name, mlx5_os_get_ctx_device_name, mlx5_os_get_ctx_device_path, mlx5_os_get_umem_id, mlx5_os_get_devx_channel_fd. Signed-off-by: Ophir Munk Acked-by: Matan Azrad --- drivers/common/mlx5/windows/mlx5_common_os.h | 91 ++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/drivers/common/mlx5/windows/mlx5_common_os.h b/drivers/common/mlx5/windows/mlx5_common_os.h index cce7c88c6a..2abdb2c3ae 100644 --- a/drivers/common/mlx5/windows/mlx5_common_os.h +++ b/drivers/common/mlx5/windows/mlx5_common_os.h @@ -48,4 +48,95 @@ mlx5_os_free(void *addr) { _aligned_free(addr); } + +/** + * Get fd. Given a pointer to DevX channel object of type + * 'struct mlx5dv_devx_event_channel*' - return its fd. + * Under Windows it is a stub. + * + * @param[in] channel + * Pointer to channel object. + * + * @return + * 0 + */ +static inline int +mlx5_os_get_devx_channel_fd(void *channel) +{ + if (!channel) + return 0; + return 0; +} + +/** + * Get device name. Given a device pointer - return a + * pointer to the corresponding device name. + * + * @param[in] dev + * Pointer to device. + * + * @return + * Pointer to device name if dev is valid, NULL otherwise. + */ +static inline const char * +mlx5_os_get_dev_device_name(void *dev) +{ + if (!dev) + return NULL; + return ((struct devx_device *)dev)->name; +} + +/** + * Get device name. Given a context pointer - return a + * pointer to the corresponding device name. + * + * @param[in] ctx + * Pointer to context. + * + * @return + * Pointer to device name if ctx is valid, NULL otherwise. + */ +static inline const char * +mlx5_os_get_ctx_device_name(void *ctx) +{ + if (!ctx) + return NULL; + return ((mlx5_context_st *)ctx)->mlx5_dev.name; +} + +/** + * Get a device path name. Given acontext pointer - return a + * pointer to the corresponding device path name. + * + * @param[in] ctx + * Pointer to context. + * + * @return + * Pointer to device path name if ctx is valid, NULL otherwise. + */ + +static inline const char * +mlx5_os_get_ctx_device_path(void *ctx) +{ + if (!ctx) + return NULL; + return ((mlx5_context_st *)ctx)->mlx5_dev.dev_pnp_id; +} + +/** + * Get umem id. Given a pointer to umem object of type return its id. + * + * @param[in] umem + * Pointer to umem object. + * + * @return + * The umem id if umem is valid, 0 otherwise. + */ +static inline uint32_t +mlx5_os_get_umem_id(void *umem) +{ + if (!umem) + return 0; + return ((struct mlx5_devx_umem *)umem)->umem_id; +} #endif /* RTE_PMD_MLX5_COMMON_OS_H_ */