rocker 38 drivers/net/ethernet/rocker/rocker.h struct rocker; rocker 42 drivers/net/ethernet/rocker/rocker.h struct rocker *rocker; rocker 53 drivers/net/ethernet/rocker/rocker.h struct rocker *rocker); rocker 95 drivers/net/ethernet/rocker/rocker.h int (*init)(struct rocker *rocker); rocker 96 drivers/net/ethernet/rocker/rocker.h void (*fini)(struct rocker *rocker); rocker 134 drivers/net/ethernet/rocker/rocker.h int (*fib4_add)(struct rocker *rocker, rocker 136 drivers/net/ethernet/rocker/rocker.h int (*fib4_del)(struct rocker *rocker, rocker 138 drivers/net/ethernet/rocker/rocker.h void (*fib4_abort)(struct rocker *rocker); rocker 96 drivers/net/ethernet/rocker/rocker_main.c static u32 rocker_msix_vector(const struct rocker *rocker, unsigned int vector) rocker 98 drivers/net/ethernet/rocker/rocker_main.c return rocker->msix_entries[vector].vector; rocker 103 drivers/net/ethernet/rocker/rocker_main.c return rocker_msix_vector(rocker_port->rocker, rocker 109 drivers/net/ethernet/rocker/rocker_main.c return rocker_msix_vector(rocker_port->rocker, rocker 113 drivers/net/ethernet/rocker/rocker_main.c #define rocker_write32(rocker, reg, val) \ rocker 114 drivers/net/ethernet/rocker/rocker_main.c writel((val), (rocker)->hw_addr + (ROCKER_ ## reg)) rocker 115 drivers/net/ethernet/rocker/rocker_main.c #define rocker_read32(rocker, reg) \ rocker 116 drivers/net/ethernet/rocker/rocker_main.c readl((rocker)->hw_addr + (ROCKER_ ## reg)) rocker 117 drivers/net/ethernet/rocker/rocker_main.c #define rocker_write64(rocker, reg, val) \ rocker 118 drivers/net/ethernet/rocker/rocker_main.c writeq((val), (rocker)->hw_addr + (ROCKER_ ## reg)) rocker 119 drivers/net/ethernet/rocker/rocker_main.c #define rocker_read64(rocker, reg) \ rocker 120 drivers/net/ethernet/rocker/rocker_main.c readq((rocker)->hw_addr + (ROCKER_ ## reg)) rocker 126 drivers/net/ethernet/rocker/rocker_main.c static int rocker_reg_test(const struct rocker *rocker) rocker 128 drivers/net/ethernet/rocker/rocker_main.c const struct pci_dev *pdev = rocker->pdev; rocker 134 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, TEST_REG, rnd); rocker 135 drivers/net/ethernet/rocker/rocker_main.c test_reg = rocker_read32(rocker, TEST_REG); rocker 145 drivers/net/ethernet/rocker/rocker_main.c rocker_write64(rocker, TEST_REG64, rnd); rocker 146 drivers/net/ethernet/rocker/rocker_main.c test_reg = rocker_read64(rocker, TEST_REG64); rocker 156 drivers/net/ethernet/rocker/rocker_main.c static int rocker_dma_test_one(const struct rocker *rocker, rocker 161 drivers/net/ethernet/rocker/rocker_main.c const struct pci_dev *pdev = rocker->pdev; rocker 165 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, TEST_DMA_CTRL, test_type); rocker 185 drivers/net/ethernet/rocker/rocker_main.c static int rocker_dma_test_offset(const struct rocker *rocker, rocker 188 drivers/net/ethernet/rocker/rocker_main.c struct pci_dev *pdev = rocker->pdev; rocker 210 drivers/net/ethernet/rocker/rocker_main.c rocker_write64(rocker, TEST_DMA_ADDR, dma_handle); rocker 211 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, TEST_DMA_SIZE, ROCKER_TEST_DMA_BUF_SIZE); rocker 214 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_test_one(rocker, wait, ROCKER_TEST_DMA_CTRL_FILL, rocker 221 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_test_one(rocker, wait, ROCKER_TEST_DMA_CTRL_CLEAR, rocker 230 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_test_one(rocker, wait, ROCKER_TEST_DMA_CTRL_INVERT, rocker 245 drivers/net/ethernet/rocker/rocker_main.c static int rocker_dma_test(const struct rocker *rocker, rocker 252 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_test_offset(rocker, wait, i); rocker 268 drivers/net/ethernet/rocker/rocker_main.c static int rocker_basic_hw_test(const struct rocker *rocker) rocker 270 drivers/net/ethernet/rocker/rocker_main.c const struct pci_dev *pdev = rocker->pdev; rocker 274 drivers/net/ethernet/rocker/rocker_main.c err = rocker_reg_test(rocker); rocker 280 drivers/net/ethernet/rocker/rocker_main.c err = request_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_TEST), rocker 289 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, TEST_IRQ, ROCKER_MSIX_VEC_TEST); rocker 297 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_test(rocker, &wait); rocker 302 drivers/net/ethernet/rocker/rocker_main.c free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_TEST), &wait); rocker 386 drivers/net/ethernet/rocker/rocker_main.c static void rocker_desc_head_set(const struct rocker *rocker, rocker 395 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, DMA_DESC_HEAD(info->type), head); rocker 413 drivers/net/ethernet/rocker/rocker_main.c static void rocker_dma_ring_credits_set(const struct rocker *rocker, rocker 418 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, DMA_DESC_CREDITS(info->type), credits); rocker 427 drivers/net/ethernet/rocker/rocker_main.c static int rocker_dma_ring_create(const struct rocker *rocker, rocker 444 drivers/net/ethernet/rocker/rocker_main.c info->desc = pci_alloc_consistent(rocker->pdev, rocker 455 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, DMA_DESC_CTRL(info->type), rocker 457 drivers/net/ethernet/rocker/rocker_main.c rocker_write64(rocker, DMA_DESC_ADDR(info->type), info->mapaddr); rocker 458 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, DMA_DESC_SIZE(info->type), info->size); rocker 463 drivers/net/ethernet/rocker/rocker_main.c static void rocker_dma_ring_destroy(const struct rocker *rocker, rocker 466 drivers/net/ethernet/rocker/rocker_main.c rocker_write64(rocker, DMA_DESC_ADDR(info->type), 0); rocker 468 drivers/net/ethernet/rocker/rocker_main.c pci_free_consistent(rocker->pdev, rocker 474 drivers/net/ethernet/rocker/rocker_main.c static void rocker_dma_ring_pass_to_producer(const struct rocker *rocker, rocker 485 drivers/net/ethernet/rocker/rocker_main.c rocker_desc_head_set(rocker, info, &info->desc_info[i]); rocker 489 drivers/net/ethernet/rocker/rocker_main.c static int rocker_dma_ring_bufs_alloc(const struct rocker *rocker, rocker 493 drivers/net/ethernet/rocker/rocker_main.c struct pci_dev *pdev = rocker->pdev; rocker 536 drivers/net/ethernet/rocker/rocker_main.c static void rocker_dma_ring_bufs_free(const struct rocker *rocker, rocker 540 drivers/net/ethernet/rocker/rocker_main.c struct pci_dev *pdev = rocker->pdev; rocker 574 drivers/net/ethernet/rocker/rocker_main.c static int rocker_dma_cmd_ring_waits_alloc(const struct rocker *rocker) rocker 576 drivers/net/ethernet/rocker/rocker_main.c const struct rocker_dma_ring_info *cmd_ring = &rocker->cmd_ring; rocker 593 drivers/net/ethernet/rocker/rocker_main.c static void rocker_dma_cmd_ring_waits_free(const struct rocker *rocker) rocker 595 drivers/net/ethernet/rocker/rocker_main.c const struct rocker_dma_ring_info *cmd_ring = &rocker->cmd_ring; rocker 602 drivers/net/ethernet/rocker/rocker_main.c static int rocker_dma_rings_init(struct rocker *rocker) rocker 604 drivers/net/ethernet/rocker/rocker_main.c const struct pci_dev *pdev = rocker->pdev; rocker 607 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_ring_create(rocker, ROCKER_DMA_CMD, rocker 609 drivers/net/ethernet/rocker/rocker_main.c &rocker->cmd_ring); rocker 615 drivers/net/ethernet/rocker/rocker_main.c spin_lock_init(&rocker->cmd_ring_lock); rocker 617 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_ring_bufs_alloc(rocker, &rocker->cmd_ring, rocker 624 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_cmd_ring_waits_alloc(rocker); rocker 630 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_ring_create(rocker, ROCKER_DMA_EVENT, rocker 632 drivers/net/ethernet/rocker/rocker_main.c &rocker->event_ring); rocker 638 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_ring_bufs_alloc(rocker, &rocker->event_ring, rocker 644 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_pass_to_producer(rocker, &rocker->event_ring); rocker 648 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_destroy(rocker, &rocker->event_ring); rocker 650 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_bufs_free(rocker, &rocker->cmd_ring, rocker 653 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_cmd_ring_waits_free(rocker); rocker 655 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_destroy(rocker, &rocker->cmd_ring); rocker 659 drivers/net/ethernet/rocker/rocker_main.c static void rocker_dma_rings_fini(struct rocker *rocker) rocker 661 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_bufs_free(rocker, &rocker->event_ring, rocker 663 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_destroy(rocker, &rocker->event_ring); rocker 664 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_cmd_ring_waits_free(rocker); rocker 665 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_bufs_free(rocker, &rocker->cmd_ring, rocker 667 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_destroy(rocker, &rocker->cmd_ring); rocker 674 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 675 drivers/net/ethernet/rocker/rocker_main.c struct pci_dev *pdev = rocker->pdev; rocker 725 drivers/net/ethernet/rocker/rocker_main.c static void rocker_dma_rx_ring_skb_unmap(const struct rocker *rocker, rocker 728 drivers/net/ethernet/rocker/rocker_main.c struct pci_dev *pdev = rocker->pdev; rocker 740 drivers/net/ethernet/rocker/rocker_main.c static void rocker_dma_rx_ring_skb_free(const struct rocker *rocker, rocker 749 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_rx_ring_skb_unmap(rocker, attrs); rocker 756 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 770 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_rx_ring_skb_free(rocker, &rx_ring->desc_info[i]); rocker 777 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 781 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_rx_ring_skb_free(rocker, &rx_ring->desc_info[i]); rocker 786 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = rocker_port->rocker; rocker 789 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_ring_create(rocker, rocker 798 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_ring_bufs_alloc(rocker, &rocker_port->tx_ring, rocker 806 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_ring_create(rocker, rocker 815 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_ring_bufs_alloc(rocker, &rocker_port->rx_ring, rocker 828 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_pass_to_producer(rocker, &rocker_port->rx_ring); rocker 833 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_bufs_free(rocker, &rocker_port->rx_ring, rocker 836 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_destroy(rocker, &rocker_port->rx_ring); rocker 838 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_bufs_free(rocker, &rocker_port->tx_ring, rocker 841 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_destroy(rocker, &rocker_port->tx_ring); rocker 847 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = rocker_port->rocker; rocker 850 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_bufs_free(rocker, &rocker_port->rx_ring, rocker 852 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_destroy(rocker, &rocker_port->rx_ring); rocker 853 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_bufs_free(rocker, &rocker_port->tx_ring, rocker 855 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_destroy(rocker, &rocker_port->tx_ring); rocker 861 drivers/net/ethernet/rocker/rocker_main.c u64 val = rocker_read64(rocker_port->rocker, PORT_PHYS_ENABLE); rocker 867 drivers/net/ethernet/rocker/rocker_main.c rocker_write64(rocker_port->rocker, PORT_PHYS_ENABLE, val); rocker 876 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = dev_id; rocker 881 drivers/net/ethernet/rocker/rocker_main.c spin_lock(&rocker->cmd_ring_lock); rocker 882 drivers/net/ethernet/rocker/rocker_main.c while ((desc_info = rocker_desc_tail_get(&rocker->cmd_ring))) { rocker 891 drivers/net/ethernet/rocker/rocker_main.c spin_unlock(&rocker->cmd_ring_lock); rocker 892 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_credits_set(rocker, &rocker->cmd_ring, credits); rocker 909 drivers/net/ethernet/rocker/rocker_main.c static int rocker_event_link_change(const struct rocker *rocker, rocker 925 drivers/net/ethernet/rocker/rocker_main.c if (port_number >= rocker->port_count) rocker 928 drivers/net/ethernet/rocker/rocker_main.c rocker_port = rocker->ports[port_number]; rocker 943 drivers/net/ethernet/rocker/rocker_main.c static int rocker_event_mac_vlan_seen(const struct rocker *rocker, rocker 962 drivers/net/ethernet/rocker/rocker_main.c if (port_number >= rocker->port_count) rocker 965 drivers/net/ethernet/rocker/rocker_main.c rocker_port = rocker->ports[port_number]; rocker 969 drivers/net/ethernet/rocker/rocker_main.c static int rocker_event_process(const struct rocker *rocker, rocker 986 drivers/net/ethernet/rocker/rocker_main.c return rocker_event_link_change(rocker, info); rocker 988 drivers/net/ethernet/rocker/rocker_main.c return rocker_event_mac_vlan_seen(rocker, info); rocker 996 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = dev_id; rocker 997 drivers/net/ethernet/rocker/rocker_main.c const struct pci_dev *pdev = rocker->pdev; rocker 1002 drivers/net/ethernet/rocker/rocker_main.c while ((desc_info = rocker_desc_tail_get(&rocker->event_ring))) { rocker 1008 drivers/net/ethernet/rocker/rocker_main.c err = rocker_event_process(rocker, desc_info); rocker 1014 drivers/net/ethernet/rocker/rocker_main.c rocker_desc_head_set(rocker, &rocker->event_ring, desc_info); rocker 1017 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_credits_set(rocker, &rocker->event_ring, credits); rocker 1046 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = rocker_port->rocker; rocker 1052 drivers/net/ethernet/rocker/rocker_main.c spin_lock_irqsave(&rocker->cmd_ring_lock, lock_flags); rocker 1054 drivers/net/ethernet/rocker/rocker_main.c desc_info = rocker_desc_head_get(&rocker->cmd_ring); rocker 1056 drivers/net/ethernet/rocker/rocker_main.c spin_unlock_irqrestore(&rocker->cmd_ring_lock, lock_flags); rocker 1066 drivers/net/ethernet/rocker/rocker_main.c spin_unlock_irqrestore(&rocker->cmd_ring_lock, lock_flags); rocker 1070 drivers/net/ethernet/rocker/rocker_main.c rocker_desc_head_set(rocker, &rocker->cmd_ring, desc_info); rocker 1072 drivers/net/ethernet/rocker/rocker_main.c spin_unlock_irqrestore(&rocker->cmd_ring_lock, lock_flags); rocker 1433 drivers/net/ethernet/rocker/rocker_main.c static int rocker_world_init(struct rocker *rocker, u8 mode) rocker 1440 drivers/net/ethernet/rocker/rocker_main.c dev_err(&rocker->pdev->dev, "port mode \"%d\" is not supported\n", rocker 1444 drivers/net/ethernet/rocker/rocker_main.c rocker->wops = wops; rocker 1445 drivers/net/ethernet/rocker/rocker_main.c rocker->wpriv = kzalloc(wops->priv_size, GFP_KERNEL); rocker 1446 drivers/net/ethernet/rocker/rocker_main.c if (!rocker->wpriv) rocker 1450 drivers/net/ethernet/rocker/rocker_main.c err = wops->init(rocker); rocker 1452 drivers/net/ethernet/rocker/rocker_main.c kfree(rocker->wpriv); rocker 1456 drivers/net/ethernet/rocker/rocker_main.c static void rocker_world_fini(struct rocker *rocker) rocker 1458 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker->wops; rocker 1462 drivers/net/ethernet/rocker/rocker_main.c wops->fini(rocker); rocker 1463 drivers/net/ethernet/rocker/rocker_main.c kfree(rocker->wpriv); rocker 1468 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = rocker_port->rocker; rocker 1474 drivers/net/ethernet/rocker/rocker_main.c dev_err(&rocker->pdev->dev, "failed to get port mode\n"); rocker 1477 drivers/net/ethernet/rocker/rocker_main.c if (rocker->wops) { rocker 1478 drivers/net/ethernet/rocker/rocker_main.c if (rocker->wops->mode != mode) { rocker 1479 drivers/net/ethernet/rocker/rocker_main.c dev_err(&rocker->pdev->dev, "hardware has ports in different worlds, which is not supported\n"); rocker 1484 drivers/net/ethernet/rocker/rocker_main.c return rocker_world_init(rocker, mode); rocker 1489 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1505 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1514 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1523 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1533 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1542 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1553 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1570 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1583 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1606 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1624 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1641 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1656 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1670 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1682 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1692 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1702 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1712 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1722 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1733 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker_port->rocker->wops; rocker 1740 drivers/net/ethernet/rocker/rocker_main.c static int rocker_world_fib4_add(struct rocker *rocker, rocker 1743 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker->wops; rocker 1747 drivers/net/ethernet/rocker/rocker_main.c return wops->fib4_add(rocker, fen_info); rocker 1750 drivers/net/ethernet/rocker/rocker_main.c static int rocker_world_fib4_del(struct rocker *rocker, rocker 1753 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker->wops; rocker 1757 drivers/net/ethernet/rocker/rocker_main.c return wops->fib4_del(rocker, fen_info); rocker 1760 drivers/net/ethernet/rocker/rocker_main.c static void rocker_world_fib4_abort(struct rocker *rocker) rocker 1762 drivers/net/ethernet/rocker/rocker_main.c struct rocker_world_ops *wops = rocker->wops; rocker 1765 drivers/net/ethernet/rocker/rocker_main.c wops->fib4_abort(rocker); rocker 1838 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 1839 drivers/net/ethernet/rocker/rocker_main.c struct pci_dev *pdev = rocker->pdev; rocker 1869 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 1870 drivers/net/ethernet/rocker/rocker_main.c struct pci_dev *pdev = rocker->pdev; rocker 1902 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = rocker_port->rocker; rocker 1942 drivers/net/ethernet/rocker/rocker_main.c rocker_desc_head_set(rocker, &rocker_port->tx_ring, desc_info); rocker 2041 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 2043 drivers/net/ethernet/rocker/rocker_main.c ppid->id_len = sizeof(rocker->hw.id); rocker 2044 drivers/net/ethernet/rocker/rocker_main.c memcpy(&ppid->id, &rocker->hw.id, ppid->id_len); rocker 2147 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker; rocker 2155 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = fib_work->rocker; rocker 2163 drivers/net/ethernet/rocker/rocker_main.c err = rocker_world_fib4_add(rocker, &fib_work->fen_info); rocker 2165 drivers/net/ethernet/rocker/rocker_main.c rocker_world_fib4_abort(rocker); rocker 2169 drivers/net/ethernet/rocker/rocker_main.c rocker_world_fib4_del(rocker, &fib_work->fen_info); rocker 2176 drivers/net/ethernet/rocker/rocker_main.c rocker_world_fib4_abort(rocker); rocker 2188 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = container_of(nb, struct rocker, fib_nb); rocker 2203 drivers/net/ethernet/rocker/rocker_main.c fib_work->rocker = rocker; rocker 2237 drivers/net/ethernet/rocker/rocker_main.c queue_work(rocker->rocker_owq, &fib_work->work); rocker 2420 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 2451 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_credits_set(rocker, &rocker_port->tx_ring, credits); rocker 2456 drivers/net/ethernet/rocker/rocker_main.c static int rocker_port_rx_proc(const struct rocker *rocker, rocker 2474 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_rx_ring_skb_unmap(rocker, attrs); rocker 2499 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 2513 drivers/net/ethernet/rocker/rocker_main.c err = rocker_port_rx_proc(rocker, rocker_port, rocker 2523 drivers/net/ethernet/rocker/rocker_main.c rocker_desc_head_set(rocker, &rocker_port->rx_ring, desc_info); rocker 2530 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_ring_credits_set(rocker, &rocker_port->rx_ring, credits); rocker 2541 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 2542 drivers/net/ethernet/rocker/rocker_main.c u64 link_status = rocker_read64(rocker, PORT_PHYS_LINK_STATUS); rocker 2552 drivers/net/ethernet/rocker/rocker_main.c static void rocker_remove_ports(struct rocker *rocker) rocker 2557 drivers/net/ethernet/rocker/rocker_main.c for (i = 0; i < rocker->port_count; i++) { rocker 2558 drivers/net/ethernet/rocker/rocker_main.c rocker_port = rocker->ports[i]; rocker 2566 drivers/net/ethernet/rocker/rocker_main.c rocker_world_fini(rocker); rocker 2567 drivers/net/ethernet/rocker/rocker_main.c kfree(rocker->ports); rocker 2572 drivers/net/ethernet/rocker/rocker_main.c const struct rocker *rocker = rocker_port->rocker; rocker 2573 drivers/net/ethernet/rocker/rocker_main.c const struct pci_dev *pdev = rocker->pdev; rocker 2586 drivers/net/ethernet/rocker/rocker_main.c static int rocker_probe_port(struct rocker *rocker, unsigned int port_number) rocker 2588 drivers/net/ethernet/rocker/rocker_main.c struct pci_dev *pdev = rocker->pdev; rocker 2599 drivers/net/ethernet/rocker/rocker_main.c rocker_port->rocker = rocker; rocker 2634 drivers/net/ethernet/rocker/rocker_main.c rocker->ports[port_number] = rocker_port; rocker 2645 drivers/net/ethernet/rocker/rocker_main.c rocker->ports[port_number] = NULL; rocker 2655 drivers/net/ethernet/rocker/rocker_main.c static int rocker_probe_ports(struct rocker *rocker) rocker 2661 drivers/net/ethernet/rocker/rocker_main.c alloc_size = sizeof(struct rocker_port *) * rocker->port_count; rocker 2662 drivers/net/ethernet/rocker/rocker_main.c rocker->ports = kzalloc(alloc_size, GFP_KERNEL); rocker 2663 drivers/net/ethernet/rocker/rocker_main.c if (!rocker->ports) rocker 2665 drivers/net/ethernet/rocker/rocker_main.c for (i = 0; i < rocker->port_count; i++) { rocker 2666 drivers/net/ethernet/rocker/rocker_main.c err = rocker_probe_port(rocker, i); rocker 2673 drivers/net/ethernet/rocker/rocker_main.c rocker_remove_ports(rocker); rocker 2677 drivers/net/ethernet/rocker/rocker_main.c static int rocker_msix_init(struct rocker *rocker) rocker 2679 drivers/net/ethernet/rocker/rocker_main.c struct pci_dev *pdev = rocker->pdev; rocker 2688 drivers/net/ethernet/rocker/rocker_main.c if (msix_entries != ROCKER_MSIX_VEC_COUNT(rocker->port_count)) rocker 2691 drivers/net/ethernet/rocker/rocker_main.c rocker->msix_entries = kmalloc_array(msix_entries, rocker 2694 drivers/net/ethernet/rocker/rocker_main.c if (!rocker->msix_entries) rocker 2698 drivers/net/ethernet/rocker/rocker_main.c rocker->msix_entries[i].entry = i; rocker 2700 drivers/net/ethernet/rocker/rocker_main.c err = pci_enable_msix_exact(pdev, rocker->msix_entries, msix_entries); rocker 2707 drivers/net/ethernet/rocker/rocker_main.c kfree(rocker->msix_entries); rocker 2711 drivers/net/ethernet/rocker/rocker_main.c static void rocker_msix_fini(const struct rocker *rocker) rocker 2713 drivers/net/ethernet/rocker/rocker_main.c pci_disable_msix(rocker->pdev); rocker 2714 drivers/net/ethernet/rocker/rocker_main.c kfree(rocker->msix_entries); rocker 2837 drivers/net/ethernet/rocker/rocker_main.c queue_work(rocker_port->rocker->rocker_owq, rocker 2892 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker; rocker 2895 drivers/net/ethernet/rocker/rocker_main.c rocker = kzalloc(sizeof(*rocker), GFP_KERNEL); rocker 2896 drivers/net/ethernet/rocker/rocker_main.c if (!rocker) rocker 2932 drivers/net/ethernet/rocker/rocker_main.c rocker->hw_addr = ioremap(pci_resource_start(pdev, 0), rocker 2934 drivers/net/ethernet/rocker/rocker_main.c if (!rocker->hw_addr) { rocker 2941 drivers/net/ethernet/rocker/rocker_main.c rocker->pdev = pdev; rocker 2942 drivers/net/ethernet/rocker/rocker_main.c pci_set_drvdata(pdev, rocker); rocker 2944 drivers/net/ethernet/rocker/rocker_main.c rocker->port_count = rocker_read32(rocker, PORT_PHYS_COUNT); rocker 2946 drivers/net/ethernet/rocker/rocker_main.c err = rocker_msix_init(rocker); rocker 2952 drivers/net/ethernet/rocker/rocker_main.c err = rocker_basic_hw_test(rocker); rocker 2958 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, CONTROL, ROCKER_CONTROL_RESET); rocker 2960 drivers/net/ethernet/rocker/rocker_main.c err = rocker_dma_rings_init(rocker); rocker 2964 drivers/net/ethernet/rocker/rocker_main.c err = request_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_CMD), rocker 2966 drivers/net/ethernet/rocker/rocker_main.c rocker_driver_name, rocker); rocker 2972 drivers/net/ethernet/rocker/rocker_main.c err = request_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_EVENT), rocker 2974 drivers/net/ethernet/rocker/rocker_main.c rocker_driver_name, rocker); rocker 2980 drivers/net/ethernet/rocker/rocker_main.c rocker->rocker_owq = alloc_ordered_workqueue(rocker_driver_name, rocker 2982 drivers/net/ethernet/rocker/rocker_main.c if (!rocker->rocker_owq) { rocker 2987 drivers/net/ethernet/rocker/rocker_main.c err = rocker_probe_ports(rocker); rocker 2996 drivers/net/ethernet/rocker/rocker_main.c rocker->fib_nb.notifier_call = rocker_router_fib_event; rocker 2997 drivers/net/ethernet/rocker/rocker_main.c err = register_fib_notifier(&rocker->fib_nb, NULL); rocker 3014 drivers/net/ethernet/rocker/rocker_main.c rocker->hw.id = rocker_read64(rocker, SWITCH_ID); rocker 3017 drivers/net/ethernet/rocker/rocker_main.c (int)sizeof(rocker->hw.id), &rocker->hw.id); rocker 3024 drivers/net/ethernet/rocker/rocker_main.c unregister_fib_notifier(&rocker->fib_nb); rocker 3026 drivers/net/ethernet/rocker/rocker_main.c rocker_remove_ports(rocker); rocker 3028 drivers/net/ethernet/rocker/rocker_main.c destroy_workqueue(rocker->rocker_owq); rocker 3030 drivers/net/ethernet/rocker/rocker_main.c free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_EVENT), rocker); rocker 3032 drivers/net/ethernet/rocker/rocker_main.c free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_CMD), rocker); rocker 3034 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_rings_fini(rocker); rocker 3037 drivers/net/ethernet/rocker/rocker_main.c rocker_msix_fini(rocker); rocker 3039 drivers/net/ethernet/rocker/rocker_main.c iounmap(rocker->hw_addr); rocker 3047 drivers/net/ethernet/rocker/rocker_main.c kfree(rocker); rocker 3053 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker = pci_get_drvdata(pdev); rocker 3060 drivers/net/ethernet/rocker/rocker_main.c unregister_fib_notifier(&rocker->fib_nb); rocker 3061 drivers/net/ethernet/rocker/rocker_main.c rocker_remove_ports(rocker); rocker 3062 drivers/net/ethernet/rocker/rocker_main.c rocker_write32(rocker, CONTROL, ROCKER_CONTROL_RESET); rocker 3063 drivers/net/ethernet/rocker/rocker_main.c destroy_workqueue(rocker->rocker_owq); rocker 3064 drivers/net/ethernet/rocker/rocker_main.c free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_EVENT), rocker); rocker 3065 drivers/net/ethernet/rocker/rocker_main.c free_irq(rocker_msix_vector(rocker, ROCKER_MSIX_VEC_CMD), rocker); rocker 3066 drivers/net/ethernet/rocker/rocker_main.c rocker_dma_rings_fini(rocker); rocker 3067 drivers/net/ethernet/rocker/rocker_main.c rocker_msix_fini(rocker); rocker 3068 drivers/net/ethernet/rocker/rocker_main.c iounmap(rocker->hw_addr); rocker 3069 drivers/net/ethernet/rocker/rocker_main.c pci_release_regions(rocker->pdev); rocker 3070 drivers/net/ethernet/rocker/rocker_main.c pci_disable_device(rocker->pdev); rocker 3071 drivers/net/ethernet/rocker/rocker_main.c kfree(rocker); rocker 3086 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker) rocker 3094 drivers/net/ethernet/rocker/rocker_main.c if (rocker_port->rocker != rocker) rocker 3101 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker; rocker 3110 drivers/net/ethernet/rocker/rocker_main.c if (rocker_port_dev_check_under(lower_dev, data->rocker)) { rocker 3119 drivers/net/ethernet/rocker/rocker_main.c struct rocker *rocker) rocker 3123 drivers/net/ethernet/rocker/rocker_main.c if (rocker_port_dev_check_under(dev, rocker)) rocker 3126 drivers/net/ethernet/rocker/rocker_main.c data.rocker = rocker; rocker 174 drivers/net/ethernet/rocker/rocker_ofdpa.c struct rocker *rocker; rocker 1439 drivers/net/ethernet/rocker/rocker_ofdpa.c rocker_port = ofdpa->rocker->ports[port_index]; rocker 1448 drivers/net/ethernet/rocker/rocker_ofdpa.c unsigned int port_count = ofdpa->rocker->port_count; rocker 1494 drivers/net/ethernet/rocker/rocker_ofdpa.c unsigned int port_count = ofdpa->rocker->port_count; rocker 2346 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_init(struct rocker *rocker) rocker 2348 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = rocker->wpriv; rocker 2350 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa->rocker = rocker; rocker 2375 drivers/net/ethernet/rocker/rocker_ofdpa.c static void ofdpa_fini(struct rocker *rocker) rocker 2377 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = rocker->wpriv; rocker 2389 drivers/net/ethernet/rocker/rocker_ofdpa.c flush_workqueue(rocker->rocker_owq); rocker 2422 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->ofdpa = rocker_port->rocker->wpriv; rocker 2724 drivers/net/ethernet/rocker/rocker_ofdpa.c struct rocker *rocker) rocker 2728 drivers/net/ethernet/rocker/rocker_ofdpa.c rocker_port = rocker_port_dev_lower_find(dev, rocker); rocker 2732 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_fib4_add(struct rocker *rocker, rocker 2735 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = rocker->wpriv; rocker 2743 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port = ofdpa_port_dev_lower_find(nh->fib_nh_dev, rocker); rocker 2755 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_fib4_del(struct rocker *rocker, rocker 2758 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = rocker->wpriv; rocker 2765 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port = ofdpa_port_dev_lower_find(nh->fib_nh_dev, rocker); rocker 2774 drivers/net/ethernet/rocker/rocker_ofdpa.c static void ofdpa_fib4_abort(struct rocker *rocker) rocker 2776 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = rocker->wpriv; rocker 2794 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port = ofdpa_port_dev_lower_find(nh->fib_nh_dev, rocker);