cq->ctrl = NULL;
}
-int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index,
- unsigned int desc_count, unsigned int desc_size)
+int vnic_cq_alloc_with_type(struct vnic_dev *vdev, struct vnic_cq *cq,
+ unsigned int index, unsigned int desc_count,
+ unsigned int desc_size, unsigned int res_type)
{
cq->index = index;
cq->vdev = vdev;
- cq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_CQ, index);
+ cq->ctrl = vnic_dev_get_res(vdev, res_type, index);
if (!cq->ctrl) {
vdev_err(vdev, "Failed to hook CQ[%d] resource\n", index);
return -EINVAL;
return vnic_dev_alloc_desc_ring(vdev, &cq->ring, desc_count, desc_size);
}
+int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index,
+ unsigned int desc_count, unsigned int desc_size)
+{
+ return vnic_cq_alloc_with_type(vdev, cq, index, desc_count, desc_size,
+ RES_TYPE_CQ);
+}
+
void vnic_cq_init(struct vnic_cq *cq, unsigned int flow_control_enable,
unsigned int color_enable, unsigned int cq_head, unsigned int cq_tail,
unsigned int cq_tail_color, unsigned int interrupt_enable,
void vnic_cq_free(struct vnic_cq *cq);
int vnic_cq_alloc(struct vnic_dev *vdev, struct vnic_cq *cq, unsigned int index,
unsigned int desc_count, unsigned int desc_size);
+int vnic_cq_alloc_with_type(struct vnic_dev *vdev, struct vnic_cq *cq,
+ unsigned int index, unsigned int desc_count,
+ unsigned int desc_size, unsigned int res_type);
void vnic_cq_init(struct vnic_cq *cq, unsigned int flow_control_enable,
unsigned int color_enable, unsigned int cq_head, unsigned int cq_tail,
unsigned int cq_tail_color, unsigned int interrupt_enable,
intr->ctrl = NULL;
}
-int vnic_intr_alloc(struct vnic_dev *vdev, struct vnic_intr *intr,
- unsigned int index)
+int vnic_intr_alloc_with_type(struct vnic_dev *vdev, struct vnic_intr *intr,
+ unsigned int index, unsigned int res_type)
{
intr->index = index;
intr->vdev = vdev;
- intr->ctrl = vnic_dev_get_res(vdev, RES_TYPE_INTR_CTRL, index);
+ intr->ctrl = vnic_dev_get_res(vdev, res_type, index);
if (!intr->ctrl) {
vdev_err(vdev, "Failed to hook INTR[%d].ctrl resource\n",
index);
return 0;
}
+int vnic_intr_alloc(struct vnic_dev *vdev, struct vnic_intr *intr,
+ unsigned int index)
+{
+ return vnic_intr_alloc_with_type(vdev, intr, index, RES_TYPE_INTR_CTRL);
+}
+
void vnic_intr_init(struct vnic_intr *intr, u32 coalescing_timer,
unsigned int coalescing_type, unsigned int mask_on_assertion)
{
void vnic_intr_free(struct vnic_intr *intr);
int vnic_intr_alloc(struct vnic_dev *vdev, struct vnic_intr *intr,
unsigned int index);
+int vnic_intr_alloc_with_type(struct vnic_dev *vdev, struct vnic_intr *intr,
+ unsigned int index, unsigned int res_type);
void vnic_intr_init(struct vnic_intr *intr, u32 coalescing_timer,
unsigned int coalescing_type, unsigned int mask_on_assertion);
void vnic_intr_coalescing_timer_set(struct vnic_intr *intr,
rq->ctrl = NULL;
}
-int vnic_rq_alloc(struct vnic_dev *vdev, struct vnic_rq *rq, unsigned int index,
- unsigned int desc_count, unsigned int desc_size)
+int vnic_rq_alloc_with_type(struct vnic_dev *vdev, struct vnic_rq *rq,
+ unsigned int index, unsigned int desc_count,
+ unsigned int desc_size, unsigned int res_type)
{
int err;
rq->index = index;
rq->vdev = vdev;
- rq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_RQ, index);
+ rq->ctrl = vnic_dev_get_res(vdev, res_type, index);
if (!rq->ctrl) {
vdev_err(vdev, "Failed to hook RQ[%d] resource\n", index);
return -EINVAL;
return 0;
}
+int vnic_rq_alloc(struct vnic_dev *vdev, struct vnic_rq *rq, unsigned int index,
+ unsigned int desc_count, unsigned int desc_size)
+{
+ return vnic_rq_alloc_with_type(vdev, rq, index, desc_count, desc_size,
+ RES_TYPE_RQ);
+}
+
static void vnic_rq_init_start(struct vnic_rq *rq, unsigned int cq_index,
unsigned int fetch_index, unsigned int posted_index,
unsigned int error_interrupt_enable,
void vnic_rq_free(struct vnic_rq *rq);
int vnic_rq_alloc(struct vnic_dev *vdev, struct vnic_rq *rq, unsigned int index,
unsigned int desc_count, unsigned int desc_size);
+int vnic_rq_alloc_with_type(struct vnic_dev *vdev, struct vnic_rq *rq,
+ unsigned int index, unsigned int desc_count,
+ unsigned int desc_size, unsigned int res_type);
void vnic_rq_init(struct vnic_rq *rq, unsigned int cq_index,
unsigned int error_interrupt_enable,
unsigned int error_interrupt_offset);
wq->ctrl = NULL;
}
-int vnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index,
- unsigned int desc_count, unsigned int desc_size)
+int vnic_wq_alloc_with_type(struct vnic_dev *vdev, struct vnic_wq *wq,
+ unsigned int index, unsigned int desc_count,
+ unsigned int desc_size, unsigned int res_type)
{
int err;
wq->index = index;
wq->vdev = vdev;
- wq->ctrl = vnic_dev_get_res(vdev, RES_TYPE_WQ, index);
+ wq->ctrl = vnic_dev_get_res(vdev, res_type, index);
if (!wq->ctrl) {
vdev_err(vdev, "Failed to hook WQ[%d] resource\n", index);
return -EINVAL;
return 0;
}
+int vnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index,
+ unsigned int desc_count, unsigned int desc_size)
+{
+ return vnic_wq_alloc_with_type(vdev, wq, index, desc_count, desc_size,
+ RES_TYPE_WQ);
+}
+
int enic_wq_devcmd2_alloc(struct vnic_dev *vdev, struct vnic_wq *wq,
unsigned int desc_count, unsigned int desc_size)
{
void vnic_wq_free(struct vnic_wq *wq);
int vnic_wq_alloc(struct vnic_dev *vdev, struct vnic_wq *wq, unsigned int index,
unsigned int desc_count, unsigned int desc_size);
+int vnic_wq_alloc_with_type(struct vnic_dev *vdev, struct vnic_wq *wq,
+ unsigned int index, unsigned int desc_count,
+ unsigned int desc_size, unsigned int res_type);
void vnic_wq_init(struct vnic_wq *wq, unsigned int cq_index,
unsigned int error_interrupt_enable,
unsigned int error_interrupt_offset);