Lines Matching refs:snic

16 #include "snic.h"
19 snic_get_vnic_config(struct snic *snic)
21 struct vnic_snic_config *c = &snic->config;
26 ret = svnic_dev_spec(snic->vdev, \
31 SNIC_HOST_ERR(snic->shost, \
106 snic_get_res_counts(struct snic *snic)
108 snic->wq_count = svnic_dev_get_res_count(snic->vdev, RES_TYPE_WQ);
109 SNIC_BUG_ON(snic->wq_count == 0);
110 snic->cq_count = svnic_dev_get_res_count(snic->vdev, RES_TYPE_CQ);
111 SNIC_BUG_ON(snic->cq_count == 0);
112 snic->intr_count = svnic_dev_get_res_count(snic->vdev,
114 SNIC_BUG_ON(snic->intr_count == 0);
118 snic_free_vnic_res(struct snic *snic)
122 for (i = 0; i < snic->wq_count; i++)
123 svnic_wq_free(&snic->wq[i]);
125 for (i = 0; i < snic->cq_count; i++)
126 svnic_cq_free(&snic->cq[i]);
128 for (i = 0; i < snic->intr_count; i++)
129 svnic_intr_free(&snic->intr[i]);
133 snic_alloc_vnic_res(struct snic *snic)
143 intr_mode = svnic_dev_get_intr_mode(snic->vdev);
156 SNIC_INFO("wq %d cq %d intr %d\n", snic->wq_count,
157 snic->cq_count,
158 snic->intr_count);
162 for (i = 0; i < snic->wq_count; i++) {
163 ret = svnic_wq_alloc(snic->vdev,
164 &snic->wq[i],
166 snic->config.wq_enet_desc_count,
173 for (i = 0; i < snic->wq_count; i++) {
174 ret = svnic_cq_alloc(snic->vdev,
175 &snic->cq[i],
177 snic->config.wq_enet_desc_count,
183 SNIC_BUG_ON(snic->cq_count != 2 * snic->wq_count);
185 for (i = snic->wq_count; i < snic->cq_count; i++) {
186 ret = svnic_cq_alloc(snic->vdev,
187 &snic->cq[i],
189 (snic->config.wq_enet_desc_count * 3),
195 for (i = 0; i < snic->intr_count; i++) {
196 ret = svnic_intr_alloc(snic->vdev, &snic->intr[i], i);
207 err_intr_offset = snic->err_intr_offset;
209 for (i = 0; i < snic->wq_count; i++) {
210 svnic_wq_init(&snic->wq[i],
216 for (i = 0; i < snic->cq_count; i++) {
219 svnic_cq_init(&snic->cq[i],
234 * Assumption : snic is always in MSI-X mode
239 for (i = 0; i < snic->intr_count; i++) {
240 svnic_intr_init(&snic->intr[i],
241 snic->config.intr_timer,
242 snic->config.intr_timer_type,
247 ret = svnic_dev_stats_dump(snic->vdev, &snic->stats);
249 SNIC_HOST_ERR(snic->shost,
256 svnic_dev_stats_clear(snic->vdev);
262 snic_free_vnic_res(snic);
268 snic_log_q_error(struct snic *snic)
273 for (i = 0; i < snic->wq_count; i++) {
274 err_status = ioread32(&snic->wq[i].ctrl->error_status);
276 SNIC_HOST_ERR(snic->shost,