drivers/vdpa/solidrun/snet_ctrl.c
132
static int snet_ctrl_read_from_dpu(struct snet *snet, u16 opcode, u16 vq_idx, void *buffer,
drivers/vdpa/solidrun/snet_ctrl.c
135
struct pci_dev *pdev = snet->pdev;
drivers/vdpa/solidrun/snet_ctrl.c
136
struct snet_ctrl_regs __iomem *regs = snet_get_ctrl(snet);
drivers/vdpa/solidrun/snet_ctrl.c
144
if (!SNET_CFG_VER(snet, 2))
drivers/vdpa/solidrun/snet_ctrl.c
150
mutex_lock(&snet->ctrl_lock);
drivers/vdpa/solidrun/snet_ctrl.c
165
spin_lock(&snet->ctrl_spinlock);
drivers/vdpa/solidrun/snet_ctrl.c
170
spin_unlock(&snet->ctrl_spinlock);
drivers/vdpa/solidrun/snet_ctrl.c
211
mutex_unlock(&snet->ctrl_lock);
drivers/vdpa/solidrun/snet_ctrl.c
218
static int snet_send_ctrl_msg_old(struct snet *snet, u32 opcode)
drivers/vdpa/solidrun/snet_ctrl.c
220
struct pci_dev *pdev = snet->pdev;
drivers/vdpa/solidrun/snet_ctrl.c
221
struct snet_ctrl_regs __iomem *regs = snet_get_ctrl(snet);
drivers/vdpa/solidrun/snet_ctrl.c
224
mutex_lock(&snet->ctrl_lock);
drivers/vdpa/solidrun/snet_ctrl.c
245
mutex_unlock(&snet->ctrl_lock);
drivers/vdpa/solidrun/snet_ctrl.c
252
static int snet_send_ctrl_msg(struct snet *snet, u16 opcode, u16 vq_idx)
drivers/vdpa/solidrun/snet_ctrl.c
254
struct pci_dev *pdev = snet->pdev;
drivers/vdpa/solidrun/snet_ctrl.c
255
struct snet_ctrl_regs __iomem *regs = snet_get_ctrl(snet);
drivers/vdpa/solidrun/snet_ctrl.c
260
if (!SNET_CFG_VER(snet, 2))
drivers/vdpa/solidrun/snet_ctrl.c
261
return snet_send_ctrl_msg_old(snet, opcode);
drivers/vdpa/solidrun/snet_ctrl.c
263
mutex_lock(&snet->ctrl_lock);
drivers/vdpa/solidrun/snet_ctrl.c
276
spin_lock(&snet->ctrl_spinlock);
drivers/vdpa/solidrun/snet_ctrl.c
281
spin_unlock(&snet->ctrl_spinlock);
drivers/vdpa/solidrun/snet_ctrl.c
306
mutex_unlock(&snet->ctrl_lock);
drivers/vdpa/solidrun/snet_ctrl.c
310
void snet_ctrl_clear(struct snet *snet)
drivers/vdpa/solidrun/snet_ctrl.c
312
struct snet_ctrl_regs __iomem *regs = snet_get_ctrl(snet);
drivers/vdpa/solidrun/snet_ctrl.c
317
int snet_destroy_dev(struct snet *snet)
drivers/vdpa/solidrun/snet_ctrl.c
319
return snet_send_ctrl_msg(snet, SNET_CTRL_OP_DESTROY, 0);
drivers/vdpa/solidrun/snet_ctrl.c
322
int snet_read_vq_state(struct snet *snet, u16 idx, struct vdpa_vq_state *state)
drivers/vdpa/solidrun/snet_ctrl.c
324
return snet_ctrl_read_from_dpu(snet, SNET_CTRL_OP_READ_VQ_STATE, idx, state,
drivers/vdpa/solidrun/snet_ctrl.c
328
int snet_suspend_dev(struct snet *snet)
drivers/vdpa/solidrun/snet_ctrl.c
330
return snet_send_ctrl_msg(snet, SNET_CTRL_OP_SUSPEND, 0);
drivers/vdpa/solidrun/snet_ctrl.c
333
int snet_resume_dev(struct snet *snet)
drivers/vdpa/solidrun/snet_ctrl.c
335
return snet_send_ctrl_msg(snet, SNET_CTRL_OP_RESUME, 0);
drivers/vdpa/solidrun/snet_ctrl.c
62
static struct snet_ctrl_regs __iomem *snet_get_ctrl(struct snet *snet)
drivers/vdpa/solidrun/snet_ctrl.c
64
return snet->bar + snet->psnet->cfg.ctrl_off;
drivers/vdpa/solidrun/snet_main.c
100
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
1011
snet = vdpa_alloc_device(struct snet, vdpa, &pdev->dev, &snet_config_ops,
drivers/vdpa/solidrun/snet_main.c
1013
if (!snet) {
drivers/vdpa/solidrun/snet_main.c
102
snet->vqs[idx]->num = num;
drivers/vdpa/solidrun/snet_main.c
1020
mutex_init(&snet->ctrl_lock);
drivers/vdpa/solidrun/snet_main.c
1021
spin_lock_init(&snet->ctrl_spinlock);
drivers/vdpa/solidrun/snet_main.c
1024
snet->pdev = pdev;
drivers/vdpa/solidrun/snet_main.c
1025
snet->psnet = psnet;
drivers/vdpa/solidrun/snet_main.c
1026
snet->cfg = dev_cfg;
drivers/vdpa/solidrun/snet_main.c
1027
snet->dpu_ready = false;
drivers/vdpa/solidrun/snet_main.c
1028
snet->sid = vfid;
drivers/vdpa/solidrun/snet_main.c
1030
snet->cfg_irq = -1;
drivers/vdpa/solidrun/snet_main.c
1032
ret = snet_open_vf_bar(pdev, snet);
drivers/vdpa/solidrun/snet_main.c
1037
snet->cfg->virtio_cfg = snet->bar + snet->psnet->cfg.virtio_cfg_off;
drivers/vdpa/solidrun/snet_main.c
1040
snet_ctrl_clear(snet);
drivers/vdpa/solidrun/snet_main.c
1043
pci_set_drvdata(pdev, snet);
drivers/vdpa/solidrun/snet_main.c
1045
ret = snet_build_vqs(snet);
drivers/vdpa/solidrun/snet_main.c
1053
snet_reserve_irq_idx(pf_irqs ? pdev_pf : pdev, snet);
drivers/vdpa/solidrun/snet_main.c
1056
snet->vdpa.vmap.dma_dev = &pdev->dev;
drivers/vdpa/solidrun/snet_main.c
1059
ret = vdpa_register_device(&snet->vdpa, snet->cfg->vq_num);
drivers/vdpa/solidrun/snet_main.c
1068
snet_free_vqs(snet);
drivers/vdpa/solidrun/snet_main.c
107
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
1070
put_device(&snet->vdpa.dev);
drivers/vdpa/solidrun/snet_main.c
109
if (unlikely(!snet->vqs[idx]->ready))
drivers/vdpa/solidrun/snet_main.c
1100
struct snet *snet = pci_get_drvdata(pdev);
drivers/vdpa/solidrun/snet_main.c
1101
struct psnet *psnet = snet->psnet;
drivers/vdpa/solidrun/snet_main.c
1103
vdpa_unregister_device(&snet->vdpa);
drivers/vdpa/solidrun/snet_main.c
1104
snet_free_vqs(snet);
drivers/vdpa/solidrun/snet_main.c
112
iowrite32(SNET_KICK_VAL, snet->vqs[idx]->kick_ptr);
drivers/vdpa/solidrun/snet_main.c
117
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
121
if (unlikely(!snet->vqs[idx]->ready))
drivers/vdpa/solidrun/snet_main.c
124
iowrite32((data & 0xFFFF0000) | SNET_KICK_VAL, snet->vqs[idx]->kick_ptr);
drivers/vdpa/solidrun/snet_main.c
129
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
131
snet->vqs[idx]->cb.callback = cb->callback;
drivers/vdpa/solidrun/snet_main.c
132
snet->vqs[idx]->cb.private = cb->private;
drivers/vdpa/solidrun/snet_main.c
137
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
139
snet->vqs[idx]->ready = ready;
drivers/vdpa/solidrun/snet_main.c
144
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
146
return snet->vqs[idx]->ready;
drivers/vdpa/solidrun/snet_main.c
149
static bool snet_vq_state_is_initial(struct snet *snet, const struct vdpa_vq_state *state)
drivers/vdpa/solidrun/snet_main.c
151
if (SNET_HAS_FEATURE(snet, VIRTIO_F_RING_PACKED)) {
drivers/vdpa/solidrun/snet_main.c
169
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
172
if (SNET_CFG_VER(snet, 2)) {
drivers/vdpa/solidrun/snet_main.c
173
memcpy(&snet->vqs[idx]->vq_state, state, sizeof(*state));
drivers/vdpa/solidrun/snet_main.c
180
if (snet_vq_state_is_initial(snet, state))
drivers/vdpa/solidrun/snet_main.c
188
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
190
return snet_read_vq_state(snet, idx, state);
drivers/vdpa/solidrun/snet_main.c
195
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
197
return snet->vqs[idx]->irq;
drivers/vdpa/solidrun/snet_main.c
205
static int snet_reset_dev(struct snet *snet)
drivers/vdpa/solidrun/snet_main.c
207
struct pci_dev *pdev = snet->pdev;
drivers/vdpa/solidrun/snet_main.c
212
if (!snet->status)
drivers/vdpa/solidrun/snet_main.c
216
if (snet->status & VIRTIO_CONFIG_S_DRIVER_OK)
drivers/vdpa/solidrun/snet_main.c
217
ret = snet_destroy_dev(snet);
drivers/vdpa/solidrun/snet_main.c
220
for (i = 0; i < snet->cfg->vq_num; i++) {
drivers/vdpa/solidrun/snet_main.c
221
if (!snet->vqs[i])
drivers/vdpa/solidrun/snet_main.c
223
snet->vqs[i]->cb.callback = NULL;
drivers/vdpa/solidrun/snet_main.c
224
snet->vqs[i]->cb.private = NULL;
drivers/vdpa/solidrun/snet_main.c
225
snet->vqs[i]->desc_area = 0;
drivers/vdpa/solidrun/snet_main.c
226
snet->vqs[i]->device_area = 0;
drivers/vdpa/solidrun/snet_main.c
227
snet->vqs[i]->driver_area = 0;
drivers/vdpa/solidrun/snet_main.c
228
snet->vqs[i]->ready = false;
drivers/vdpa/solidrun/snet_main.c
232
snet->cb.callback = NULL;
drivers/vdpa/solidrun/snet_main.c
233
snet->cb.private = NULL;
drivers/vdpa/solidrun/snet_main.c
235
snet_free_irqs(snet);
drivers/vdpa/solidrun/snet_main.c
237
snet->status = 0;
drivers/vdpa/solidrun/snet_main.c
238
snet->dpu_ready = false;
drivers/vdpa/solidrun/snet_main.c
241
SNET_WARN(pdev, "Incomplete reset to SNET[%u] device, err: %d\n", snet->sid, ret);
drivers/vdpa/solidrun/snet_main.c
243
SNET_DBG(pdev, "Reset SNET[%u] device\n", snet->sid);
drivers/vdpa/solidrun/snet_main.c
250
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
252
return snet_reset_dev(snet);
drivers/vdpa/solidrun/snet_main.c
257
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
259
return (size_t)snet->cfg->cfg_size;
drivers/vdpa/solidrun/snet_main.c
264
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
266
return snet->cfg->features;
drivers/vdpa/solidrun/snet_main.c
271
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
273
snet->negotiated_features = snet->cfg->features & features;
drivers/vdpa/solidrun/snet_main.c
279
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
281
return snet->negotiated_features;
drivers/vdpa/solidrun/snet_main.c
286
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
288
return (u16)snet->cfg->vq_size;
drivers/vdpa/solidrun/snet_main.c
293
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
295
snet->cb.callback = cb->callback;
drivers/vdpa/solidrun/snet_main.c
296
snet->cb.private = cb->private;
drivers/vdpa/solidrun/snet_main.c
301
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
303
return snet->cfg->virtio_id;
drivers/vdpa/solidrun/snet_main.c
313
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
315
return snet->status;
drivers/vdpa/solidrun/snet_main.c
318
static int snet_write_conf(struct snet *snet)
drivers/vdpa/solidrun/snet_main.c
324
if (snet->dpu_ready)
drivers/vdpa/solidrun/snet_main.c
33
static struct snet *vdpa_to_snet(struct vdpa_device *vdpa)
drivers/vdpa/solidrun/snet_main.c
345
off = snet->psnet->cfg.host_cfg_off;
drivers/vdpa/solidrun/snet_main.c
349
snet_write32(snet, off, snet->psnet->negotiated_cfg_ver);
drivers/vdpa/solidrun/snet_main.c
35
return container_of(vdpa, struct snet, vdpa);
drivers/vdpa/solidrun/snet_main.c
351
snet_write32(snet, off, snet->sid);
drivers/vdpa/solidrun/snet_main.c
353
snet_write32(snet, off, snet->cfg->vq_num);
drivers/vdpa/solidrun/snet_main.c
355
snet_write32(snet, off, snet->cfg_irq_idx);
drivers/vdpa/solidrun/snet_main.c
357
snet_write64(snet, off, snet->negotiated_features);
drivers/vdpa/solidrun/snet_main.c
362
for (i = 0 ; i < snet->cfg->vq_num ; i++) {
drivers/vdpa/solidrun/snet_main.c
363
tmp = (i << 16) | (snet->vqs[i]->num & 0xFFFF);
drivers/vdpa/solidrun/snet_main.c
364
snet_write32(snet, off, tmp);
drivers/vdpa/solidrun/snet_main.c
366
snet_write32(snet, off, snet->vqs[i]->irq_idx);
drivers/vdpa/solidrun/snet_main.c
368
snet_write64(snet, off, snet->vqs[i]->desc_area);
drivers/vdpa/solidrun/snet_main.c
370
snet_write64(snet, off, snet->vqs[i]->device_area);
drivers/vdpa/solidrun/snet_main.c
372
snet_write64(snet, off, snet->vqs[i]->driver_area);
drivers/vdpa/solidrun/snet_main.c
375
if (SNET_CFG_VER(snet, 2))
drivers/vdpa/solidrun/snet_main.c
376
snet_write32(snet, off, *(u32 *)&snet->vqs[i]->vq_state);
drivers/vdpa/solidrun/snet_main.c
384
snet_write32(snet, snet->psnet->cfg.host_cfg_off, SNET_SIGNATURE);
drivers/vdpa/solidrun/snet_main.c
387
ret = readx_poll_timeout(ioread32, snet->bar + snet->psnet->cfg.host_cfg_off,
drivers/vdpa/solidrun/snet_main.c
390
SNET_ERR(snet->pdev, "Timeout waiting for the DPU to read the config\n");
drivers/vdpa/solidrun/snet_main.c
395
snet->dpu_ready = true;
drivers/vdpa/solidrun/snet_main.c
40
struct snet *snet = data;
drivers/vdpa/solidrun/snet_main.c
400
static int snet_request_irqs(struct pci_dev *pdev, struct snet *snet)
drivers/vdpa/solidrun/snet_main.c
405
irq = pci_irq_vector(pdev, snet->cfg_irq_idx);
drivers/vdpa/solidrun/snet_main.c
407
snet->cfg_irq_name, snet);
drivers/vdpa/solidrun/snet_main.c
412
snet->cfg_irq = irq;
drivers/vdpa/solidrun/snet_main.c
415
for (i = 0; i < snet->cfg->vq_num; i++) {
drivers/vdpa/solidrun/snet_main.c
416
irq = pci_irq_vector(pdev, snet->vqs[i]->irq_idx);
drivers/vdpa/solidrun/snet_main.c
418
snet->vqs[i]->irq_name, snet->vqs[i]);
drivers/vdpa/solidrun/snet_main.c
42
if (likely(snet->cb.callback))
drivers/vdpa/solidrun/snet_main.c
423
snet->vqs[i]->irq = irq;
drivers/vdpa/solidrun/snet_main.c
43
return snet->cb.callback(snet->cb.private);
drivers/vdpa/solidrun/snet_main.c
430
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
431
struct psnet *psnet = snet->psnet;
drivers/vdpa/solidrun/snet_main.c
432
struct pci_dev *pdev = snet->pdev;
drivers/vdpa/solidrun/snet_main.c
436
if (status == snet->status)
drivers/vdpa/solidrun/snet_main.c
440
!(snet->status & VIRTIO_CONFIG_S_DRIVER_OK)) {
drivers/vdpa/solidrun/snet_main.c
443
ret = snet_request_irqs(pf_irqs ? pdev->physfn : pdev, snet);
drivers/vdpa/solidrun/snet_main.c
448
if (snet_write_conf(snet)) {
drivers/vdpa/solidrun/snet_main.c
449
SNET_INFO(pdev, "Create SNET[%u] device\n", snet->sid);
drivers/vdpa/solidrun/snet_main.c
451
snet_free_irqs(snet);
drivers/vdpa/solidrun/snet_main.c
457
snet->status = status;
drivers/vdpa/solidrun/snet_main.c
461
snet->status |= VIRTIO_CONFIG_S_FAILED;
drivers/vdpa/solidrun/snet_main.c
467
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
468
void __iomem *cfg_ptr = snet->cfg->virtio_cfg + offset;
drivers/vdpa/solidrun/snet_main.c
473
if (offset + len > snet->cfg->cfg_size)
drivers/vdpa/solidrun/snet_main.c
484
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
485
void __iomem *cfg_ptr = snet->cfg->virtio_cfg + offset;
drivers/vdpa/solidrun/snet_main.c
490
if (offset + len > snet->cfg->cfg_size)
drivers/vdpa/solidrun/snet_main.c
500
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
503
ret = snet_suspend_dev(snet);
drivers/vdpa/solidrun/snet_main.c
505
SNET_ERR(snet->pdev, "SNET[%u] suspend failed, err: %d\n", snet->sid, ret);
drivers/vdpa/solidrun/snet_main.c
507
SNET_DBG(snet->pdev, "Suspend SNET[%u] device\n", snet->sid);
drivers/vdpa/solidrun/snet_main.c
514
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
517
ret = snet_resume_dev(snet);
drivers/vdpa/solidrun/snet_main.c
519
SNET_ERR(snet->pdev, "SNET[%u] resume failed, err: %d\n", snet->sid, ret);
drivers/vdpa/solidrun/snet_main.c
521
SNET_DBG(snet->pdev, "Resume SNET[%u] device\n", snet->sid);
drivers/vdpa/solidrun/snet_main.c
58
static void snet_free_irqs(struct snet *snet)
drivers/vdpa/solidrun/snet_main.c
596
static int snet_open_vf_bar(struct pci_dev *pdev, struct snet *snet)
drivers/vdpa/solidrun/snet_main.c
60
struct psnet *psnet = snet->psnet;
drivers/vdpa/solidrun/snet_main.c
606
io = pcim_iomap_region(pdev, snet->psnet->cfg.vf_bar, name);
drivers/vdpa/solidrun/snet_main.c
612
snet->bar = io;
drivers/vdpa/solidrun/snet_main.c
66
pdev = snet->pdev->physfn;
drivers/vdpa/solidrun/snet_main.c
68
pdev = snet->pdev;
drivers/vdpa/solidrun/snet_main.c
71
if (snet->cfg_irq != -1) {
drivers/vdpa/solidrun/snet_main.c
72
devm_free_irq(&pdev->dev, snet->cfg_irq, snet);
drivers/vdpa/solidrun/snet_main.c
73
snet->cfg_irq = -1;
drivers/vdpa/solidrun/snet_main.c
76
for (i = 0; i < snet->cfg->vq_num; i++) {
drivers/vdpa/solidrun/snet_main.c
77
if (snet->vqs[i] && snet->vqs[i]->irq != -1) {
drivers/vdpa/solidrun/snet_main.c
78
devm_free_irq(&pdev->dev, snet->vqs[i]->irq, snet->vqs[i]);
drivers/vdpa/solidrun/snet_main.c
79
snet->vqs[i]->irq = -1;
drivers/vdpa/solidrun/snet_main.c
804
static void snet_free_vqs(struct snet *snet)
drivers/vdpa/solidrun/snet_main.c
808
if (!snet->vqs)
drivers/vdpa/solidrun/snet_main.c
811
for (i = 0 ; i < snet->cfg->vq_num ; i++) {
drivers/vdpa/solidrun/snet_main.c
812
if (!snet->vqs[i])
drivers/vdpa/solidrun/snet_main.c
815
kfree(snet->vqs[i]);
drivers/vdpa/solidrun/snet_main.c
817
kfree(snet->vqs);
drivers/vdpa/solidrun/snet_main.c
820
static int snet_build_vqs(struct snet *snet)
drivers/vdpa/solidrun/snet_main.c
824
snet->vqs = kcalloc(snet->cfg->vq_num, sizeof(void *), GFP_KERNEL);
drivers/vdpa/solidrun/snet_main.c
825
if (!snet->vqs)
drivers/vdpa/solidrun/snet_main.c
829
for (i = 0; i < snet->cfg->vq_num; i++) {
drivers/vdpa/solidrun/snet_main.c
830
snet->vqs[i] = kzalloc_obj(*snet->vqs[i]);
drivers/vdpa/solidrun/snet_main.c
831
if (!snet->vqs[i]) {
drivers/vdpa/solidrun/snet_main.c
832
snet_free_vqs(snet);
drivers/vdpa/solidrun/snet_main.c
836
snet->vqs[i]->irq = -1;
drivers/vdpa/solidrun/snet_main.c
838
snet->vqs[i]->sid = i;
drivers/vdpa/solidrun/snet_main.c
840
snet->vqs[i]->kick_ptr = snet->bar + snet->psnet->cfg.kick_off +
drivers/vdpa/solidrun/snet_main.c
841
snet->vqs[i]->sid * 4;
drivers/vdpa/solidrun/snet_main.c
843
iowrite32(0, snet->vqs[i]->kick_ptr);
drivers/vdpa/solidrun/snet_main.c
859
static void snet_reserve_irq_idx(struct pci_dev *pdev, struct snet *snet)
drivers/vdpa/solidrun/snet_main.c
861
struct psnet *psnet = snet->psnet;
drivers/vdpa/solidrun/snet_main.c
865
snet->cfg_irq_idx = psnet_get_next_irq_num(psnet);
drivers/vdpa/solidrun/snet_main.c
866
snprintf(snet->cfg_irq_name, SNET_NAME_SIZE, "snet[%s]-cfg[%d]",
drivers/vdpa/solidrun/snet_main.c
867
pci_name(pdev), snet->cfg_irq_idx);
drivers/vdpa/solidrun/snet_main.c
869
for (i = 0; i < snet->cfg->vq_num; i++) {
drivers/vdpa/solidrun/snet_main.c
871
snet->vqs[i]->irq_idx = psnet_get_next_irq_num(psnet);
drivers/vdpa/solidrun/snet_main.c
873
snprintf(snet->vqs[i]->irq_name, SNET_NAME_SIZE, "snet[%s]-vq[%d]",
drivers/vdpa/solidrun/snet_main.c
874
pci_name(pdev), snet->vqs[i]->irq_idx);
drivers/vdpa/solidrun/snet_main.c
89
struct snet *snet = vdpa_to_snet(vdev);
drivers/vdpa/solidrun/snet_main.c
91
snet->vqs[idx]->desc_area = desc_area;
drivers/vdpa/solidrun/snet_main.c
92
snet->vqs[idx]->driver_area = driver_area;
drivers/vdpa/solidrun/snet_main.c
93
snet->vqs[idx]->device_area = device_area;
drivers/vdpa/solidrun/snet_main.c
970
struct snet *snet;
drivers/vdpa/solidrun/snet_vdpa.h
173
static inline u32 snet_read32(struct snet *snet, u32 off)
drivers/vdpa/solidrun/snet_vdpa.h
175
return ioread32(snet->bar + off);
drivers/vdpa/solidrun/snet_vdpa.h
178
static inline void snet_write32(struct snet *snet, u32 off, u32 val)
drivers/vdpa/solidrun/snet_vdpa.h
180
iowrite32(val, snet->bar + off);
drivers/vdpa/solidrun/snet_vdpa.h
192
static inline void snet_write64(struct snet *snet, u32 off, u64 val)
drivers/vdpa/solidrun/snet_vdpa.h
195
snet_write32(snet, off, (u32)val);
drivers/vdpa/solidrun/snet_vdpa.h
196
snet_write32(snet, off + 4, (u32)(val >> 32));
drivers/vdpa/solidrun/snet_vdpa.h
203
void snet_ctrl_clear(struct snet *snet);
drivers/vdpa/solidrun/snet_vdpa.h
204
int snet_destroy_dev(struct snet *snet);
drivers/vdpa/solidrun/snet_vdpa.h
205
int snet_read_vq_state(struct snet *snet, u16 idx, struct vdpa_vq_state *state);
drivers/vdpa/solidrun/snet_vdpa.h
206
int snet_suspend_dev(struct snet *snet);
drivers/vdpa/solidrun/snet_vdpa.h
207
int snet_resume_dev(struct snet *snet);
drivers/vdpa/solidrun/snet_vdpa.h
24
#define SNET_CFG_VER(snet, ver) ((snet)->psnet->negotiated_cfg_ver >= (ver))
include/net/netfilter/nf_synproxy.h
65
int nf_synproxy_ipv4_init(struct synproxy_net *snet, struct net *net);
include/net/netfilter/nf_synproxy.h
66
void nf_synproxy_ipv4_fini(struct synproxy_net *snet, struct net *net);
include/net/netfilter/nf_synproxy.h
80
int nf_synproxy_ipv6_init(struct synproxy_net *snet, struct net *net);
include/net/netfilter/nf_synproxy.h
81
void nf_synproxy_ipv6_fini(struct synproxy_net *snet, struct net *net);
include/net/netfilter/nf_synproxy.h
84
nf_synproxy_ipv6_init(struct synproxy_net *snet, struct net *net) { return 0; }
include/net/netfilter/nf_synproxy.h
86
nf_synproxy_ipv6_fini(struct synproxy_net *snet, struct net *net) {};
net/ipv4/netfilter/ipt_SYNPROXY.c
17
struct synproxy_net *snet = synproxy_pernet(net);
net/ipv4/netfilter/ipt_SYNPROXY.c
33
this_cpu_inc(snet->stats->syn_received);
net/ipv4/netfilter/ipt_SYNPROXY.c
66
struct synproxy_net *snet = synproxy_pernet(par->net);
net/ipv4/netfilter/ipt_SYNPROXY.c
78
err = nf_synproxy_ipv4_init(snet, par->net);
net/ipv4/netfilter/ipt_SYNPROXY.c
89
struct synproxy_net *snet = synproxy_pernet(par->net);
net/ipv4/netfilter/ipt_SYNPROXY.c
91
nf_synproxy_ipv4_fini(snet, par->net);
net/ipv6/netfilter/ip6t_SYNPROXY.c
17
struct synproxy_net *snet = synproxy_pernet(net);
net/ipv6/netfilter/ip6t_SYNPROXY.c
33
this_cpu_inc(snet->stats->syn_received);
net/ipv6/netfilter/ip6t_SYNPROXY.c
68
struct synproxy_net *snet = synproxy_pernet(par->net);
net/ipv6/netfilter/ip6t_SYNPROXY.c
81
err = nf_synproxy_ipv6_init(snet, par->net);
net/ipv6/netfilter/ip6t_SYNPROXY.c
92
struct synproxy_net *snet = synproxy_pernet(par->net);
net/ipv6/netfilter/ip6t_SYNPROXY.c
94
nf_synproxy_ipv6_fini(snet, par->net);
net/netfilter/ipvs/ip_vs_core.c
1040
snet.in6 = ciph.saddr.in6;
net/netfilter/ipvs/ip_vs_core.c
1042
return handle_response_icmp(AF_INET6, skb, &snet, ciph.protocol, cp,
net/netfilter/ipvs/ip_vs_core.c
1138
union nf_inet_addr snet;
net/netfilter/ipvs/ip_vs_core.c
1158
ipv6_addr_prefix(&snet.in6, &caddr->in6,
net/netfilter/ipvs/ip_vs_core.c
1162
snet.ip = caddr->ip & svc->netmask;
net/netfilter/ipvs/ip_vs_core.c
1165
&snet, 0, vaddr,
net/netfilter/ipvs/ip_vs_core.c
263
union nf_inet_addr snet; /* source network of the client,
net/netfilter/ipvs/ip_vs_core.c
279
ipv6_addr_prefix(&snet.in6, &src_addr->in6,
net/netfilter/ipvs/ip_vs_core.c
283
snet.ip = src_addr->ip & svc->netmask;
net/netfilter/ipvs/ip_vs_core.c
289
IP_VS_DBG_ADDR(svc->af, &snet));
net/netfilter/ipvs/ip_vs_core.c
331
if (ip_vs_conn_fill_param_persist(svc, skb, protocol, &snet, 0,
net/netfilter/ipvs/ip_vs_core.c
856
union nf_inet_addr *snet,
net/netfilter/ipvs/ip_vs_core.c
871
IP_VS_DBG_ADDR(af, snet));
net/netfilter/ipvs/ip_vs_core.c
923
union nf_inet_addr snet;
net/netfilter/ipvs/ip_vs_core.c
983
snet.ip = iph->saddr;
net/netfilter/ipvs/ip_vs_core.c
984
return handle_response_icmp(AF_INET, skb, &snet, cih->protocol, cp,
net/netfilter/ipvs/ip_vs_core.c
997
union nf_inet_addr snet;
net/netfilter/nf_synproxy_core.c
1035
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nf_synproxy_core.c
1040
this_cpu_inc(snet->stats->cookie_invalid);
net/netfilter/nf_synproxy_core.c
1044
this_cpu_inc(snet->stats->cookie_valid);
net/netfilter/nf_synproxy_core.c
1061
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nf_synproxy_core.c
1112
this_cpu_inc(snet->stats->conn_reopened);
net/netfilter/nf_synproxy_core.c
1126
this_cpu_inc(snet->stats->cookie_retrans);
net/netfilter/nf_synproxy_core.c
1192
nf_synproxy_ipv6_init(struct synproxy_net *snet, struct net *net)
net/netfilter/nf_synproxy_core.c
1196
if (snet->hook_ref6 == 0) {
net/netfilter/nf_synproxy_core.c
1203
snet->hook_ref6++;
net/netfilter/nf_synproxy_core.c
1209
nf_synproxy_ipv6_fini(struct synproxy_net *snet, struct net *net)
net/netfilter/nf_synproxy_core.c
1211
snet->hook_ref6--;
net/netfilter/nf_synproxy_core.c
1212
if (snet->hook_ref6 == 0)
net/netfilter/nf_synproxy_core.c
243
struct synproxy_net *snet = synproxy_pernet(seq_file_net(seq));
net/netfilter/nf_synproxy_core.c
253
return per_cpu_ptr(snet->stats, cpu);
net/netfilter/nf_synproxy_core.c
261
struct synproxy_net *snet = synproxy_pernet(seq_file_net(seq));
net/netfilter/nf_synproxy_core.c
268
return per_cpu_ptr(snet->stats, cpu);
net/netfilter/nf_synproxy_core.c
333
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nf_synproxy_core.c
347
snet->tmpl = ct;
net/netfilter/nf_synproxy_core.c
349
snet->stats = alloc_percpu(struct synproxy_stats);
net/netfilter/nf_synproxy_core.c
350
if (snet->stats == NULL)
net/netfilter/nf_synproxy_core.c
360
free_percpu(snet->stats);
net/netfilter/nf_synproxy_core.c
369
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nf_synproxy_core.c
371
nf_ct_put(snet->tmpl);
net/netfilter/nf_synproxy_core.c
373
free_percpu(snet->stats);
net/netfilter/nf_synproxy_core.c
495
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nf_synproxy_core.c
531
synproxy_send_tcp(net, skb, nskb, &snet->tmpl->ct_general, IP_CT_NEW,
net/netfilter/nf_synproxy_core.c
618
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nf_synproxy_core.c
623
this_cpu_inc(snet->stats->cookie_invalid);
net/netfilter/nf_synproxy_core.c
627
this_cpu_inc(snet->stats->cookie_valid);
net/netfilter/nf_synproxy_core.c
644
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nf_synproxy_core.c
689
this_cpu_inc(snet->stats->conn_reopened);
net/netfilter/nf_synproxy_core.c
703
this_cpu_inc(snet->stats->cookie_retrans);
net/netfilter/nf_synproxy_core.c
768
int nf_synproxy_ipv4_init(struct synproxy_net *snet, struct net *net)
net/netfilter/nf_synproxy_core.c
772
if (snet->hook_ref4 == 0) {
net/netfilter/nf_synproxy_core.c
779
snet->hook_ref4++;
net/netfilter/nf_synproxy_core.c
784
void nf_synproxy_ipv4_fini(struct synproxy_net *snet, struct net *net)
net/netfilter/nf_synproxy_core.c
786
snet->hook_ref4--;
net/netfilter/nf_synproxy_core.c
787
if (snet->hook_ref4 == 0)
net/netfilter/nf_synproxy_core.c
909
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nf_synproxy_core.c
945
synproxy_send_tcp_ipv6(net, skb, nskb, &snet->tmpl->ct_general,
net/netfilter/nft_synproxy.c
157
struct synproxy_net *snet = synproxy_pernet(ctx->net);
net/netfilter/nft_synproxy.c
178
err = nf_synproxy_ipv4_init(snet, ctx->net);
net/netfilter/nft_synproxy.c
184
err = nf_synproxy_ipv6_init(snet, ctx->net);
net/netfilter/nft_synproxy.c
190
err = nf_synproxy_ipv4_init(snet, ctx->net);
net/netfilter/nft_synproxy.c
193
err = nf_synproxy_ipv6_init(snet, ctx->net);
net/netfilter/nft_synproxy.c
195
nf_synproxy_ipv4_fini(snet, ctx->net);
net/netfilter/nft_synproxy.c
210
struct synproxy_net *snet = synproxy_pernet(ctx->net);
net/netfilter/nft_synproxy.c
214
nf_synproxy_ipv4_fini(snet, ctx->net);
net/netfilter/nft_synproxy.c
218
nf_synproxy_ipv6_fini(snet, ctx->net);
net/netfilter/nft_synproxy.c
222
nf_synproxy_ipv4_fini(snet, ctx->net);
net/netfilter/nft_synproxy.c
223
nf_synproxy_ipv6_fini(snet, ctx->net);
net/netfilter/nft_synproxy.c
26
struct synproxy_net *snet,
net/netfilter/nft_synproxy.c
30
this_cpu_inc(snet->stats->syn_received);
net/netfilter/nft_synproxy.c
54
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nft_synproxy.c
59
nft_synproxy_tcp_options(opts, tcp, snet, &info, priv);
net/netfilter/nft_synproxy.c
85
struct synproxy_net *snet = synproxy_pernet(net);
net/netfilter/nft_synproxy.c
90
nft_synproxy_tcp_options(opts, tcp, snet, &info, priv);