Lines Matching defs:dc2c

250 	struct devcmd2_controller *dc2c = vdev->devcmd2;
260 fetch_idx = ioread32(&dc2c->wq_ctrl->fetch_index);
266 posted = ioread32(&dc2c->wq_ctrl->posted_index);
281 dc2c->cmd_ring[posted].cmd = cmd;
282 dc2c->cmd_ring[posted].flags = 0;
285 dc2c->cmd_ring[posted].flags |= DEVCMD2_FNORESULT;
289 dc2c->cmd_ring[posted].args[i] = vdev->args[i];
297 iowrite32(new_posted, &dc2c->wq_ctrl->posted_index);
299 if (dc2c->cmd_ring[posted].flags & DEVCMD2_FNORESULT)
302 result = dc2c->result + dc2c->next_result;
303 color = dc2c->color;
309 dc2c->next_result++;
310 if (dc2c->next_result == dc2c->result_size) {
311 dc2c->next_result = 0;
312 dc2c->color = dc2c->color ? 0 : 1;
343 struct devcmd2_controller *dc2c = NULL;
355 dc2c = kzalloc(sizeof(*dc2c), GFP_ATOMIC);
356 if (!dc2c)
359 vdev->devcmd2 = dc2c;
361 dc2c->color = 1;
362 dc2c->result_size = DEVCMD2_RING_SIZE;
365 &dc2c->wq,
371 fetch_idx = ioread32(&dc2c->wq.ctrl->fetch_index);
382 vnic_wq_init_start(&dc2c->wq, 0, fetch_idx, fetch_idx, 0, 0);
383 svnic_wq_enable(&dc2c->wq);
385 &dc2c->results_ring,
391 dc2c->result = (struct devcmd2_result *) dc2c->results_ring.descs;
392 dc2c->cmd_ring = (struct vnic_devcmd2 *) dc2c->wq.ring.descs;
393 dc2c->wq_ctrl = dc2c->wq.ctrl;
394 vdev->args[0] = (u64) dc2c->results_ring.base_addr | VNIC_PADDR_TARGET;
407 svnic_dev_free_desc_ring(vdev, &dc2c->results_ring);
410 svnic_wq_disable(&dc2c->wq);
411 svnic_wq_free(&dc2c->wq);
414 kfree(dc2c);
422 struct devcmd2_controller *dc2c = vdev->devcmd2;
427 svnic_dev_free_desc_ring(vdev, &dc2c->results_ring);
428 svnic_wq_disable(&dc2c->wq);
429 svnic_wq_free(&dc2c->wq);
430 kfree(dc2c);