Lines Matching refs:pdata

81 	struct hv_uio_private_data *pdata = info->priv;  in hv_uio_irqcontrol()  local
82 struct hv_device *dev = pdata->device; in hv_uio_irqcontrol()
97 struct hv_uio_private_data *pdata = hv_get_drvdata(hv_dev); in hv_uio_channel_cb() local
102 uio_event_notify(&pdata->info); in hv_uio_channel_cb()
111 struct hv_uio_private_data *pdata = hv_get_drvdata(hv_dev); in hv_uio_rescind() local
117 pdata->info.irq = 0; in hv_uio_rescind()
120 uio_event_notify(&pdata->info); in hv_uio_rescind()
180 hv_uio_cleanup(struct hv_device *dev, struct hv_uio_private_data *pdata) in hv_uio_cleanup() argument
182 if (pdata->send_gpadl) in hv_uio_cleanup()
183 vmbus_teardown_gpadl(dev->channel, pdata->send_gpadl); in hv_uio_cleanup()
184 vfree(pdata->send_buf); in hv_uio_cleanup()
186 if (pdata->recv_gpadl) in hv_uio_cleanup()
187 vmbus_teardown_gpadl(dev->channel, pdata->recv_gpadl); in hv_uio_cleanup()
188 vfree(pdata->recv_buf); in hv_uio_cleanup()
195 struct hv_uio_private_data *pdata; in hv_uio_probe() local
198 pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); in hv_uio_probe()
199 if (!pdata) in hv_uio_probe()
219 pdata->info.name = "uio_hv_generic"; in hv_uio_probe()
220 pdata->info.version = DRIVER_VERSION; in hv_uio_probe()
221 pdata->info.irqcontrol = hv_uio_irqcontrol; in hv_uio_probe()
222 pdata->info.irq = UIO_IRQ_CUSTOM; in hv_uio_probe()
225 pdata->info.mem[TXRX_RING_MAP].name = "txrx_rings"; in hv_uio_probe()
226 pdata->info.mem[TXRX_RING_MAP].addr in hv_uio_probe()
228 pdata->info.mem[TXRX_RING_MAP].size in hv_uio_probe()
230 pdata->info.mem[TXRX_RING_MAP].memtype = UIO_MEM_LOGICAL; in hv_uio_probe()
232 pdata->info.mem[INT_PAGE_MAP].name = "int_page"; in hv_uio_probe()
233 pdata->info.mem[INT_PAGE_MAP].addr in hv_uio_probe()
235 pdata->info.mem[INT_PAGE_MAP].size = PAGE_SIZE; in hv_uio_probe()
236 pdata->info.mem[INT_PAGE_MAP].memtype = UIO_MEM_LOGICAL; in hv_uio_probe()
238 pdata->info.mem[MON_PAGE_MAP].name = "monitor_page"; in hv_uio_probe()
239 pdata->info.mem[MON_PAGE_MAP].addr in hv_uio_probe()
241 pdata->info.mem[MON_PAGE_MAP].size = PAGE_SIZE; in hv_uio_probe()
242 pdata->info.mem[MON_PAGE_MAP].memtype = UIO_MEM_LOGICAL; in hv_uio_probe()
244 pdata->recv_buf = vzalloc(RECV_BUFFER_SIZE); in hv_uio_probe()
245 if (pdata->recv_buf == NULL) { in hv_uio_probe()
250 ret = vmbus_establish_gpadl(dev->channel, pdata->recv_buf, in hv_uio_probe()
251 RECV_BUFFER_SIZE, &pdata->recv_gpadl); in hv_uio_probe()
256 snprintf(pdata->recv_name, sizeof(pdata->recv_name), in hv_uio_probe()
257 "recv:%u", pdata->recv_gpadl); in hv_uio_probe()
258 pdata->info.mem[RECV_BUF_MAP].name = pdata->recv_name; in hv_uio_probe()
259 pdata->info.mem[RECV_BUF_MAP].addr in hv_uio_probe()
260 = (uintptr_t)pdata->recv_buf; in hv_uio_probe()
261 pdata->info.mem[RECV_BUF_MAP].size = RECV_BUFFER_SIZE; in hv_uio_probe()
262 pdata->info.mem[RECV_BUF_MAP].memtype = UIO_MEM_VIRTUAL; in hv_uio_probe()
265 pdata->send_buf = vzalloc(SEND_BUFFER_SIZE); in hv_uio_probe()
266 if (pdata->send_buf == NULL) { in hv_uio_probe()
271 ret = vmbus_establish_gpadl(dev->channel, pdata->send_buf, in hv_uio_probe()
272 SEND_BUFFER_SIZE, &pdata->send_gpadl); in hv_uio_probe()
276 snprintf(pdata->send_name, sizeof(pdata->send_name), in hv_uio_probe()
277 "send:%u", pdata->send_gpadl); in hv_uio_probe()
278 pdata->info.mem[SEND_BUF_MAP].name = pdata->send_name; in hv_uio_probe()
279 pdata->info.mem[SEND_BUF_MAP].addr in hv_uio_probe()
280 = (uintptr_t)pdata->send_buf; in hv_uio_probe()
281 pdata->info.mem[SEND_BUF_MAP].size = SEND_BUFFER_SIZE; in hv_uio_probe()
282 pdata->info.mem[SEND_BUF_MAP].memtype = UIO_MEM_VIRTUAL; in hv_uio_probe()
284 pdata->info.priv = pdata; in hv_uio_probe()
285 pdata->device = dev; in hv_uio_probe()
287 ret = uio_register_device(&dev->device, &pdata->info); in hv_uio_probe()
301 hv_set_drvdata(dev, pdata); in hv_uio_probe()
306 hv_uio_cleanup(dev, pdata); in hv_uio_probe()
309 kfree(pdata); in hv_uio_probe()
317 struct hv_uio_private_data *pdata = hv_get_drvdata(dev); in hv_uio_remove() local
319 if (!pdata) in hv_uio_remove()
322 uio_unregister_device(&pdata->info); in hv_uio_remove()
323 hv_uio_cleanup(dev, pdata); in hv_uio_remove()
326 kfree(pdata); in hv_uio_remove()