srp_dev 245 drivers/infiniband/ulp/srp/ib_srp.c iu->dma = ib_dma_map_single(host->srp_dev->dev, iu->buf, size, srp_dev 247 drivers/infiniband/ulp/srp/ib_srp.c if (ib_dma_mapping_error(host->srp_dev->dev, iu->dma)) srp_dev 268 drivers/infiniband/ulp/srp/ib_srp.c ib_dma_unmap_single(host->srp_dev->dev, iu->dma, iu->size, srp_dev 290 drivers/infiniband/ulp/srp/ib_srp.c ret = ib_find_cached_pkey(target->srp_host->srp_dev->dev, srp_dev 318 drivers/infiniband/ulp/srp/ib_srp.c new_cm_id = ib_create_cm_id(target->srp_host->srp_dev->dev, srp_dev 326 drivers/infiniband/ulp/srp/ib_srp.c if (rdma_cap_opa_ah(target->srp_host->srp_dev->dev, srp_dev 393 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 527 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 554 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 677 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 762 drivers/infiniband/ulp/srp/ib_srp.c target->srp_host->srp_dev->dev, srp_dev 825 drivers/infiniband/ulp/srp/ib_srp.c ret = ib_query_port(host->srp_dev->dev, host->port, &attr); srp_dev 831 drivers/infiniband/ulp/srp/ib_srp.c dev_name(&host->srp_dev->dev->dev), subnet_timeout); srp_dev 948 drivers/infiniband/ulp/srp/ib_srp.c memcpy(ipi + 8, &target->srp_host->srp_dev->dev->node_guid, 8); srp_dev 1007 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 1038 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *srp_dev = target->srp_host->srp_dev; srp_dev 1039 drivers/infiniband/ulp/srp/ib_srp.c struct ib_device *ibdev = srp_dev->dev; srp_dev 1056 drivers/infiniband/ulp/srp/ib_srp.c if (srp_dev->use_fast_reg) { srp_dev 1060 drivers/infiniband/ulp/srp/ib_srp.c req->map_page = kmalloc_array(srp_dev->max_pages_per_mr, srp_dev 1247 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 1469 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 1526 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 1604 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 1723 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = target->srp_host->srp_dev; srp_dev 1770 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *dev = ch->target->srp_host->srp_dev; srp_dev 1833 drivers/infiniband/ulp/srp/ib_srp.c dev = target->srp_host->srp_dev; srp_dev 2185 drivers/infiniband/ulp/srp/ib_srp.c struct ib_device *dev = target->srp_host->srp_dev->dev; srp_dev 2253 drivers/infiniband/ulp/srp/ib_srp.c struct ib_device *dev = target->srp_host->srp_dev->dev; srp_dev 2373 drivers/infiniband/ulp/srp/ib_srp.c dev = target->srp_host->srp_dev->dev; srp_dev 2914 drivers/infiniband/ulp/srp/ib_srp.c struct ib_device *dev = target->srp_host->srp_dev->dev; srp_dev 3167 drivers/infiniband/ulp/srp/ib_srp.c dev_name(&target->srp_host->srp_dev->dev->dev)); srp_dev 3296 drivers/infiniband/ulp/srp/ib_srp.c if (scsi_add_host(target->scsi_host, host->srp_dev->dev->dev.parent)) srp_dev 3776 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *srp_dev = host->srp_dev; srp_dev 3777 drivers/infiniband/ulp/srp/ib_srp.c struct ib_device *ibdev = srp_dev->dev; srp_dev 3796 drivers/infiniband/ulp/srp/ib_srp.c target_host->virt_boundary_mask = ~srp_dev->mr_page_mask; srp_dev 3804 drivers/infiniband/ulp/srp/ib_srp.c target->lkey = host->srp_dev->pd->local_dma_lkey; srp_dev 3805 drivers/infiniband/ulp/srp/ib_srp.c target->global_rkey = host->srp_dev->global_rkey; srp_dev 3846 drivers/infiniband/ulp/srp/ib_srp.c if (!srp_dev->has_fmr && !srp_dev->has_fr && !target->allow_ext_sg && srp_dev 3852 drivers/infiniband/ulp/srp/ib_srp.c if (srp_dev->use_fast_reg || srp_dev->use_fmr) { srp_dev 3856 drivers/infiniband/ulp/srp/ib_srp.c max_sectors_per_mr = srp_dev->max_pages_per_mr << srp_dev 3857 drivers/infiniband/ulp/srp/ib_srp.c (ilog2(srp_dev->mr_page_size) - 9); srp_dev 3878 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->max_pages_per_mr - 1) / srp_dev 3879 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->max_pages_per_mr; srp_dev 3882 drivers/infiniband/ulp/srp/ib_srp.c target->scsi_host->max_sectors, srp_dev->max_pages_per_mr, srp_dev->mr_page_size, srp_dev 4043 drivers/infiniband/ulp/srp/ib_srp.c return sprintf(buf, "%s\n", dev_name(&host->srp_dev->dev->dev)); srp_dev 4070 drivers/infiniband/ulp/srp/ib_srp.c host->srp_dev = device; srp_dev 4100 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *srp_dev = client_data; srp_dev 4103 drivers/infiniband/ulp/srp/ib_srp.c list_for_each_entry_safe(host, tmp_host, &srp_dev->dev_list, list) { srp_dev 4114 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *srp_dev; srp_dev 4122 drivers/infiniband/ulp/srp/ib_srp.c srp_dev = kzalloc(sizeof(*srp_dev), GFP_KERNEL); srp_dev 4123 drivers/infiniband/ulp/srp/ib_srp.c if (!srp_dev) srp_dev 4132 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->mr_page_size = 1 << mr_page_shift; srp_dev 4133 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->mr_page_mask = ~((u64) srp_dev->mr_page_size - 1); srp_dev 4135 drivers/infiniband/ulp/srp/ib_srp.c do_div(max_pages_per_mr, srp_dev->mr_page_size); srp_dev 4137 drivers/infiniband/ulp/srp/ib_srp.c attr->max_mr_size, srp_dev->mr_page_size, srp_dev 4139 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->max_pages_per_mr = min_t(u64, SRP_MAX_PAGES_PER_MR, srp_dev 4142 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->has_fmr = (device->ops.alloc_fmr && srp_dev 4146 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->has_fr = (attr->device_cap_flags & srp_dev 4148 drivers/infiniband/ulp/srp/ib_srp.c if (!never_register && !srp_dev->has_fmr && !srp_dev->has_fr) { srp_dev 4151 drivers/infiniband/ulp/srp/ib_srp.c attr->max_mr_size >= 2 * srp_dev->mr_page_size) { srp_dev 4152 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->use_fast_reg = (srp_dev->has_fr && srp_dev 4153 drivers/infiniband/ulp/srp/ib_srp.c (!srp_dev->has_fmr || prefer_fr)); srp_dev 4154 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->use_fmr = !srp_dev->use_fast_reg && srp_dev->has_fmr; srp_dev 4158 drivers/infiniband/ulp/srp/ib_srp.c (!srp_dev->has_fmr && !srp_dev->has_fr)) srp_dev 4161 drivers/infiniband/ulp/srp/ib_srp.c if (srp_dev->use_fast_reg) { srp_dev 4162 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->max_pages_per_mr = srp_dev 4163 drivers/infiniband/ulp/srp/ib_srp.c min_t(u32, srp_dev->max_pages_per_mr, srp_dev 4166 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->mr_max_size = srp_dev->mr_page_size * srp_dev 4167 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->max_pages_per_mr; srp_dev 4171 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->max_pages_per_mr, srp_dev->mr_max_size); srp_dev 4173 drivers/infiniband/ulp/srp/ib_srp.c INIT_LIST_HEAD(&srp_dev->dev_list); srp_dev 4175 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->dev = device; srp_dev 4176 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->pd = ib_alloc_pd(device, flags); srp_dev 4177 drivers/infiniband/ulp/srp/ib_srp.c if (IS_ERR(srp_dev->pd)) srp_dev 4181 drivers/infiniband/ulp/srp/ib_srp.c srp_dev->global_rkey = srp_dev->pd->unsafe_global_rkey; srp_dev 4182 drivers/infiniband/ulp/srp/ib_srp.c WARN_ON_ONCE(srp_dev->global_rkey == 0); srp_dev 4186 drivers/infiniband/ulp/srp/ib_srp.c host = srp_add_port(srp_dev, p); srp_dev 4188 drivers/infiniband/ulp/srp/ib_srp.c list_add_tail(&host->list, &srp_dev->dev_list); srp_dev 4191 drivers/infiniband/ulp/srp/ib_srp.c ib_set_client_data(device, &srp_client, srp_dev); srp_dev 4195 drivers/infiniband/ulp/srp/ib_srp.c kfree(srp_dev); srp_dev 4200 drivers/infiniband/ulp/srp/ib_srp.c struct srp_device *srp_dev; srp_dev 4204 drivers/infiniband/ulp/srp/ib_srp.c srp_dev = client_data; srp_dev 4205 drivers/infiniband/ulp/srp/ib_srp.c if (!srp_dev) srp_dev 4208 drivers/infiniband/ulp/srp/ib_srp.c list_for_each_entry_safe(host, tmp_host, &srp_dev->dev_list, list) { srp_dev 4233 drivers/infiniband/ulp/srp/ib_srp.c ib_dealloc_pd(srp_dev->pd); srp_dev 4235 drivers/infiniband/ulp/srp/ib_srp.c kfree(srp_dev); srp_dev 117 drivers/infiniband/ulp/srp/ib_srp.h struct srp_device *srp_dev;