Lines Matching refs:cvq
1801 struct mlx5_control_vq *cvq = &mvdev->cvq; in handle_ctrl_mac() local
1810 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, (void *)mac, ETH_ALEN); in handle_ctrl_mac()
1929 struct mlx5_control_vq *cvq = &mvdev->cvq; in handle_ctrl_mq() local
1948 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, (void *)&mq, sizeof(mq)); in handle_ctrl_mq()
1977 struct mlx5_control_vq *cvq = &mvdev->cvq; in handle_ctrl_vlan() local
1987 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &vlan, sizeof(vlan)); in handle_ctrl_vlan()
1998 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &vlan, sizeof(vlan)); in handle_ctrl_vlan()
2019 struct mlx5_control_vq *cvq; in mlx5_cvq_kick_handler() local
2027 cvq = &mvdev->cvq; in mlx5_cvq_kick_handler()
2037 if (!cvq->ready) in mlx5_cvq_kick_handler()
2041 err = vringh_getdesc_iotlb(&cvq->vring, &cvq->riov, &cvq->wiov, &cvq->head, in mlx5_cvq_kick_handler()
2046 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &ctrl, sizeof(ctrl)); in mlx5_cvq_kick_handler()
2050 cvq->received_desc++; in mlx5_cvq_kick_handler()
2068 write = vringh_iov_push_iotlb(&cvq->vring, &cvq->wiov, &status, sizeof(status)); in mlx5_cvq_kick_handler()
2069 vringh_complete_iotlb(&cvq->vring, cvq->head, write); in mlx5_cvq_kick_handler()
2070 vringh_kiov_cleanup(&cvq->riov); in mlx5_cvq_kick_handler()
2071 vringh_kiov_cleanup(&cvq->wiov); in mlx5_cvq_kick_handler()
2073 if (vringh_need_notify_iotlb(&cvq->vring)) in mlx5_cvq_kick_handler()
2074 vringh_notify(&cvq->vring); in mlx5_cvq_kick_handler()
2076 cvq->completed_desc++; in mlx5_cvq_kick_handler()
2095 if (!mvdev->wq || !mvdev->cvq.ready) in mlx5_vdpa_kick_vq()
2120 mvdev->cvq.desc_addr = desc_area; in mlx5_vdpa_set_vq_address()
2121 mvdev->cvq.device_addr = device_area; in mlx5_vdpa_set_vq_address()
2122 mvdev->cvq.driver_addr = driver_area; in mlx5_vdpa_set_vq_address()
2153 mvdev->cvq.event_cb = *cb; in mlx5_vdpa_set_vq_cb()
2158 struct mlx5_control_vq *cvq = container_of(vring, struct mlx5_control_vq, vring); in mlx5_cvq_notify() local
2160 if (!cvq->event_cb.callback) in mlx5_cvq_notify()
2163 cvq->event_cb.callback(cvq->event_cb.private); in mlx5_cvq_notify()
2168 struct mlx5_control_vq *cvq = &mvdev->cvq; in set_cvq_ready() local
2170 cvq->ready = ready; in set_cvq_ready()
2174 cvq->vring.notify = mlx5_cvq_notify; in set_cvq_ready()
2219 return mvdev->cvq.ready; in mlx5_vdpa_get_vq_ready()
2235 mvdev->cvq.vring.last_avail_idx = state->split.avail_index; in mlx5_vdpa_set_vq_state()
2262 state->split.avail_index = mvdev->cvq.vring.last_avail_idx; in mlx5_vdpa_get_vq_state()
2790 ndev->mvdev.cvq.ready = false; in clear_vqs_ready()
2795 struct mlx5_control_vq *cvq = &mvdev->cvq; in setup_cvq_vring() local
2799 u16 idx = cvq->vring.last_avail_idx; in setup_cvq_vring()
2801 err = vringh_init_iotlb(&cvq->vring, mvdev->actual_features, in setup_cvq_vring()
2803 (struct vring_desc *)(uintptr_t)cvq->desc_addr, in setup_cvq_vring()
2804 (struct vring_avail *)(uintptr_t)cvq->driver_addr, in setup_cvq_vring()
2805 (struct vring_used *)(uintptr_t)cvq->device_addr); in setup_cvq_vring()
2808 cvq->vring.last_avail_idx = cvq->vring.last_used_idx = idx; in setup_cvq_vring()
2880 ndev->mvdev.cvq.received_desc = 0; in mlx5_vdpa_reset()
2881 ndev->mvdev.cvq.completed_desc = 0; in mlx5_vdpa_reset()
3093 struct mlx5_control_vq *cvq; in mlx5_vdpa_get_vendor_vq_stats() local
3106 cvq = &mvdev->cvq; in mlx5_vdpa_get_vendor_vq_stats()
3107 received_desc = cvq->received_desc; in mlx5_vdpa_get_vendor_vq_stats()
3108 completed_desc = cvq->completed_desc; in mlx5_vdpa_get_vendor_vq_stats()
3143 struct mlx5_control_vq *cvq; in mlx5_vdpa_cvq_suspend() local
3148 cvq = &mvdev->cvq; in mlx5_vdpa_cvq_suspend()
3149 cvq->ready = false; in mlx5_vdpa_cvq_suspend()