162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright(c) 2016 Intel Corporation.
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#ifndef DEF_RDMAVT_H
762306a36Sopenharmony_ci#define DEF_RDMAVT_H
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <rdma/rdma_vt.h>
1062306a36Sopenharmony_ci#include <linux/pci.h>
1162306a36Sopenharmony_ci#include "pd.h"
1262306a36Sopenharmony_ci#include "qp.h"
1362306a36Sopenharmony_ci#include "ah.h"
1462306a36Sopenharmony_ci#include "mr.h"
1562306a36Sopenharmony_ci#include "srq.h"
1662306a36Sopenharmony_ci#include "mcast.h"
1762306a36Sopenharmony_ci#include "mmap.h"
1862306a36Sopenharmony_ci#include "cq.h"
1962306a36Sopenharmony_ci#include "mad.h"
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci#define rvt_pr_info(rdi, fmt, ...) \
2262306a36Sopenharmony_ci	__rvt_pr_info(rdi->driver_f.get_pci_dev(rdi), \
2362306a36Sopenharmony_ci		      rvt_get_ibdev_name(rdi), \
2462306a36Sopenharmony_ci		      fmt, \
2562306a36Sopenharmony_ci		      ##__VA_ARGS__)
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci#define rvt_pr_warn(rdi, fmt, ...) \
2862306a36Sopenharmony_ci	__rvt_pr_warn(rdi->driver_f.get_pci_dev(rdi), \
2962306a36Sopenharmony_ci		      rvt_get_ibdev_name(rdi), \
3062306a36Sopenharmony_ci		      fmt, \
3162306a36Sopenharmony_ci		      ##__VA_ARGS__)
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci#define rvt_pr_err(rdi, fmt, ...) \
3462306a36Sopenharmony_ci	__rvt_pr_err(rdi->driver_f.get_pci_dev(rdi), \
3562306a36Sopenharmony_ci		     rvt_get_ibdev_name(rdi), \
3662306a36Sopenharmony_ci		     fmt, \
3762306a36Sopenharmony_ci		     ##__VA_ARGS__)
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci#define rvt_pr_err_ratelimited(rdi, fmt, ...) \
4062306a36Sopenharmony_ci	__rvt_pr_err_ratelimited((rdi)->driver_f.get_pci_dev(rdi), \
4162306a36Sopenharmony_ci				 rvt_get_ibdev_name(rdi), \
4262306a36Sopenharmony_ci				 fmt, \
4362306a36Sopenharmony_ci				 ##__VA_ARGS__)
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci#define __rvt_pr_info(pdev, name, fmt, ...) \
4662306a36Sopenharmony_ci	dev_info(&pdev->dev, "%s: " fmt, name, ##__VA_ARGS__)
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci#define __rvt_pr_warn(pdev, name, fmt, ...) \
4962306a36Sopenharmony_ci	dev_warn(&pdev->dev, "%s: " fmt, name, ##__VA_ARGS__)
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci#define __rvt_pr_err(pdev, name, fmt, ...) \
5262306a36Sopenharmony_ci	dev_err(&pdev->dev, "%s: " fmt, name, ##__VA_ARGS__)
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci#define __rvt_pr_err_ratelimited(pdev, name, fmt, ...) \
5562306a36Sopenharmony_ci	dev_err_ratelimited(&(pdev)->dev, "%s: " fmt, name, ##__VA_ARGS__)
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_cistatic inline u32 ibport_num_to_idx(struct ib_device *ibdev, u32 port_num)
5862306a36Sopenharmony_ci{
5962306a36Sopenharmony_ci	return port_num - 1; /* IB ports start at 1 our arrays at 0 */
6062306a36Sopenharmony_ci}
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci#endif          /* DEF_RDMAVT_H */
63