Lines Matching refs:snic
30 #include "snic.h"
33 snic_get_vnic_config(struct snic *snic)
35 struct vnic_snic_config *c = &snic->config;
40 ret = svnic_dev_spec(snic->vdev, \
45 SNIC_HOST_ERR(snic->shost, \
120 snic_get_res_counts(struct snic *snic)
122 snic->wq_count = svnic_dev_get_res_count(snic->vdev, RES_TYPE_WQ);
123 SNIC_BUG_ON(snic->wq_count == 0);
124 snic->cq_count = svnic_dev_get_res_count(snic->vdev, RES_TYPE_CQ);
125 SNIC_BUG_ON(snic->cq_count == 0);
126 snic->intr_count = svnic_dev_get_res_count(snic->vdev,
128 SNIC_BUG_ON(snic->intr_count == 0);
132 snic_free_vnic_res(struct snic *snic)
136 for (i = 0; i < snic->wq_count; i++)
137 svnic_wq_free(&snic->wq[i]);
139 for (i = 0; i < snic->cq_count; i++)
140 svnic_cq_free(&snic->cq[i]);
142 for (i = 0; i < snic->intr_count; i++)
143 svnic_intr_free(&snic->intr[i]);
147 snic_alloc_vnic_res(struct snic *snic)
157 intr_mode = svnic_dev_get_intr_mode(snic->vdev);
170 SNIC_INFO("wq %d cq %d intr %d\n", snic->wq_count,
171 snic->cq_count,
172 snic->intr_count);
176 for (i = 0; i < snic->wq_count; i++) {
177 ret = svnic_wq_alloc(snic->vdev,
178 &snic->wq[i],
180 snic->config.wq_enet_desc_count,
187 for (i = 0; i < snic->wq_count; i++) {
188 ret = svnic_cq_alloc(snic->vdev,
189 &snic->cq[i],
191 snic->config.wq_enet_desc_count,
197 SNIC_BUG_ON(snic->cq_count != 2 * snic->wq_count);
199 for (i = snic->wq_count; i < snic->cq_count; i++) {
200 ret = svnic_cq_alloc(snic->vdev,
201 &snic->cq[i],
203 (snic->config.wq_enet_desc_count * 3),
209 for (i = 0; i < snic->intr_count; i++) {
210 ret = svnic_intr_alloc(snic->vdev, &snic->intr[i], i);
221 err_intr_offset = snic->err_intr_offset;
223 for (i = 0; i < snic->wq_count; i++) {
224 svnic_wq_init(&snic->wq[i],
230 for (i = 0; i < snic->cq_count; i++) {
233 svnic_cq_init(&snic->cq[i],
248 * Assumption : snic is always in MSI-X mode
253 for (i = 0; i < snic->intr_count; i++) {
254 svnic_intr_init(&snic->intr[i],
255 snic->config.intr_timer,
256 snic->config.intr_timer_type,
261 ret = svnic_dev_stats_dump(snic->vdev, &snic->stats);
263 SNIC_HOST_ERR(snic->shost,
270 svnic_dev_stats_clear(snic->vdev);
276 snic_free_vnic_res(snic);
282 snic_log_q_error(struct snic *snic)
287 for (i = 0; i < snic->wq_count; i++) {
288 err_status = ioread32(&snic->wq[i].ctrl->error_status);
290 SNIC_HOST_ERR(snic->shost,