Lines Matching defs:devcmd2
72 struct devcmd2_controller *devcmd2;
322 struct devcmd2_controller *dc2c = vdev->devcmd2;
337 pr_err("%s: devcmd2 invalid posted or fetch index on cmd %d\n",
349 pr_err("%s: devcmd2 wq full while issuing cmd %d\n",
430 if (vdev->devcmd2)
433 vdev->devcmd2 = kzalloc(sizeof(*vdev->devcmd2), GFP_ATOMIC);
434 if (!vdev->devcmd2)
437 vdev->devcmd2->color = 1;
438 vdev->devcmd2->result_size = DEVCMD2_RING_SIZE;
439 err = vnic_wq_devcmd2_alloc(vdev, &vdev->devcmd2->wq,
444 fetch_index = ioread32(&vdev->devcmd2->wq.ctrl->fetch_index);
446 pr_err("error in devcmd2 init");
454 * when setting up the WQ for devcmd2.
456 vnic_wq_init_start(&vdev->devcmd2->wq, 0, fetch_index,
459 vnic_wq_enable(&vdev->devcmd2->wq);
461 err = vnic_dev_alloc_desc_ring(vdev, &vdev->devcmd2->results_ring,
466 vdev->devcmd2->result =
467 (struct devcmd2_result *) vdev->devcmd2->results_ring.descs;
468 vdev->devcmd2->cmd_ring =
469 (struct vnic_devcmd2 *) vdev->devcmd2->wq.ring.descs;
470 vdev->devcmd2->wq_ctrl = vdev->devcmd2->wq.ctrl;
471 vdev->args[0] = (u64) vdev->devcmd2->results_ring.base_addr |
484 vnic_dev_free_desc_ring(vdev, &vdev->devcmd2->results_ring);
486 vnic_wq_disable(&vdev->devcmd2->wq);
488 vnic_wq_free(&vdev->devcmd2->wq);
490 kfree(vdev->devcmd2);
491 vdev->devcmd2 = NULL;
499 vnic_dev_free_desc_ring(vdev, &vdev->devcmd2->results_ring);
500 vnic_wq_disable(&vdev->devcmd2->wq);
501 vnic_wq_free(&vdev->devcmd2->wq);
502 kfree(vdev->devcmd2);
503 vdev->devcmd2 = NULL;
912 if (vdev->devcmd2)