/* * rpmem_fip_set_attr -- (internal) set required attributes */ static void rpmem_fip_set_attr(struct rpmem_fip *fip, struct rpmem_fip_attr *attr) { fip->raddr = (uint64_t)attr->raddr; fip->rkey = attr->rkey; fip->laddr = attr->laddr; fip->size = attr->size; fip->persist_method = attr->persist_method; rpmem_fip_set_nlanes(fip, attr->nlanes); /* one for read operation */ fip->cq_size = 1 + rpmem_fip_cq_size(fip->nlanes, fip->persist_method, RPMEM_FIP_NODE_CLIENT); fip->ops = &rpmem_fip_ops[fip->persist_method]; }
/* * rpmemd_fip_set_attr -- save required attributes in rpmemd_fip handle */ static void rpmemd_fip_set_attr(struct rpmemd_fip *fip, struct rpmemd_fip_attr *attr) { fip->addr = attr->addr; fip->size = attr->size; fip->nthreads = attr->nthreads; fip->persist_method = attr->persist_method; fip->persist = attr->persist; rpmemd_fip_set_nlanes(fip, attr->nlanes); fip->cq_size = rpmem_fip_cq_size(fip->nlanes, fip->persist_method, RPMEM_FIP_NODE_SERVER); RPMEMD_ASSERT(fip->persist_method < MAX_RPMEM_PM); fip->ops = &rpmemd_fip_ops[fip->persist_method]; }