• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/rds/

Lines Matching refs:rds_iwdev

61 	struct rds_iw_device *rds_iwdev;
77 rds_iwdev = kmalloc(sizeof *rds_iwdev, GFP_KERNEL);
78 if (!rds_iwdev)
81 spin_lock_init(&rds_iwdev->spinlock);
83 rds_iwdev->dma_local_lkey = !!(dev_attr->device_cap_flags & IB_DEVICE_LOCAL_DMA_LKEY);
84 rds_iwdev->max_wrs = dev_attr->max_qp_wr;
85 rds_iwdev->max_sge = min(dev_attr->max_sge, RDS_IW_MAX_SGE);
87 rds_iwdev->dev = device;
88 rds_iwdev->pd = ib_alloc_pd(device);
89 if (IS_ERR(rds_iwdev->pd))
92 if (!rds_iwdev->dma_local_lkey) {
93 rds_iwdev->mr = ib_get_dma_mr(rds_iwdev->pd,
97 if (IS_ERR(rds_iwdev->mr))
100 rds_iwdev->mr = NULL;
102 rds_iwdev->mr_pool = rds_iw_create_mr_pool(rds_iwdev);
103 if (IS_ERR(rds_iwdev->mr_pool)) {
104 rds_iwdev->mr_pool = NULL;
108 INIT_LIST_HEAD(&rds_iwdev->cm_id_list);
109 INIT_LIST_HEAD(&rds_iwdev->conn_list);
110 list_add_tail(&rds_iwdev->list, &rds_iw_devices);
112 ib_set_client_data(device, &rds_iw_client, rds_iwdev);
117 if (rds_iwdev->mr)
118 ib_dereg_mr(rds_iwdev->mr);
120 ib_dealloc_pd(rds_iwdev->pd);
122 kfree(rds_iwdev);
129 struct rds_iw_device *rds_iwdev;
132 rds_iwdev = ib_get_client_data(device, &rds_iw_client);
133 if (!rds_iwdev)
136 spin_lock_irq(&rds_iwdev->spinlock);
137 list_for_each_entry_safe(i_cm_id, next, &rds_iwdev->cm_id_list, list) {
141 spin_unlock_irq(&rds_iwdev->spinlock);
143 rds_iw_destroy_conns(rds_iwdev);
145 if (rds_iwdev->mr_pool)
146 rds_iw_destroy_mr_pool(rds_iwdev->mr_pool);
148 if (rds_iwdev->mr)
149 ib_dereg_mr(rds_iwdev->mr);
151 while (ib_dealloc_pd(rds_iwdev->pd)) {
152 rdsdebug("Failed to dealloc pd %p\n", rds_iwdev->pd);
156 list_del(&rds_iwdev->list);
157 kfree(rds_iwdev);
182 struct rds_iw_device *rds_iwdev;
191 rds_iwdev = ib_get_client_data(ic->i_cm_id->device, &rds_iw_client);
194 iinfo->max_send_sge = rds_iwdev->max_sge;
195 rds_iw_get_mr_info(rds_iwdev, iinfo);