Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/qlnx/qlnxr/qlnxr_verbs.c
Show All 30 Lines | |||||
#include <sys/cdefs.h> | #include <sys/cdefs.h> | ||||
__FBSDID("$FreeBSD$"); | __FBSDID("$FreeBSD$"); | ||||
#include "qlnxr_def.h" | #include "qlnxr_def.h" | ||||
#include "rdma_common.h" | #include "rdma_common.h" | ||||
#include "qlnxr_roce.h" | #include "qlnxr_roce.h" | ||||
#include "qlnxr_cm.h" | #include "qlnxr_cm.h" | ||||
#define upper_32_bits(x) (uint32_t)(x >> 32) | |||||
#define lower_32_bits(x) (uint32_t)(x) | |||||
#define HILO_U64(hi, lo) ((((u64)(hi)) << 32) + (lo)) | #define HILO_U64(hi, lo) ((((u64)(hi)) << 32) + (lo)) | ||||
#define TYPEPTR_ADDR_SET(type_ptr, field, vaddr) \ | #define TYPEPTR_ADDR_SET(type_ptr, field, vaddr) \ | ||||
do { \ | do { \ | ||||
(type_ptr)->field.hi = cpu_to_le32(upper_32_bits(vaddr));\ | (type_ptr)->field.hi = cpu_to_le32(upper_32_bits(vaddr));\ | ||||
(type_ptr)->field.lo = cpu_to_le32(lower_32_bits(vaddr));\ | (type_ptr)->field.lo = cpu_to_le32(lower_32_bits(vaddr));\ | ||||
} while (0) | } while (0) | ||||
▲ Show 20 Lines • Show All 1,310 Lines • ▼ Show 20 Lines | qlnxr_prepare_pbl_tbl(struct qlnxr_dev *dev, | ||||
pbl_info->pbl_size = pbl_size; | pbl_info->pbl_size = pbl_size; | ||||
pbl_info->num_pbes = num_pbes; | pbl_info->num_pbes = num_pbes; | ||||
QL_DPRINT12(ha, "prepare pbl table: num_pbes=%d, num_pbls=%d pbl_size=%d\n", | QL_DPRINT12(ha, "prepare pbl table: num_pbes=%d, num_pbls=%d pbl_size=%d\n", | ||||
pbl_info->num_pbes, pbl_info->num_pbls, pbl_info->pbl_size); | pbl_info->num_pbes, pbl_info->num_pbls, pbl_info->pbl_size); | ||||
return 0; | return 0; | ||||
} | } | ||||
#define upper_32_bits(x) (uint32_t)(x >> 32) | |||||
#define lower_32_bits(x) (uint32_t)(x) | |||||
static void | static void | ||||
qlnxr_populate_pbls(struct qlnxr_dev *dev, struct ib_umem *umem, | qlnxr_populate_pbls(struct qlnxr_dev *dev, struct ib_umem *umem, | ||||
struct qlnxr_pbl *pbl, struct qlnxr_pbl_info *pbl_info) | struct qlnxr_pbl *pbl, struct qlnxr_pbl_info *pbl_info) | ||||
{ | { | ||||
struct regpair *pbe; | struct regpair *pbe; | ||||
struct qlnxr_pbl *pbl_tbl; | struct qlnxr_pbl *pbl_tbl; | ||||
struct scatterlist *sg; | struct scatterlist *sg; | ||||
▲ Show 20 Lines • Show All 5,859 Lines • Show Last 20 Lines |