Lines Matching defs:devcmd2
60 struct devcmd2_controller *devcmd2;
314 struct devcmd2_controller *dc2c = vdev->devcmd2;
329 pr_err("%s: devcmd2 invalid posted or fetch index on cmd %d\n",
341 pr_err("%s: devcmd2 wq full while issuing cmd %d\n",
422 if (vdev->devcmd2)
425 vdev->devcmd2 = kzalloc(sizeof(*vdev->devcmd2), GFP_ATOMIC);
426 if (!vdev->devcmd2)
429 vdev->devcmd2->color = 1;
430 vdev->devcmd2->result_size = DEVCMD2_RING_SIZE;
431 err = vnic_wq_devcmd2_alloc(vdev, &vdev->devcmd2->wq,
436 fetch_index = ioread32(&vdev->devcmd2->wq.ctrl->fetch_index);
438 pr_err("error in devcmd2 init");
446 * when setting up the WQ for devcmd2.
448 vnic_wq_init_start(&vdev->devcmd2->wq, 0, fetch_index,
451 vnic_wq_enable(&vdev->devcmd2->wq);
453 err = vnic_dev_alloc_desc_ring(vdev, &vdev->devcmd2->results_ring,
458 vdev->devcmd2->result =
459 (struct devcmd2_result *) vdev->devcmd2->results_ring.descs;
460 vdev->devcmd2->cmd_ring =
461 (struct vnic_devcmd2 *) vdev->devcmd2->wq.ring.descs;
462 vdev->devcmd2->wq_ctrl = vdev->devcmd2->wq.ctrl;
463 vdev->args[0] = (u64) vdev->devcmd2->results_ring.base_addr |
476 vnic_dev_free_desc_ring(vdev, &vdev->devcmd2->results_ring);
478 vnic_wq_disable(&vdev->devcmd2->wq);
480 vnic_wq_free(&vdev->devcmd2->wq);
482 kfree(vdev->devcmd2);
483 vdev->devcmd2 = NULL;
491 vnic_dev_free_desc_ring(vdev, &vdev->devcmd2->results_ring);
492 vnic_wq_disable(&vdev->devcmd2->wq);
493 vnic_wq_free(&vdev->devcmd2->wq);
494 kfree(vdev->devcmd2);
495 vdev->devcmd2 = NULL;
904 if (vdev->devcmd2)