Symbol: rocker
drivers/net/ethernet/rocker/rocker.h
133
int (*fib4_add)(struct rocker *rocker,
drivers/net/ethernet/rocker/rocker.h
135
int (*fib4_del)(struct rocker *rocker,
drivers/net/ethernet/rocker/rocker.h
137
void (*fib4_abort)(struct rocker *rocker);
drivers/net/ethernet/rocker/rocker.h
38
struct rocker;
drivers/net/ethernet/rocker/rocker.h
42
struct rocker *rocker;
drivers/net/ethernet/rocker/rocker.h
53
struct rocker *rocker);
drivers/net/ethernet/rocker/rocker.h
95
int (*init)(struct rocker *rocker);
drivers/net/ethernet/rocker/rocker.h
96
void (*fini)(struct rocker *rocker);
drivers/net/ethernet/rocker/rocker_main.c
1003
while ((desc_info = rocker_desc_tail_get(&rocker->event_ring))) {
drivers/net/ethernet/rocker/rocker_main.c
1009
err = rocker_event_process(rocker, desc_info);
drivers/net/ethernet/rocker/rocker_main.c
1015
rocker_desc_head_set(rocker, &rocker->event_ring, desc_info);
drivers/net/ethernet/rocker/rocker_main.c
1018
rocker_dma_ring_credits_set(rocker, &rocker->event_ring, credits);
drivers/net/ethernet/rocker/rocker_main.c
102
return rocker_msix_vector(rocker_port->rocker,
drivers/net/ethernet/rocker/rocker_main.c
1047
struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
1053
spin_lock_irqsave(&rocker->cmd_ring_lock, lock_flags);
drivers/net/ethernet/rocker/rocker_main.c
1055
desc_info = rocker_desc_head_get(&rocker->cmd_ring);
drivers/net/ethernet/rocker/rocker_main.c
1057
spin_unlock_irqrestore(&rocker->cmd_ring_lock, lock_flags);
drivers/net/ethernet/rocker/rocker_main.c
1067
spin_unlock_irqrestore(&rocker->cmd_ring_lock, lock_flags);
drivers/net/ethernet/rocker/rocker_main.c
1071
rocker_desc_head_set(rocker, &rocker->cmd_ring, desc_info);
drivers/net/ethernet/rocker/rocker_main.c
1073
spin_unlock_irqrestore(&rocker->cmd_ring_lock, lock_flags);
drivers/net/ethernet/rocker/rocker_main.c
108
return rocker_msix_vector(rocker_port->rocker,
drivers/net/ethernet/rocker/rocker_main.c
112
#define rocker_write32(rocker, reg, val) \
drivers/net/ethernet/rocker/rocker_main.c
113
writel((val), (rocker)->hw_addr + (ROCKER_ ## reg))
drivers/net/ethernet/rocker/rocker_main.c
114
#define rocker_read32(rocker, reg) \
drivers/net/ethernet/rocker/rocker_main.c
115
readl((rocker)->hw_addr + (ROCKER_ ## reg))
drivers/net/ethernet/rocker/rocker_main.c
116
#define rocker_write64(rocker, reg, val) \
drivers/net/ethernet/rocker/rocker_main.c
117
writeq((val), (rocker)->hw_addr + (ROCKER_ ## reg))
drivers/net/ethernet/rocker/rocker_main.c
118
#define rocker_read64(rocker, reg) \
drivers/net/ethernet/rocker/rocker_main.c
119
readq((rocker)->hw_addr + (ROCKER_ ## reg))
drivers/net/ethernet/rocker/rocker_main.c
125
static int rocker_reg_test(const struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
127
const struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
133
rocker_write32(rocker, TEST_REG, rnd);
drivers/net/ethernet/rocker/rocker_main.c
134
test_reg = rocker_read32(rocker, TEST_REG);
drivers/net/ethernet/rocker/rocker_main.c
1434
static int rocker_world_init(struct rocker *rocker, u8 mode)
drivers/net/ethernet/rocker/rocker_main.c
144
rocker_write64(rocker, TEST_REG64, rnd);
drivers/net/ethernet/rocker/rocker_main.c
1441
dev_err(&rocker->pdev->dev, "port mode \"%d\" is not supported\n",
drivers/net/ethernet/rocker/rocker_main.c
1445
rocker->wops = wops;
drivers/net/ethernet/rocker/rocker_main.c
1446
rocker->wpriv = kzalloc(wops->priv_size, GFP_KERNEL);
drivers/net/ethernet/rocker/rocker_main.c
1447
if (!rocker->wpriv)
drivers/net/ethernet/rocker/rocker_main.c
145
test_reg = rocker_read64(rocker, TEST_REG64);
drivers/net/ethernet/rocker/rocker_main.c
1451
err = wops->init(rocker);
drivers/net/ethernet/rocker/rocker_main.c
1453
kfree(rocker->wpriv);
drivers/net/ethernet/rocker/rocker_main.c
1457
static void rocker_world_fini(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
1459
struct rocker_world_ops *wops = rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1463
wops->fini(rocker);
drivers/net/ethernet/rocker/rocker_main.c
1464
kfree(rocker->wpriv);
drivers/net/ethernet/rocker/rocker_main.c
1469
struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
1475
dev_err(&rocker->pdev->dev, "failed to get port mode\n");
drivers/net/ethernet/rocker/rocker_main.c
1478
if (rocker->wops) {
drivers/net/ethernet/rocker/rocker_main.c
1479
if (rocker->wops->mode != mode) {
drivers/net/ethernet/rocker/rocker_main.c
1480
dev_err(&rocker->pdev->dev, "hardware has ports in different worlds, which is not supported\n");
drivers/net/ethernet/rocker/rocker_main.c
1485
return rocker_world_init(rocker, mode);
drivers/net/ethernet/rocker/rocker_main.c
1490
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1506
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1515
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1524
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1533
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1542
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
155
static int rocker_dma_test_one(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
1552
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1566
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1578
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
160
const struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
1600
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1612
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1624
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1636
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
164
rocker_write32(rocker, TEST_DMA_CTRL, test_type);
drivers/net/ethernet/rocker/rocker_main.c
1650
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1662
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1673
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1683
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1693
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1703
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1714
struct rocker_world_ops *wops = rocker_port->rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1721
static int rocker_world_fib4_add(struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
1724
struct rocker_world_ops *wops = rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1728
return wops->fib4_add(rocker, fen_info);
drivers/net/ethernet/rocker/rocker_main.c
1731
static int rocker_world_fib4_del(struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
1734
struct rocker_world_ops *wops = rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1738
return wops->fib4_del(rocker, fen_info);
drivers/net/ethernet/rocker/rocker_main.c
1741
static void rocker_world_fib4_abort(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
1743
struct rocker_world_ops *wops = rocker->wops;
drivers/net/ethernet/rocker/rocker_main.c
1746
wops->fib4_abort(rocker);
drivers/net/ethernet/rocker/rocker_main.c
1819
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
1820
struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
184
static int rocker_dma_test_offset(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
1850
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
1851
struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
187
struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
1883
struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
1923
rocker_desc_head_set(rocker, &rocker_port->tx_ring, desc_info);
drivers/net/ethernet/rocker/rocker_main.c
2011
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
2013
ppid->id_len = sizeof(rocker->hw.id);
drivers/net/ethernet/rocker/rocker_main.c
2014
memcpy(&ppid->id, &rocker->hw.id, ppid->id_len);
drivers/net/ethernet/rocker/rocker_main.c
209
rocker_write64(rocker, TEST_DMA_ADDR, dma_handle);
drivers/net/ethernet/rocker/rocker_main.c
210
rocker_write32(rocker, TEST_DMA_SIZE, ROCKER_TEST_DMA_BUF_SIZE);
drivers/net/ethernet/rocker/rocker_main.c
2109
struct rocker *rocker;
drivers/net/ethernet/rocker/rocker_main.c
2117
struct rocker *rocker = fib_work->rocker;
drivers/net/ethernet/rocker/rocker_main.c
2125
err = rocker_world_fib4_add(rocker, &fib_work->fen_info);
drivers/net/ethernet/rocker/rocker_main.c
2127
rocker_world_fib4_abort(rocker);
drivers/net/ethernet/rocker/rocker_main.c
213
err = rocker_dma_test_one(rocker, wait, ROCKER_TEST_DMA_CTRL_FILL,
drivers/net/ethernet/rocker/rocker_main.c
2131
rocker_world_fib4_del(rocker, &fib_work->fen_info);
drivers/net/ethernet/rocker/rocker_main.c
2138
rocker_world_fib4_abort(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2150
struct rocker *rocker = container_of(nb, struct rocker, fib_nb);
drivers/net/ethernet/rocker/rocker_main.c
2162
fib_work->rocker = rocker;
drivers/net/ethernet/rocker/rocker_main.c
2196
queue_work(rocker->rocker_owq, &fib_work->work);
drivers/net/ethernet/rocker/rocker_main.c
220
err = rocker_dma_test_one(rocker, wait, ROCKER_TEST_DMA_CTRL_CLEAR,
drivers/net/ethernet/rocker/rocker_main.c
229
err = rocker_dma_test_one(rocker, wait, ROCKER_TEST_DMA_CTRL_INVERT,
drivers/net/ethernet/rocker/rocker_main.c
2378
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
2409
rocker_dma_ring_credits_set(rocker, &rocker_port->tx_ring, credits);
drivers/net/ethernet/rocker/rocker_main.c
2414
static int rocker_port_rx_proc(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
2432
rocker_dma_rx_ring_skb_unmap(rocker, attrs);
drivers/net/ethernet/rocker/rocker_main.c
244
static int rocker_dma_test(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
2457
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
2471
err = rocker_port_rx_proc(rocker, rocker_port,
drivers/net/ethernet/rocker/rocker_main.c
2481
rocker_desc_head_set(rocker, &rocker_port->rx_ring, desc_info);
drivers/net/ethernet/rocker/rocker_main.c
2488
rocker_dma_ring_credits_set(rocker, &rocker_port->rx_ring, credits);
drivers/net/ethernet/rocker/rocker_main.c
2499
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
2500
u64 link_status = rocker_read64(rocker, PORT_PHYS_LINK_STATUS);
drivers/net/ethernet/rocker/rocker_main.c
251
err = rocker_dma_test_offset(rocker, wait, i);
drivers/net/ethernet/rocker/rocker_main.c
2510
static void rocker_remove_ports(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
2515
for (i = 0; i < rocker->port_count; i++) {
drivers/net/ethernet/rocker/rocker_main.c
2516
rocker_port = rocker->ports[i];
drivers/net/ethernet/rocker/rocker_main.c
2524
rocker_world_fini(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2525
kfree(rocker->ports);
drivers/net/ethernet/rocker/rocker_main.c
2530
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
2531
const struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
2546
static int rocker_probe_port(struct rocker *rocker, unsigned int port_number)
drivers/net/ethernet/rocker/rocker_main.c
2548
struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
2559
rocker_port->rocker = rocker;
drivers/net/ethernet/rocker/rocker_main.c
2593
rocker->ports[port_number] = rocker_port;
drivers/net/ethernet/rocker/rocker_main.c
2604
rocker->ports[port_number] = NULL;
drivers/net/ethernet/rocker/rocker_main.c
2614
static int rocker_probe_ports(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
2620
alloc_size = sizeof(struct rocker_port *) * rocker->port_count;
drivers/net/ethernet/rocker/rocker_main.c
2621
rocker->ports = kzalloc(alloc_size, GFP_KERNEL);
drivers/net/ethernet/rocker/rocker_main.c
2622
if (!rocker->ports)
drivers/net/ethernet/rocker/rocker_main.c
2624
for (i = 0; i < rocker->port_count; i++) {
drivers/net/ethernet/rocker/rocker_main.c
2625
err = rocker_probe_port(rocker, i);
drivers/net/ethernet/rocker/rocker_main.c
2632
rocker_remove_ports(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2636
static int rocker_msix_init(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
2638
struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
2647
if (msix_entries != ROCKER_MSIX_VEC_COUNT(rocker->port_count))
drivers/net/ethernet/rocker/rocker_main.c
2650
rocker->msix_entries = kmalloc_objs(struct msix_entry, msix_entries);
drivers/net/ethernet/rocker/rocker_main.c
2651
if (!rocker->msix_entries)
drivers/net/ethernet/rocker/rocker_main.c
2655
rocker->msix_entries[i].entry = i;
drivers/net/ethernet/rocker/rocker_main.c
2657
err = pci_enable_msix_exact(pdev, rocker->msix_entries, msix_entries);
drivers/net/ethernet/rocker/rocker_main.c
2664
kfree(rocker->msix_entries);
drivers/net/ethernet/rocker/rocker_main.c
2668
static void rocker_msix_fini(const struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
267
static int rocker_basic_hw_test(const struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
2670
pci_disable_msix(rocker->pdev);
drivers/net/ethernet/rocker/rocker_main.c
2671
kfree(rocker->msix_entries);
drivers/net/ethernet/rocker/rocker_main.c
269
const struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
273
err = rocker_reg_test(rocker);
drivers/net/ethernet/rocker/rocker_main.c
279
err = request_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_TEST),
drivers/net/ethernet/rocker/rocker_main.c
2793
queue_work(rocker_port->rocker->rocker_owq,
drivers/net/ethernet/rocker/rocker_main.c
2847
struct rocker *rocker;
drivers/net/ethernet/rocker/rocker_main.c
2850
rocker = kzalloc_obj(*rocker);
drivers/net/ethernet/rocker/rocker_main.c
2851
if (!rocker)
drivers/net/ethernet/rocker/rocker_main.c
2878
rocker->hw_addr = ioremap(pci_resource_start(pdev, 0),
drivers/net/ethernet/rocker/rocker_main.c
288
rocker_write32(rocker, TEST_IRQ, ROCKER_MSIX_VEC_TEST);
drivers/net/ethernet/rocker/rocker_main.c
2880
if (!rocker->hw_addr) {
drivers/net/ethernet/rocker/rocker_main.c
2887
rocker->pdev = pdev;
drivers/net/ethernet/rocker/rocker_main.c
2888
pci_set_drvdata(pdev, rocker);
drivers/net/ethernet/rocker/rocker_main.c
2890
rocker->port_count = rocker_read32(rocker, PORT_PHYS_COUNT);
drivers/net/ethernet/rocker/rocker_main.c
2892
err = rocker_msix_init(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2898
err = rocker_basic_hw_test(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2904
rocker_write32(rocker, CONTROL, ROCKER_CONTROL_RESET);
drivers/net/ethernet/rocker/rocker_main.c
2906
err = rocker_dma_rings_init(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2910
err = request_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_CMD),
drivers/net/ethernet/rocker/rocker_main.c
2912
rocker_driver_name, rocker);
drivers/net/ethernet/rocker/rocker_main.c
2918
err = request_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_EVENT),
drivers/net/ethernet/rocker/rocker_main.c
2920
rocker_driver_name, rocker);
drivers/net/ethernet/rocker/rocker_main.c
2926
rocker->rocker_owq = alloc_ordered_workqueue(rocker_driver_name,
drivers/net/ethernet/rocker/rocker_main.c
2928
if (!rocker->rocker_owq) {
drivers/net/ethernet/rocker/rocker_main.c
2933
err = rocker_probe_ports(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2942
rocker->fib_nb.notifier_call = rocker_router_fib_event;
drivers/net/ethernet/rocker/rocker_main.c
2943
err = register_fib_notifier(&init_net, &rocker->fib_nb, NULL, NULL);
drivers/net/ethernet/rocker/rocker_main.c
296
err = rocker_dma_test(rocker, &wait);
drivers/net/ethernet/rocker/rocker_main.c
2960
rocker->hw.id = rocker_read64(rocker, SWITCH_ID);
drivers/net/ethernet/rocker/rocker_main.c
2963
(int)sizeof(rocker->hw.id), &rocker->hw.id);
drivers/net/ethernet/rocker/rocker_main.c
2970
unregister_fib_notifier(&init_net, &rocker->fib_nb);
drivers/net/ethernet/rocker/rocker_main.c
2972
rocker_remove_ports(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2974
destroy_workqueue(rocker->rocker_owq);
drivers/net/ethernet/rocker/rocker_main.c
2976
free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_EVENT), rocker);
drivers/net/ethernet/rocker/rocker_main.c
2978
free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_CMD), rocker);
drivers/net/ethernet/rocker/rocker_main.c
2980
rocker_dma_rings_fini(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2983
rocker_msix_fini(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2985
iounmap(rocker->hw_addr);
drivers/net/ethernet/rocker/rocker_main.c
2993
kfree(rocker);
drivers/net/ethernet/rocker/rocker_main.c
2999
struct rocker *rocker = pci_get_drvdata(pdev);
drivers/net/ethernet/rocker/rocker_main.c
3006
unregister_fib_notifier(&init_net, &rocker->fib_nb);
drivers/net/ethernet/rocker/rocker_main.c
3007
rocker_remove_ports(rocker);
drivers/net/ethernet/rocker/rocker_main.c
3008
rocker_write32(rocker, CONTROL, ROCKER_CONTROL_RESET);
drivers/net/ethernet/rocker/rocker_main.c
3009
destroy_workqueue(rocker->rocker_owq);
drivers/net/ethernet/rocker/rocker_main.c
301
free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_TEST), &wait);
drivers/net/ethernet/rocker/rocker_main.c
3010
free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_EVENT), rocker);
drivers/net/ethernet/rocker/rocker_main.c
3011
free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_CMD), rocker);
drivers/net/ethernet/rocker/rocker_main.c
3012
rocker_dma_rings_fini(rocker);
drivers/net/ethernet/rocker/rocker_main.c
3013
rocker_msix_fini(rocker);
drivers/net/ethernet/rocker/rocker_main.c
3014
iounmap(rocker->hw_addr);
drivers/net/ethernet/rocker/rocker_main.c
3015
pci_release_regions(rocker->pdev);
drivers/net/ethernet/rocker/rocker_main.c
3016
pci_disable_device(rocker->pdev);
drivers/net/ethernet/rocker/rocker_main.c
3017
kfree(rocker);
drivers/net/ethernet/rocker/rocker_main.c
3032
struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
3040
if (rocker_port->rocker != rocker)
drivers/net/ethernet/rocker/rocker_main.c
3047
struct rocker *rocker;
drivers/net/ethernet/rocker/rocker_main.c
3057
if (rocker_port_dev_check_under(lower_dev, data->rocker)) {
drivers/net/ethernet/rocker/rocker_main.c
3066
struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
3071
if (rocker_port_dev_check_under(dev, rocker))
drivers/net/ethernet/rocker/rocker_main.c
3074
data.rocker = rocker;
drivers/net/ethernet/rocker/rocker_main.c
385
static void rocker_desc_head_set(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
394
rocker_write32(rocker, DMA_DESC_HEAD(info->type), head);
drivers/net/ethernet/rocker/rocker_main.c
412
static void rocker_dma_ring_credits_set(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
417
rocker_write32(rocker, DMA_DESC_CREDITS(info->type), credits);
drivers/net/ethernet/rocker/rocker_main.c
426
static int rocker_dma_ring_create(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
442
info->desc = dma_alloc_coherent(&rocker->pdev->dev,
drivers/net/ethernet/rocker/rocker_main.c
453
rocker_write32(rocker, DMA_DESC_CTRL(info->type),
drivers/net/ethernet/rocker/rocker_main.c
455
rocker_write64(rocker, DMA_DESC_ADDR(info->type), info->mapaddr);
drivers/net/ethernet/rocker/rocker_main.c
456
rocker_write32(rocker, DMA_DESC_SIZE(info->type), info->size);
drivers/net/ethernet/rocker/rocker_main.c
461
static void rocker_dma_ring_destroy(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
464
rocker_write64(rocker, DMA_DESC_ADDR(info->type), 0);
drivers/net/ethernet/rocker/rocker_main.c
466
dma_free_coherent(&rocker->pdev->dev,
drivers/net/ethernet/rocker/rocker_main.c
472
static void rocker_dma_ring_pass_to_producer(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
483
rocker_desc_head_set(rocker, info, &info->desc_info[i]);
drivers/net/ethernet/rocker/rocker_main.c
487
static int rocker_dma_ring_bufs_alloc(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
491
struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
536
static void rocker_dma_ring_bufs_free(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
540
struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
575
static int rocker_dma_cmd_ring_waits_alloc(const struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
577
const struct rocker_dma_ring_info *cmd_ring = &rocker->cmd_ring;
drivers/net/ethernet/rocker/rocker_main.c
594
static void rocker_dma_cmd_ring_waits_free(const struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
596
const struct rocker_dma_ring_info *cmd_ring = &rocker->cmd_ring;
drivers/net/ethernet/rocker/rocker_main.c
603
static int rocker_dma_rings_init(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
605
const struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
608
err = rocker_dma_ring_create(rocker, ROCKER_DMA_CMD,
drivers/net/ethernet/rocker/rocker_main.c
610
&rocker->cmd_ring);
drivers/net/ethernet/rocker/rocker_main.c
616
spin_lock_init(&rocker->cmd_ring_lock);
drivers/net/ethernet/rocker/rocker_main.c
618
err = rocker_dma_ring_bufs_alloc(rocker, &rocker->cmd_ring,
drivers/net/ethernet/rocker/rocker_main.c
625
err = rocker_dma_cmd_ring_waits_alloc(rocker);
drivers/net/ethernet/rocker/rocker_main.c
631
err = rocker_dma_ring_create(rocker, ROCKER_DMA_EVENT,
drivers/net/ethernet/rocker/rocker_main.c
633
&rocker->event_ring);
drivers/net/ethernet/rocker/rocker_main.c
639
err = rocker_dma_ring_bufs_alloc(rocker, &rocker->event_ring,
drivers/net/ethernet/rocker/rocker_main.c
645
rocker_dma_ring_pass_to_producer(rocker, &rocker->event_ring);
drivers/net/ethernet/rocker/rocker_main.c
649
rocker_dma_ring_destroy(rocker, &rocker->event_ring);
drivers/net/ethernet/rocker/rocker_main.c
651
rocker_dma_cmd_ring_waits_free(rocker);
drivers/net/ethernet/rocker/rocker_main.c
653
rocker_dma_ring_bufs_free(rocker, &rocker->cmd_ring,
drivers/net/ethernet/rocker/rocker_main.c
656
rocker_dma_ring_destroy(rocker, &rocker->cmd_ring);
drivers/net/ethernet/rocker/rocker_main.c
660
static void rocker_dma_rings_fini(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_main.c
662
rocker_dma_ring_bufs_free(rocker, &rocker->event_ring,
drivers/net/ethernet/rocker/rocker_main.c
664
rocker_dma_ring_destroy(rocker, &rocker->event_ring);
drivers/net/ethernet/rocker/rocker_main.c
665
rocker_dma_cmd_ring_waits_free(rocker);
drivers/net/ethernet/rocker/rocker_main.c
666
rocker_dma_ring_bufs_free(rocker, &rocker->cmd_ring,
drivers/net/ethernet/rocker/rocker_main.c
668
rocker_dma_ring_destroy(rocker, &rocker->cmd_ring);
drivers/net/ethernet/rocker/rocker_main.c
675
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
676
struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
726
static void rocker_dma_rx_ring_skb_unmap(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
729
struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_main.c
741
static void rocker_dma_rx_ring_skb_free(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
750
rocker_dma_rx_ring_skb_unmap(rocker, attrs);
drivers/net/ethernet/rocker/rocker_main.c
757
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
771
rocker_dma_rx_ring_skb_free(rocker, &rx_ring->desc_info[i]);
drivers/net/ethernet/rocker/rocker_main.c
778
const struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
782
rocker_dma_rx_ring_skb_free(rocker, &rx_ring->desc_info[i]);
drivers/net/ethernet/rocker/rocker_main.c
787
struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
790
err = rocker_dma_ring_create(rocker,
drivers/net/ethernet/rocker/rocker_main.c
799
err = rocker_dma_ring_bufs_alloc(rocker, &rocker_port->tx_ring,
drivers/net/ethernet/rocker/rocker_main.c
807
err = rocker_dma_ring_create(rocker,
drivers/net/ethernet/rocker/rocker_main.c
816
err = rocker_dma_ring_bufs_alloc(rocker, &rocker_port->rx_ring,
drivers/net/ethernet/rocker/rocker_main.c
829
rocker_dma_ring_pass_to_producer(rocker, &rocker_port->rx_ring);
drivers/net/ethernet/rocker/rocker_main.c
834
rocker_dma_ring_bufs_free(rocker, &rocker_port->rx_ring,
drivers/net/ethernet/rocker/rocker_main.c
837
rocker_dma_ring_destroy(rocker, &rocker_port->rx_ring);
drivers/net/ethernet/rocker/rocker_main.c
839
rocker_dma_ring_bufs_free(rocker, &rocker_port->tx_ring,
drivers/net/ethernet/rocker/rocker_main.c
842
rocker_dma_ring_destroy(rocker, &rocker_port->tx_ring);
drivers/net/ethernet/rocker/rocker_main.c
848
struct rocker *rocker = rocker_port->rocker;
drivers/net/ethernet/rocker/rocker_main.c
851
rocker_dma_ring_bufs_free(rocker, &rocker_port->rx_ring,
drivers/net/ethernet/rocker/rocker_main.c
853
rocker_dma_ring_destroy(rocker, &rocker_port->rx_ring);
drivers/net/ethernet/rocker/rocker_main.c
854
rocker_dma_ring_bufs_free(rocker, &rocker_port->tx_ring,
drivers/net/ethernet/rocker/rocker_main.c
856
rocker_dma_ring_destroy(rocker, &rocker_port->tx_ring);
drivers/net/ethernet/rocker/rocker_main.c
862
u64 val = rocker_read64(rocker_port->rocker, PORT_PHYS_ENABLE);
drivers/net/ethernet/rocker/rocker_main.c
868
rocker_write64(rocker_port->rocker, PORT_PHYS_ENABLE, val);
drivers/net/ethernet/rocker/rocker_main.c
877
struct rocker *rocker = dev_id;
drivers/net/ethernet/rocker/rocker_main.c
882
spin_lock(&rocker->cmd_ring_lock);
drivers/net/ethernet/rocker/rocker_main.c
883
while ((desc_info = rocker_desc_tail_get(&rocker->cmd_ring))) {
drivers/net/ethernet/rocker/rocker_main.c
892
spin_unlock(&rocker->cmd_ring_lock);
drivers/net/ethernet/rocker/rocker_main.c
893
rocker_dma_ring_credits_set(rocker, &rocker->cmd_ring, credits);
drivers/net/ethernet/rocker/rocker_main.c
910
static int rocker_event_link_change(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
926
if (port_number >= rocker->port_count)
drivers/net/ethernet/rocker/rocker_main.c
929
rocker_port = rocker->ports[port_number];
drivers/net/ethernet/rocker/rocker_main.c
944
static int rocker_event_mac_vlan_seen(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
95
static u32 rocker_msix_vector(const struct rocker *rocker, unsigned int vector)
drivers/net/ethernet/rocker/rocker_main.c
963
if (port_number >= rocker->port_count)
drivers/net/ethernet/rocker/rocker_main.c
966
rocker_port = rocker->ports[port_number];
drivers/net/ethernet/rocker/rocker_main.c
97
return rocker->msix_entries[vector].vector;
drivers/net/ethernet/rocker/rocker_main.c
970
static int rocker_event_process(const struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_main.c
987
return rocker_event_link_change(rocker, info);
drivers/net/ethernet/rocker/rocker_main.c
989
return rocker_event_mac_vlan_seen(rocker, info);
drivers/net/ethernet/rocker/rocker_main.c
997
struct rocker *rocker = dev_id;
drivers/net/ethernet/rocker/rocker_main.c
998
const struct pci_dev *pdev = rocker->pdev;
drivers/net/ethernet/rocker/rocker_ofdpa.c
1422
rocker_port = ofdpa->rocker->ports[port_index];
drivers/net/ethernet/rocker/rocker_ofdpa.c
1431
unsigned int port_count = ofdpa->rocker->port_count;
drivers/net/ethernet/rocker/rocker_ofdpa.c
1477
unsigned int port_count = ofdpa->rocker->port_count;
drivers/net/ethernet/rocker/rocker_ofdpa.c
175
struct rocker *rocker;
drivers/net/ethernet/rocker/rocker_ofdpa.c
2333
static int ofdpa_init(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_ofdpa.c
2335
struct ofdpa *ofdpa = rocker->wpriv;
drivers/net/ethernet/rocker/rocker_ofdpa.c
2337
ofdpa->rocker = rocker;
drivers/net/ethernet/rocker/rocker_ofdpa.c
2362
static void ofdpa_fini(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_ofdpa.c
2364
struct ofdpa *ofdpa = rocker->wpriv;
drivers/net/ethernet/rocker/rocker_ofdpa.c
2376
flush_workqueue(rocker->rocker_owq);
drivers/net/ethernet/rocker/rocker_ofdpa.c
2409
ofdpa_port->ofdpa = rocker_port->rocker->wpriv;
drivers/net/ethernet/rocker/rocker_ofdpa.c
2699
struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_ofdpa.c
2703
rocker_port = rocker_port_dev_lower_find(dev, rocker);
drivers/net/ethernet/rocker/rocker_ofdpa.c
2707
static int ofdpa_fib4_add(struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_ofdpa.c
2710
struct ofdpa *ofdpa = rocker->wpriv;
drivers/net/ethernet/rocker/rocker_ofdpa.c
2718
ofdpa_port = ofdpa_port_dev_lower_find(nh->fib_nh_dev, rocker);
drivers/net/ethernet/rocker/rocker_ofdpa.c
2730
static int ofdpa_fib4_del(struct rocker *rocker,
drivers/net/ethernet/rocker/rocker_ofdpa.c
2733
struct ofdpa *ofdpa = rocker->wpriv;
drivers/net/ethernet/rocker/rocker_ofdpa.c
2740
ofdpa_port = ofdpa_port_dev_lower_find(nh->fib_nh_dev, rocker);
drivers/net/ethernet/rocker/rocker_ofdpa.c
2749
static void ofdpa_fib4_abort(struct rocker *rocker)
drivers/net/ethernet/rocker/rocker_ofdpa.c
2751
struct ofdpa *ofdpa = rocker->wpriv;
drivers/net/ethernet/rocker/rocker_ofdpa.c
2769
ofdpa_port = ofdpa_port_dev_lower_find(nh->fib_nh_dev, rocker);