drivers/net/ethernet/mellanox/mlxsw/pci.c
1003
pp_params.pool_size = MLXSW_PCI_WQE_COUNT * mlxsw_pci->num_sg_entries;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1004
pp_params.nid = dev_to_node(&mlxsw_pci->pdev->dev);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1005
pp_params.dev = &mlxsw_pci->pdev->dev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1027
static int mlxsw_pci_cq_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1030
enum mlxsw_pci_cq_type cq_type = mlxsw_pci_cq_type(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1057
err = mlxsw_cmd_sw2hw_cq(mlxsw_pci->core, mbox, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1067
mlxsw_pci_queue_doorbell_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1068
mlxsw_pci_queue_doorbell_arm_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1076
static void mlxsw_pci_cq_fini(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1079
enum mlxsw_pci_cq_type cq_type = mlxsw_pci_cq_type(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1084
mlxsw_cmd_hw2sw_cq(mlxsw_pci->core, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1119
struct mlxsw_pci *mlxsw_pci = q->pci;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1138
mlxsw_pci_queue_doorbell_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1139
mlxsw_pci_queue_doorbell_arm_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1141
cq_count = mlxsw_pci->num_cqs;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1143
q = mlxsw_pci_cq_get(mlxsw_pci, cqn);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1148
static int mlxsw_pci_eq_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1177
err = mlxsw_cmd_sw2hw_eq(mlxsw_pci->core, mbox, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1181
mlxsw_pci_queue_doorbell_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1182
mlxsw_pci_queue_doorbell_arm_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1186
static void mlxsw_pci_eq_fini(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1189
mlxsw_cmd_hw2sw_eq(mlxsw_pci->core, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1195
void (*pre_init)(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1197
int (*init)(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1199
void (*fini)(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1240
static int mlxsw_pci_queue_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1250
q_ops->pre_init(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1258
q->pci = mlxsw_pci;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1261
mem_item->buf = dma_alloc_coherent(&mlxsw_pci->pdev->dev,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1285
err = q_ops->init(mlxsw_pci, mbox, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1293
dma_free_coherent(&mlxsw_pci->pdev->dev, mem_item->size,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1298
static void mlxsw_pci_queue_fini(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1304
q_ops->fini(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1306
dma_free_coherent(&mlxsw_pci->pdev->dev, mem_item->size,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1310
static int mlxsw_pci_queue_group_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1318
queue_group = mlxsw_pci_queue_type_group_get(mlxsw_pci, q_ops->type);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1324
err = mlxsw_pci_queue_init(mlxsw_pci, mbox, q_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1335
mlxsw_pci_queue_fini(mlxsw_pci, q_ops, &queue_group->q[i]);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1340
static void mlxsw_pci_queue_group_fini(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1346
queue_group = mlxsw_pci_queue_type_group_get(mlxsw_pci, q_ops->type);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1348
mlxsw_pci_queue_fini(mlxsw_pci, q_ops, &queue_group->q[i]);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1352
static int mlxsw_pci_aqs_init(struct mlxsw_pci *mlxsw_pci, char *mbox)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1354
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1367
err = mlxsw_cmd_query_aq_cap(mlxsw_pci->core, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1391
(mlxsw_pci->max_cqe_ver == MLXSW_PCI_CQE_V2 &&
drivers/net/ethernet/mellanox/mlxsw/pci.c
1398
mlxsw_pci->num_cqs = num_cqs;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1399
mlxsw_pci->num_sdqs = num_sdqs;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1401
err = mlxsw_pci_queue_group_init(mlxsw_pci, mbox, &mlxsw_pci_eq_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1408
err = mlxsw_pci_queue_group_init(mlxsw_pci, mbox, &mlxsw_pci_cq_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1415
err = mlxsw_pci_queue_group_init(mlxsw_pci, mbox, &mlxsw_pci_sdq_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
142
static int mlxsw_pci_napi_devs_init(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1422
err = mlxsw_pci_queue_group_init(mlxsw_pci, mbox, &mlxsw_pci_rdq_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1432
mlxsw_pci_queue_group_fini(mlxsw_pci, &mlxsw_pci_sdq_ops);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1434
mlxsw_pci_queue_group_fini(mlxsw_pci, &mlxsw_pci_cq_ops);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1436
mlxsw_pci_queue_group_fini(mlxsw_pci, &mlxsw_pci_eq_ops);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1440
static void mlxsw_pci_aqs_fini(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1442
mlxsw_pci_queue_group_fini(mlxsw_pci, &mlxsw_pci_rdq_ops);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1443
mlxsw_pci_queue_group_fini(mlxsw_pci, &mlxsw_pci_sdq_ops);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1444
mlxsw_pci_queue_group_fini(mlxsw_pci, &mlxsw_pci_cq_ops);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1445
mlxsw_pci_queue_group_fini(mlxsw_pci, &mlxsw_pci_eq_ops);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1449
mlxsw_pci_config_profile_swid_config(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
146
mlxsw_pci->napi_dev_tx = alloc_netdev_dummy(0);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1469
mlxsw_pci_profile_get_kvd_sizes(const struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
147
if (!mlxsw_pci->napi_dev_tx)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1476
err = mlxsw_core_kvd_sizes_get(mlxsw_pci->core, profile,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1489
static int mlxsw_pci_config_profile(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
149
strscpy(mlxsw_pci->napi_dev_tx->name, "mlxsw_tx",
drivers/net/ethernet/mellanox/mlxsw/pci.c
150
sizeof(mlxsw_pci->napi_dev_tx->name));
drivers/net/ethernet/mellanox/mlxsw/pci.c
152
mlxsw_pci->napi_dev_rx = alloc_netdev_dummy(0);
drivers/net/ethernet/mellanox/mlxsw/pci.c
153
if (!mlxsw_pci->napi_dev_rx) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1555
if (profile->flood_mode_prefer_cff && mlxsw_pci->cff_support) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1561
mlxsw_pci->flood_mode = flood_mode;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1567
mlxsw_pci->flood_mode = profile->flood_mode;
drivers/net/ethernet/mellanox/mlxsw/pci.c
157
strscpy(mlxsw_pci->napi_dev_rx->name, "mlxsw_rx",
drivers/net/ethernet/mellanox/mlxsw/pci.c
158
sizeof(mlxsw_pci->napi_dev_rx->name));
drivers/net/ethernet/mellanox/mlxsw/pci.c
159
netif_threaded_enable(mlxsw_pci->napi_dev_rx);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1602
err = mlxsw_pci_profile_get_kvd_sizes(mlxsw_pci, profile, res);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1620
mlxsw_pci_config_profile_swid_config(mlxsw_pci, mbox, i,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1623
if (mlxsw_pci->max_cqe_ver > MLXSW_PCI_CQE_V0) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1635
if (profile->lag_mode_prefer_sw && mlxsw_pci->lag_mode_support) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
164
free_netdev(mlxsw_pci->napi_dev_tx);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1641
mlxsw_pci->lag_mode = lag_mode;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1643
mlxsw_pci->lag_mode = MLXSW_CMD_MBOX_CONFIG_PROFILE_LAG_MODE_FW;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1645
return mlxsw_cmd_config_profile_set(mlxsw_pci->core, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1648
static int mlxsw_pci_boardinfo(struct mlxsw_pci *mlxsw_pci, char *mbox)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1650
struct mlxsw_bus_info *bus_info = &mlxsw_pci->bus_info;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1654
err = mlxsw_cmd_boardinfo(mlxsw_pci->core, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1662
static int mlxsw_pci_fw_area_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1670
mlxsw_pci->fw_area.items = kzalloc_objs(*mem_item, num_pages);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1671
if (!mlxsw_pci->fw_area.items)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1673
mlxsw_pci->fw_area.count = num_pages;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1677
mem_item = &mlxsw_pci->fw_area.items[i];
drivers/net/ethernet/mellanox/mlxsw/pci.c
168
static void mlxsw_pci_napi_devs_fini(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1680
mem_item->buf = dma_alloc_coherent(&mlxsw_pci->pdev->dev,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1690
err = mlxsw_cmd_map_fa(mlxsw_pci->core, mbox, nent);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1699
err = mlxsw_cmd_map_fa(mlxsw_pci->core, mbox, nent);
drivers/net/ethernet/mellanox/mlxsw/pci.c
170
free_netdev(mlxsw_pci->napi_dev_rx);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1709
mem_item = &mlxsw_pci->fw_area.items[i];
drivers/net/ethernet/mellanox/mlxsw/pci.c
171
free_netdev(mlxsw_pci->napi_dev_tx);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1711
dma_free_coherent(&mlxsw_pci->pdev->dev, mem_item->size,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1714
kfree(mlxsw_pci->fw_area.items);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1718
static void mlxsw_pci_fw_area_fini(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1723
mlxsw_cmd_unmap_fa(mlxsw_pci->core);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1725
for (i = 0; i < mlxsw_pci->fw_area.count; i++) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1726
mem_item = &mlxsw_pci->fw_area.items[i];
drivers/net/ethernet/mellanox/mlxsw/pci.c
1728
dma_free_coherent(&mlxsw_pci->pdev->dev, mem_item->size,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1731
kfree(mlxsw_pci->fw_area.items);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1736
struct mlxsw_pci *mlxsw_pci = dev_id;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1739
q = mlxsw_pci_eq_get(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1744
static int mlxsw_pci_mbox_alloc(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1747
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1761
static void mlxsw_pci_mbox_free(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1764
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1770
static int mlxsw_pci_sys_ready_wait(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1782
val = mlxsw_pci_read32(mlxsw_pci, FW_READY);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1793
static int mlxsw_pci_reset_at_pci_disable(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1796
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1808
err = mlxsw_reg_write(mlxsw_pci->core, MLXSW_REG(mrsr), mrsr_pl);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1833
static int mlxsw_pci_reset_sw(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1838
return mlxsw_reg_write(mlxsw_pci->core, MLXSW_REG(mrsr), mrsr_pl);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1842
mlxsw_pci_reset(struct mlxsw_pci *mlxsw_pci, const struct pci_device_id *id)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1844
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1851
err = mlxsw_pci_sys_ready_wait(mlxsw_pci, id, &sys_status);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1859
if (mlxsw_pci->skip_reset)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1864
err = mlxsw_reg_query(mlxsw_pci->core, MLXSW_REG(mcam), mcam_pl);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1874
err = mlxsw_pci_reset_at_pci_disable(mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1878
err = mlxsw_pci_reset_sw(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1883
err = mlxsw_pci_sys_ready_wait(mlxsw_pci, id, &sys_status);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1893
static int mlxsw_pci_alloc_irq_vectors(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1897
err = pci_alloc_irq_vectors(mlxsw_pci->pdev, 1, 1, PCI_IRQ_MSIX);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1899
dev_err(&mlxsw_pci->pdev->dev, "MSI-X init failed\n");
drivers/net/ethernet/mellanox/mlxsw/pci.c
1903
static void mlxsw_pci_free_irq_vectors(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1905
pci_free_irq_vectors(mlxsw_pci->pdev);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1908
static void mlxsw_pci_num_sg_entries_set(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1913
mlxsw_pci->num_sg_entries = min(num_sg_entries,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1923
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1924
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1929
mlxsw_pci->core = mlxsw_core;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1935
err = mlxsw_pci_reset(mlxsw_pci, mlxsw_pci->id);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1939
err = mlxsw_pci_alloc_irq_vectors(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1949
mlxsw_pci->bus_info.fw_rev.major =
drivers/net/ethernet/mellanox/mlxsw/pci.c
1951
mlxsw_pci->bus_info.fw_rev.minor =
drivers/net/ethernet/mellanox/mlxsw/pci.c
1953
mlxsw_pci->bus_info.fw_rev.subminor =
drivers/net/ethernet/mellanox/mlxsw/pci.c
1967
mlxsw_pci->doorbell_offset =
drivers/net/ethernet/mellanox/mlxsw/pci.c
1976
mlxsw_pci->free_running_clock_offset =
drivers/net/ethernet/mellanox/mlxsw/pci.c
1985
mlxsw_pci->utc_sec_offset =
drivers/net/ethernet/mellanox/mlxsw/pci.c
1994
mlxsw_pci->utc_nsec_offset =
drivers/net/ethernet/mellanox/mlxsw/pci.c
1997
mlxsw_pci->lag_mode_support =
drivers/net/ethernet/mellanox/mlxsw/pci.c
1999
mlxsw_pci->cff_support =
drivers/net/ethernet/mellanox/mlxsw/pci.c
2003
err = mlxsw_pci_fw_area_init(mlxsw_pci, mbox, num_pages);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2007
err = mlxsw_pci_boardinfo(mlxsw_pci, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2017
mlxsw_pci->max_cqe_ver = MLXSW_PCI_CQE_V2;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2020
mlxsw_pci->max_cqe_ver = MLXSW_PCI_CQE_V1;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2024
mlxsw_pci->max_cqe_ver = MLXSW_PCI_CQE_V0;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2030
err = mlxsw_pci_config_profile(mlxsw_pci, mbox, profile, res);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2041
mlxsw_pci_num_sg_entries_set(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2043
err = mlxsw_pci_napi_devs_init(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2047
err = mlxsw_pci_aqs_init(mlxsw_pci, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2053
mlxsw_pci->bus_info.device_kind, mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2062
mlxsw_pci_aqs_fini(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2064
mlxsw_pci_napi_devs_fini(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2071
mlxsw_pci_fw_area_fini(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2079
mlxsw_pci_free_irq_vectors(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2089
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2091
free_irq(pci_irq_vector(mlxsw_pci->pdev, 0), mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2092
mlxsw_pci_aqs_fini(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2093
mlxsw_pci_napi_devs_fini(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2094
mlxsw_pci_fw_area_fini(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2095
mlxsw_pci_free_irq_vectors(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2132
mlxsw_pci_sdq_pick(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2135
u8 ctl_sdq_count = mlxsw_pci->num_sdqs - 1;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2145
return mlxsw_pci_sdq_get(mlxsw_pci, sdqn);
drivers/net/ethernet/mellanox/mlxsw/pci.c
215
mlxsw_pci_queue_type_group_get(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2151
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2152
struct mlxsw_pci_queue *q = mlxsw_pci_sdq_pick(mlxsw_pci, tx_info);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2160
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2177
q = mlxsw_pci_sdq_pick(mlxsw_pci, &txhdr_info->tx_info);
drivers/net/ethernet/mellanox/mlxsw/pci.c
218
return &mlxsw_pci->queues[q_type];
drivers/net/ethernet/mellanox/mlxsw/pci.c
2193
err = mlxsw_pci_wqe_frag_map(mlxsw_pci, wqe, 0, skb->data,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2201
err = mlxsw_pci_wqe_frag_map(mlxsw_pci, wqe, i + 1,
drivers/net/ethernet/mellanox/mlxsw/pci.c
222
__mlxsw_pci_queue_get(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2220
mlxsw_pci_queue_doorbell_producer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2226
mlxsw_pci_wqe_frag_unmap(mlxsw_pci, wqe, i, DMA_TO_DEVICE);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2238
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2247
err = mutex_lock_interruptible(&mlxsw_pci->cmd.lock);
drivers/net/ethernet/mellanox/mlxsw/pci.c
225
return &mlxsw_pci->queues[q_type].q[q_num];
drivers/net/ethernet/mellanox/mlxsw/pci.c
2252
memcpy(mlxsw_pci->cmd.in_mbox.buf, in_mbox, in_mbox_size);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2253
in_mapaddr = mlxsw_pci->cmd.in_mbox.mapaddr;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2255
mlxsw_pci_write32(mlxsw_pci, CIR_IN_PARAM_HI, upper_32_bits(in_mapaddr));
drivers/net/ethernet/mellanox/mlxsw/pci.c
2256
mlxsw_pci_write32(mlxsw_pci, CIR_IN_PARAM_LO, lower_32_bits(in_mapaddr));
drivers/net/ethernet/mellanox/mlxsw/pci.c
2259
out_mapaddr = mlxsw_pci->cmd.out_mbox.mapaddr;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2260
mlxsw_pci_write32(mlxsw_pci, CIR_OUT_PARAM_HI, upper_32_bits(out_mapaddr));
drivers/net/ethernet/mellanox/mlxsw/pci.c
2261
mlxsw_pci_write32(mlxsw_pci, CIR_OUT_PARAM_LO, lower_32_bits(out_mapaddr));
drivers/net/ethernet/mellanox/mlxsw/pci.c
2263
mlxsw_pci_write32(mlxsw_pci, CIR_IN_MODIFIER, in_mod);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2264
mlxsw_pci_write32(mlxsw_pci, CIR_TOKEN, 0);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2269
mlxsw_pci_write32(mlxsw_pci, CIR_CTRL,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2276
u32 ctrl = mlxsw_pci_read32(mlxsw_pci, CIR_CTRL);
drivers/net/ethernet/mellanox/mlxsw/pci.c
228
static struct mlxsw_pci_queue *mlxsw_pci_sdq_get(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2301
tmp = cpu_to_be32(mlxsw_pci_read32(mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2304
tmp = cpu_to_be32(mlxsw_pci_read32(mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2308
memcpy(out_mbox, mlxsw_pci->cmd.out_mbox.buf, out_mbox_size);
drivers/net/ethernet/mellanox/mlxsw/pci.c
231
return __mlxsw_pci_queue_get(mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2311
mutex_unlock(&mlxsw_pci->cmd.lock);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2318
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2321
frc_offset_h = mlxsw_pci->free_running_clock_offset;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2322
return mlxsw_pci_read32_off(mlxsw_pci, frc_offset_h);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2327
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2330
frc_offset_l = mlxsw_pci->free_running_clock_offset + 4;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2331
return mlxsw_pci_read32_off(mlxsw_pci, frc_offset_l);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2336
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2338
return mlxsw_pci_read32_off(mlxsw_pci, mlxsw_pci->utc_sec_offset);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2343
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2345
return mlxsw_pci_read32_off(mlxsw_pci, mlxsw_pci->utc_nsec_offset);
drivers/net/ethernet/mellanox/mlxsw/pci.c
235
static struct mlxsw_pci_queue *mlxsw_pci_cq_get(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2351
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2353
return mlxsw_pci->lag_mode;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2359
struct mlxsw_pci *mlxsw_pci = bus_priv;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2361
return mlxsw_pci->flood_mode;
drivers/net/ethernet/mellanox/mlxsw/pci.c
238
return __mlxsw_pci_queue_get(mlxsw_pci, MLXSW_PCI_QUEUE_TYPE_CQ, q_num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2380
static int mlxsw_pci_cmd_init(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
2384
mutex_init(&mlxsw_pci->cmd.lock);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2386
err = mlxsw_pci_mbox_alloc(mlxsw_pci, &mlxsw_pci->cmd.in_mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2390
err = mlxsw_pci_mbox_alloc(mlxsw_pci, &mlxsw_pci->cmd.out_mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2397
mlxsw_pci_mbox_free(mlxsw_pci, &mlxsw_pci->cmd.in_mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2399
mutex_destroy(&mlxsw_pci->cmd.lock);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2403
static void mlxsw_pci_cmd_fini(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
2405
mlxsw_pci_mbox_free(mlxsw_pci, &mlxsw_pci->cmd.out_mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2406
mlxsw_pci_mbox_free(mlxsw_pci, &mlxsw_pci->cmd.in_mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2407
mutex_destroy(&mlxsw_pci->cmd.lock);
drivers/net/ethernet/mellanox/mlxsw/pci.c
241
static struct mlxsw_pci_queue *mlxsw_pci_eq_get(struct mlxsw_pci *mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
2413
struct mlxsw_pci *mlxsw_pci;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2416
mlxsw_pci = kzalloc_obj(*mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2417
if (!mlxsw_pci)
drivers/net/ethernet/mellanox/mlxsw/pci.c
244
return __mlxsw_pci_queue_get(mlxsw_pci, MLXSW_PCI_QUEUE_TYPE_EQ, 0);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2447
mlxsw_pci->hw_addr = ioremap(pci_resource_start(pdev, 0),
drivers/net/ethernet/mellanox/mlxsw/pci.c
2449
if (!mlxsw_pci->hw_addr) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
2456
mlxsw_pci->pdev = pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2457
pci_set_drvdata(pdev, mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2459
err = mlxsw_pci_cmd_init(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2463
mlxsw_pci->bus_info.device_kind = driver_name;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2464
mlxsw_pci->bus_info.device_name = pci_name(mlxsw_pci->pdev);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2465
mlxsw_pci->bus_info.dev = &pdev->dev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2466
mlxsw_pci->bus_info.read_clock_capable = true;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2467
mlxsw_pci->id = id;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2469
err = mlxsw_core_bus_device_register(&mlxsw_pci->bus_info,
drivers/net/ethernet/mellanox/mlxsw/pci.c
247
static void __mlxsw_pci_queue_doorbell_set(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2470
&mlxsw_pci_bus, mlxsw_pci, false,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2480
mlxsw_pci_cmd_fini(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2482
iounmap(mlxsw_pci->hw_addr);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2490
kfree(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2496
struct mlxsw_pci *mlxsw_pci = pci_get_drvdata(pdev);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2498
mlxsw_core_bus_device_unregister(mlxsw_pci->core, false);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2499
mlxsw_pci_cmd_fini(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2500
iounmap(mlxsw_pci->hw_addr);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2501
pci_release_regions(mlxsw_pci->pdev);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2502
pci_disable_device(mlxsw_pci->pdev);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2503
kfree(mlxsw_pci);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2508
struct mlxsw_pci *mlxsw_pci = pci_get_drvdata(pdev);
drivers/net/ethernet/mellanox/mlxsw/pci.c
251
mlxsw_pci_write32(mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2510
mlxsw_core_bus_device_unregister(mlxsw_pci->core, false);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2515
struct mlxsw_pci *mlxsw_pci = pci_get_drvdata(pdev);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2517
mlxsw_pci->skip_reset = true;
drivers/net/ethernet/mellanox/mlxsw/pci.c
2518
mlxsw_core_bus_device_register(&mlxsw_pci->bus_info, &mlxsw_pci_bus,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2519
mlxsw_pci, false, NULL, NULL);
drivers/net/ethernet/mellanox/mlxsw/pci.c
252
DOORBELL(mlxsw_pci->doorbell_offset,
drivers/net/ethernet/mellanox/mlxsw/pci.c
2520
mlxsw_pci->skip_reset = false;
drivers/net/ethernet/mellanox/mlxsw/pci.c
257
static void __mlxsw_pci_queue_doorbell_arm_set(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
26
#define mlxsw_pci_write32(mlxsw_pci, reg, val) \
drivers/net/ethernet/mellanox/mlxsw/pci.c
261
mlxsw_pci_write32(mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
262
DOORBELL(mlxsw_pci->doorbell_offset,
drivers/net/ethernet/mellanox/mlxsw/pci.c
267
static void mlxsw_pci_queue_doorbell_producer_ring(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
27
iowrite32be(val, (mlxsw_pci)->hw_addr + (MLXSW_PCI_ ## reg))
drivers/net/ethernet/mellanox/mlxsw/pci.c
271
__mlxsw_pci_queue_doorbell_set(mlxsw_pci, q, q->producer_counter);
drivers/net/ethernet/mellanox/mlxsw/pci.c
274
static void mlxsw_pci_queue_doorbell_consumer_ring(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
278
__mlxsw_pci_queue_doorbell_set(mlxsw_pci, q,
drivers/net/ethernet/mellanox/mlxsw/pci.c
28
#define mlxsw_pci_read32(mlxsw_pci, reg) \
drivers/net/ethernet/mellanox/mlxsw/pci.c
283
mlxsw_pci_queue_doorbell_arm_consumer_ring(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
287
__mlxsw_pci_queue_doorbell_arm_set(mlxsw_pci, q, q->consumer_counter);
drivers/net/ethernet/mellanox/mlxsw/pci.c
29
ioread32be((mlxsw_pci)->hw_addr + (MLXSW_PCI_ ## reg))
drivers/net/ethernet/mellanox/mlxsw/pci.c
296
static int mlxsw_pci_sdq_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
325
err = mlxsw_cmd_sw2hw_sdq(mlxsw_pci->core, mbox, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
329
cq = mlxsw_pci_cq_get(mlxsw_pci, cq_num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
331
mlxsw_pci_queue_doorbell_producer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
335
static void mlxsw_pci_sdq_fini(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
338
mlxsw_cmd_hw2sw_sdq(mlxsw_pci->core, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
348
mlxsw_pci_wqe_rx_frag_set(struct mlxsw_pci *mlxsw_pci, struct page *page,
drivers/net/ethernet/mellanox/mlxsw/pci.c
364
static int mlxsw_pci_wqe_frag_map(struct mlxsw_pci *mlxsw_pci, char *wqe,
drivers/net/ethernet/mellanox/mlxsw/pci.c
368
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
381
static void mlxsw_pci_wqe_frag_unmap(struct mlxsw_pci *mlxsw_pci, char *wqe,
drivers/net/ethernet/mellanox/mlxsw/pci.c
384
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
537
static int mlxsw_pci_rdq_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
541
u8 sdq_count = mlxsw_pci->num_sdqs;
drivers/net/ethernet/mellanox/mlxsw/pci.c
562
err = mlxsw_cmd_sw2hw_rdq(mlxsw_pci->core, mbox, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
566
cq = mlxsw_pci_cq_get(mlxsw_pci, cq_num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
570
mlxsw_pci_queue_doorbell_producer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
576
for (j = 0; j < mlxsw_pci->num_sg_entries; j++) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
583
mlxsw_pci_queue_doorbell_producer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
593
j = mlxsw_pci->num_sg_entries;
drivers/net/ethernet/mellanox/mlxsw/pci.c
597
mlxsw_cmd_hw2sw_rdq(mlxsw_pci->core, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
602
static void mlxsw_pci_rdq_fini(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
608
mlxsw_cmd_hw2sw_rdq(mlxsw_pci->core, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
611
for (j = 0; j < mlxsw_pci->num_sg_entries; j++)
drivers/net/ethernet/mellanox/mlxsw/pci.c
616
static void mlxsw_pci_cq_pre_init(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
619
q->u.cq.v = mlxsw_pci->max_cqe_ver;
drivers/net/ethernet/mellanox/mlxsw/pci.c
622
q->num < mlxsw_pci->num_sdqs &&
drivers/net/ethernet/mellanox/mlxsw/pci.c
623
!mlxsw_core_sdq_supports_cqe_v2(mlxsw_pci->core))
drivers/net/ethernet/mellanox/mlxsw/pci.c
627
static unsigned int mlxsw_pci_read32_off(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
630
return ioread32be(mlxsw_pci->hw_addr + off);
drivers/net/ethernet/mellanox/mlxsw/pci.c
633
static void mlxsw_pci_skb_cb_ts_set(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
653
static void mlxsw_pci_cqe_sdq_handle(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
659
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
672
mlxsw_pci_wqe_frag_unmap(mlxsw_pci, wqe, i, DMA_TO_DEVICE);
drivers/net/ethernet/mellanox/mlxsw/pci.c
676
mlxsw_pci_skb_cb_ts_set(mlxsw_pci, skb, cqe_v, cqe);
drivers/net/ethernet/mellanox/mlxsw/pci.c
677
mlxsw_core_ptp_transmitted(mlxsw_pci->core, skb,
drivers/net/ethernet/mellanox/mlxsw/pci.c
740
static void mlxsw_pci_cqe_rdq_handle(struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
746
struct pci_dev *pdev = mlxsw_pci->pdev;
drivers/net/ethernet/mellanox/mlxsw/pci.c
798
if (mlxsw_pci->max_cqe_ver >= MLXSW_PCI_CQE_V2)
drivers/net/ethernet/mellanox/mlxsw/pci.c
803
mlxsw_pci->max_cqe_ver >= MLXSW_PCI_CQE_V2) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
807
mlxsw_pci->max_cqe_ver >= MLXSW_PCI_CQE_V2) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
811
mlxsw_pci_skb_cb_ts_set(mlxsw_pci, skb, cqe_v, cqe);
drivers/net/ethernet/mellanox/mlxsw/pci.c
814
mlxsw_core_skb_receive(mlxsw_pci->core, skb, &rx_info);
drivers/net/ethernet/mellanox/mlxsw/pci.c
83
struct mlxsw_pci *pci;
drivers/net/ethernet/mellanox/mlxsw/pci.c
852
struct mlxsw_pci *mlxsw_pci = q->pci;
drivers/net/ethernet/mellanox/mlxsw/pci.c
875
mlxsw_pci_cqe_rdq_handle(mlxsw_pci, napi, rdq,
drivers/net/ethernet/mellanox/mlxsw/pci.c
882
mlxsw_pci_queue_doorbell_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
883
mlxsw_pci_queue_doorbell_producer_ring(mlxsw_pci, rdq);
drivers/net/ethernet/mellanox/mlxsw/pci.c
904
mlxsw_pci_queue_doorbell_arm_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
914
struct mlxsw_pci *mlxsw_pci = q->pci;
drivers/net/ethernet/mellanox/mlxsw/pci.c
935
mlxsw_pci_queue_doorbell_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
937
mlxsw_pci_cqe_sdq_handle(mlxsw_pci, sdq,
drivers/net/ethernet/mellanox/mlxsw/pci.c
952
mlxsw_pci_queue_doorbell_arm_consumer_ring(mlxsw_pci, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
958
mlxsw_pci_cq_type(const struct mlxsw_pci *mlxsw_pci,
drivers/net/ethernet/mellanox/mlxsw/pci.c
964
if (q->num < mlxsw_pci->num_sdqs)
drivers/net/ethernet/mellanox/mlxsw/pci.c
973
struct mlxsw_pci *mlxsw_pci = q->pci;
drivers/net/ethernet/mellanox/mlxsw/pci.c
977
netif_napi_add(mlxsw_pci->napi_dev_tx, &q->u.cq.napi,
drivers/net/ethernet/mellanox/mlxsw/pci.c
981
netif_napi_add(mlxsw_pci->napi_dev_rx, &q->u.cq.napi,
drivers/net/ethernet/mellanox/mlxsw/pci.c
996
struct mlxsw_pci *mlxsw_pci = q->pci;