drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1001
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1022
cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1025
cfg = cgx_lmac_addr_get(cgx->cgx_id, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1026
cgx_write(cgx, lmac_id, CGXX_SMUX_SMAC, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
103
static int get_sequence_id_of_lmac(struct cgx *cgx, int lmac_id)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1034
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1037
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1040
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1050
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1053
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1058
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1060
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1062
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1064
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1067
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1069
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
107
for_each_set_bit(tmp, &cgx->lmac_bmap, cgx->max_lmac_per_mac) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1071
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1073
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1080
struct cgx *cgx = lmac->cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1091
cmd = cgx_read(cgx, lmac->lmac_id, CGX_COMMAND_REG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1104
cgx_write(cgx, lmac->lmac_id, CGX_COMMAND_REG, req);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1109
dev = &cgx->pdev->dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1111
cgx->cgx_id, lmac->lmac_id, FIELD_GET(CMDREG_ID, req));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1126
int cgx_fwi_cmd_generic(u64 req, u64 *resp, struct cgx *cgx, int lmac_id)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1131
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
121
return ((struct cgx *)cgxd)->mac_ops;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
126
return ((struct cgx *)cgxd)->fifo_len;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
129
void cgx_write(struct cgx *cgx, u64 lmac, u64 offset, u64 val)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1295
struct cgx *cgx, u8 lmac_id)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1305
dev_err(&cgx->pdev->dev, "Unknown lmac_type_id %d reported by firmware on cgx port%d:%d",
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1306
linfo->lmac_type_id, cgx->cgx_id, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
131
writeq(val, cgx->reg_base + (lmac << cgx->mac_ops->lmac_offset) +
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1320
struct cgx *cgx = lmac->cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1325
dev = &cgx->pdev->dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1327
link_status_user_format(lstat, &event.link_uinfo, cgx, lmac->lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1330
event.cgx_id = cgx->cgx_id;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1345
cgx->cgx_id, lmac->lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1348
cgx->cgx_id, lmac->lmac_id, err_type);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
135
u64 cgx_read(struct cgx *cgx, u64 lmac, u64 offset)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1351
cgx->cgx_id, lmac->lmac_id,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
137
return readq(cgx->reg_base + (lmac << cgx->mac_ops->lmac_offset) +
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1387
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1389
cgx = lmac->cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1392
offset = cgx->mac_ops->int_register;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1393
clear_bit = cgx->mac_ops->int_ena_bit;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1395
event = cgx_read(cgx, lmac->lmac_id, CGX_EVENT_REG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
141
struct lmac *lmac_pdata(u8 lmac_id, struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1429
cgx_write(lmac->cgx, lmac->lmac_id, CGX_EVENT_REG, 0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
143
if (!cgx || lmac_id >= cgx->max_lmac_per_mac)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1430
cgx_write(lmac->cgx, lmac->lmac_id, offset, clear_bit);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1440
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1443
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1456
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1458
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
146
return cgx->lmac_idmap[lmac_id];
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1473
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1477
cgx = list_first_entry_or_null(&cgx_list, struct cgx, cgx_list);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1478
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1481
first_lmac = find_first_bit(&cgx->lmac_bmap, cgx->max_lmac_per_mac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1483
err = cgx_fwi_cmd_generic(req, &resp, cgx, first_lmac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1494
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1498
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
151
struct cgx *cgx_dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1523
return cgx_fwi_cmd_generic(req, &resp, cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1528
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1531
cgx = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1532
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1537
err = cgx_fwi_cmd_generic(req, &resp, cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1541
cgx->lmac_idmap[lmac_id]->link_info.fec =
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1543
return cgx->lmac_idmap[lmac_id]->link_info.fec;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1548
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1551
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1555
return cgx_fwi_cmd_generic(req, &resp, cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1558
static int cgx_fwi_link_change(struct cgx *cgx, int lmac_id, bool enable)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1570
if (!is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1576
return cgx_fwi_cmd_generic(req, &resp, cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1579
static inline int cgx_fwi_read_version(u64 *resp, struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1581
int first_lmac = find_first_bit(&cgx->lmac_bmap, cgx->max_lmac_per_mac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1585
return cgx_fwi_cmd_generic(req, resp, cgx, first_lmac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1588
static int cgx_lmac_verify_fwi_version(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1590
struct device *dev = &cgx->pdev->dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1595
if (!cgx->lmac_count)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1598
err = cgx_fwi_read_version(&resp, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1614
struct cgx *cgx = container_of(work, struct cgx, cgx_cmd_work);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1615
struct device *dev = &cgx->pdev->dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1619
for_each_set_bit(i, &cgx->lmac_bmap, cgx->max_lmac_per_mac) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1620
err = cgx_fwi_link_change(cgx, i, true);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1623
cgx->cgx_id, i);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1629
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1631
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1634
queue_work(cgx->cgx_cmd_workq, &cgx->cgx_cmd_work);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1641
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1644
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1656
static int cgx_configure_interrupt(struct cgx *cgx, struct lmac *lmac,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1659
struct mac_ops *mac_ops = cgx->mac_ops;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
166
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1664
irq = pci_irq_vector(cgx->pdev, mac_ops->lmac_fwi +
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1679
cgx_write(cgx, lmac->lmac_id, offset, ena_bit);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
168
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1685
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1687
return cgx_read(cgx, 0, CGXX_CMRX_RX_LMACS) & 0x7ULL;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1692
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1694
return cgx->lmac_idmap[lmac_index]->lmac_id;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1699
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1701
return cgx->lmac_bmap;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1704
static int cgx_lmac_init(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
171
return cgx->lmac_count;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1715
if (cgx->mac_ops->non_contiguous_serdes_lane) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1716
if (is_dev_rpm2(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1718
cgx_read(cgx, 0, RPM2_CMRX_RX_LMACS) & 0xFFULL;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1721
cgx_read(cgx, 0, CGXX_CMRX_RX_LMACS) & 0xFULL;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1724
if (cgx->lmac_count > cgx->max_lmac_per_mac)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1725
cgx->lmac_count = cgx->max_lmac_per_mac;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1727
for (i = 0; i < cgx->lmac_count; i++) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1736
sprintf(lmac->name, "cgx_fwi_%u_%u", cgx->cgx_id, i);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1737
if (cgx->mac_ops->non_contiguous_serdes_lane) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1744
lmac->cgx = cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1746
cgx->mac_ops->dmac_filter_count /
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1747
cgx->lmac_count;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
176
struct cgx *cgx_dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1771
err = cgx_configure_interrupt(cgx, lmac, lmac->lmac_id, false);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1776
cgx->lmac_idmap[lmac->lmac_id] = lmac;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1777
set_bit(lmac->lmac_id, &cgx->lmac_bmap);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1778
cgx->mac_ops->mac_pause_frm_config(cgx, lmac->lmac_id, true);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1779
lmac->lmac_type = cgx->mac_ops->get_lmac_type(cgx, lmac->lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1783
cgx_lmac_addr_del(cgx->cgx_id, lmac->lmac_id, filter);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1788
cgx_lmac_addr_reset(cgx->cgx_id, lmac->lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1792
cgx->mac_ops->mac_x2p_reset(cgx, true);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1793
return cgx_lmac_verify_fwi_version(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1808
static int cgx_lmac_exit(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1813
if (cgx->cgx_cmd_workq) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1814
destroy_workqueue(cgx->cgx_cmd_workq);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1815
cgx->cgx_cmd_workq = NULL;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1819
for_each_set_bit(i, &cgx->lmac_bmap, cgx->max_lmac_per_mac) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1820
lmac = cgx->lmac_idmap[i];
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1823
cgx->mac_ops->mac_pause_frm_config(cgx, lmac->lmac_id, false);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1824
cgx_configure_interrupt(cgx, lmac, lmac->lmac_id, true);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1835
static void cgx_populate_features(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1839
cfg = cgx_read(cgx, 0, CGX_CONST);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1840
cgx->fifo_len = FIELD_GET(CGX_CONST_RXFIFO_SIZE, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1841
cgx->max_lmac_per_mac = FIELD_GET(CGX_CONST_MAX_LMACS, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1843
if (is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1844
cgx->hw_features = (RVU_LMAC_FEAT_DMACF | RVU_MAC_RPM |
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1847
cgx->hw_features = (RVU_LMAC_FEAT_FC | RVU_LMAC_FEAT_HIGIG2 |
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1851
static u8 cgx_get_rxid_mapoffset(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1853
if (cgx->pdev->subsystem_device == PCI_SUBSYS_DEVID_CNF10KB_RPM ||
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1854
is_dev_rpm2(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1862
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1867
for_each_set_bit(lmac_id, &cgx->lmac_bmap, cgx->max_lmac_per_mac)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1868
cgx->mac_ops->mac_enadis_rx(cgx, lmac_id, false);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
187
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1872
cfg = cgx_read(cgx, 0, CGXX_CMR_GLOBAL_CONFIG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1873
cfg |= cgx_get_nix_resetbit(cgx) | CGX_NSCI_DROP;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1874
cgx_write(cgx, 0, CGXX_CMR_GLOBAL_CONFIG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1876
cfg = cgx_read(cgx, 0, CGXX_CMR_GLOBAL_CONFIG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1877
cfg &= ~(cgx_get_nix_resetbit(cgx) | CGX_NSCI_DROP);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1878
cgx_write(cgx, 0, CGXX_CMR_GLOBAL_CONFIG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1884
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1887
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1890
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1895
cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1937
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1940
cgx = devm_kzalloc(dev, sizeof(*cgx), GFP_KERNEL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1941
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1943
cgx->pdev = pdev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1945
pci_set_drvdata(pdev, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1948
if (is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1949
cgx->mac_ops = rpm_get_mac_ops(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1951
cgx->mac_ops = &cgx_mac_ops;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1953
cgx->mac_ops->rxid_map_offset = cgx_get_rxid_mapoffset(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
197
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1975
cgx->reg_base = pcim_iomap(pdev, PCI_CFG_REG_BAR_NUM, 0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1976
if (!cgx->reg_base) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1983
!is_cgx_mapped_to_nix(pdev->subsystem_device, cgx->cgx_id)) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1985
cgx->cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1990
cgx->lmac_count = cgx->mac_ops->get_nr_lmacs(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1991
if (!cgx->lmac_count) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1992
dev_notice(dev, "CGX %d LMAC count is zero, skipping probe\n", cgx->cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1997
nvec = pci_msix_vec_count(cgx->pdev);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2005
cgx->cgx_id = (pci_resource_start(pdev, PCI_CFG_REG_BAR_NUM) >> 24)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2009
INIT_WORK(&cgx->cgx_cmd_work, cgx_lmac_linkup_work);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2010
cgx->cgx_cmd_workq = alloc_workqueue("cgx_cmd_workq", WQ_PERCPU, 0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2011
if (!cgx->cgx_cmd_workq) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2017
list_add(&cgx->cgx_list, &cgx_list);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2020
cgx_populate_features(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2022
mutex_init(&cgx->lock);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2024
err = cgx_lmac_init(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2031
cgx_lmac_exit(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2032
list_del(&cgx->cgx_list);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2045
struct cgx *cgx = pci_get_drvdata(pdev);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2047
if (cgx) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2048
cgx_lmac_exit(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2049
list_del(&cgx->cgx_list);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
208
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
210
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
213
return cgx->cgx_id;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
218
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
226
static u8 cgx_get_nix_resetbit(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
232
if (cgx->pdev->subsystem_device != PCI_SUBSYS_DEVID_98XX)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
235
first_lmac = find_first_bit(&cgx->lmac_bmap, cgx->max_lmac_per_mac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
236
p2x = cgx_lmac_get_p2x(cgx->cgx_id, first_lmac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
263
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
298
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
303
cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
305
mac_ops = cgx->mac_ops;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
313
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
318
cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
319
mac_ops = cgx->mac_ops;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
320
return cgx_read(cgx, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 8)));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
325
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
368
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
403
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
436
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
482
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
493
struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
512
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
514
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
517
cgx_write(cgx, lmac_id, cgx->mac_ops->rxid_map_offset, (pkind & 0x3F));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
523
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
526
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
532
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
536
fifo_len = cgx->fifo_len;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
537
num_lmacs = cgx->mac_ops->get_nr_lmacs(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
559
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
563
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
566
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
569
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
574
cgx_write(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
576
cfg = cgx_read(cgx, lmac_id, CGXX_SPUX_CONTROL1);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
581
cgx_write(cgx, lmac_id, CGXX_SPUX_CONTROL1, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
588
struct cgx *cgx = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
589
struct lmac *lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
596
if (!cgx || !lmac)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
600
id = get_sequence_id_of_lmac(cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
602
mac_ops = cgx->mac_ops;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
605
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
608
cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
612
cfg = cgx_read(cgx, 0,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
615
cgx_write(cgx, 0,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
620
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
622
cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
625
cfg = cgx_read(cgx, 0,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
629
cgx_write(cgx, 0,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
63
static int cgx_fwi_link_change(struct cgx *cgx, int lmac_id, bool en);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
641
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
644
if (is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
647
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
650
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
653
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
661
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
667
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
670
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
678
cgx_lmac_get_pause_frm_status(cgx, lmac_id, &rx_pause, &tx_pause);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
683
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
685
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
687
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
689
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
691
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
693
cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
698
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
700
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
702
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
704
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
706
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
708
cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
715
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
717
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
724
*rx_stat = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_STAT0 + (idx * 8));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
730
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
732
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
734
*tx_stat = cgx_read(cgx, lmac_id, CGXX_CMRX_TX_STAT0 + (idx * 8));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
740
return ((struct cgx *)cgxd)->hw_features;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
745
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
748
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
754
cgx_write(cgx, 0,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
757
cgx_write(cgx, lmac_id,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
762
cgx_write(cgx, lmac_id, CGXX_CMRX_TX_STAT0 + (stat_id * 8), 0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
799
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
801
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
804
if (cgx->lmac_idmap[lmac_id]->link_info.fec == OTX2_FEC_NONE)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
808
cgx_set_fec_stats_count(&cgx->lmac_idmap[lmac_id]->link_info);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
809
if (cgx->lmac_idmap[lmac_id]->link_info.fec == OTX2_FEC_BASER) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
818
cgx_read(cgx, lmac_id, corr_reg + (stats * 8));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
820
cgx_read(cgx, lmac_id, uncorr_reg + (stats * 8));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
827
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
830
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
833
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
838
cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
844
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
847
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
850
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
858
cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
865
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
868
if (is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
87
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
871
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
874
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
877
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
879
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
882
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
884
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
887
cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
889
cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
89
return (cgx->pdev->device == PCI_DEVID_CN10K_RPM) ||
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
896
cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
90
(cgx->pdev->device == PCI_DEVID_CN10KB_RPM);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
902
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
905
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
910
cgx_write(cgx, lmac_id, CGXX_SMUX_TX_PAUSE_PKT_TIME,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
912
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_PAUSE_PKT_INTERVAL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
914
cgx_write(cgx, lmac_id, CGXX_SMUX_TX_PAUSE_PKT_INTERVAL,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
917
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_TX_PAUSE_PKT_TIME,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
920
cfg = cgx_read(cgx, lmac_id,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
923
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_TX_PAUSE_PKT_INTERVAL,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
928
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
93
bool is_lmac_valid(struct cgx *cgx, int lmac_id)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
930
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
932
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
934
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
937
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
939
cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
941
cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
944
cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
947
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
949
cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
95
if (!cgx || lmac_id < 0 || lmac_id >= cgx->max_lmac_per_mac)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
955
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
958
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
97
return test_bit(lmac_id, &cgx->lmac_bmap);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
974
dev_warn(&cgx->pdev->dev,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
980
dev_warn(&cgx->pdev->dev,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
991
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
994
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
164
typedef struct cgx rpm_t;
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
167
void cgx_write(struct cgx *cgx, u64 lmac, u64 offset, u64 val);
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
168
u64 cgx_read(struct cgx *cgx, u64 lmac, u64 offset);
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
169
struct lmac *lmac_pdata(u8 lmac_id, struct cgx *cgx);
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
171
int cgx_fwi_cmd_generic(u64 req, u64 *resp, struct cgx *cgx, int lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
172
bool is_lmac_valid(struct cgx *cgx, int lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
173
struct mac_ops *rpm_get_mac_ops(struct cgx *cgx);
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
44
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
87
int (*get_nr_lmacs)(void *cgx);
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
88
u8 (*get_lmac_type)(void *cgx, int lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
89
u32 (*lmac_fifo_len)(void *cgx, int lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
90
int (*mac_lmac_intl_lbk)(void *cgx, int lmac_id,
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
93
int (*mac_get_rx_stats)(void *cgx, int lmac_id,
drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
95
int (*mac_get_tx_stats)(void *cgx, int lmac_id,
drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c
860
int cgx, lmac, port;
drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c
863
cgx = port / rvu->hw->lmac_per_cgx;
drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c
865
if (!is_lmac_valid(rvu_cgx_pdata(cgx, rvu), lmac))
drivers/net/ethernet/marvell/octeontx2/af/rvu.h
1118
u32 rvu_cgx_get_lmac_fifolen(struct rvu *rvu, int cgx, int lmac);
drivers/net/ethernet/marvell/octeontx2/af/rvu.h
439
u8 cgx;
drivers/net/ethernet/marvell/octeontx2/af/rvu.h
94
struct dentry *cgx;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
128
int cgx, lmac, iter;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
1345
struct cgx *cgxd;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
1346
u8 cgx, lmac;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
1351
rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx, &lmac);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
1352
cgxd = rvu_cgx_pdata(cgx, rvu);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
158
for (cgx = 0; cgx < cgx_cnt_max; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
159
if (!rvu_cgx_pdata(cgx, rvu))
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
161
lmac_bmap = cgx_get_lmac_bmap(rvu_cgx_pdata(cgx, rvu));
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
165
lmac = cgx_get_lmacid(rvu_cgx_pdata(cgx, rvu),
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
167
rvu->pf2cgxlmac_map[pf] = cgxlmac_id_to_bmap(cgx, lmac);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
168
rvu->cgxlmac2pf_map[CGX_OFFSET(cgx) + lmac] = 1 << pf;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
171
rvu_map_cgx_nix_block(rvu, pf, cgx, lmac);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
312
int cgx, lmac, err;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
327
for (cgx = 0; cgx <= rvu->cgx_cnt_max; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
328
cgxd = rvu_cgx_pdata(cgx, rvu);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
337
cgx, lmac);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
355
int cgx, err;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
373
for (cgx = 0; cgx < rvu->cgx_cnt_max; cgx++)
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
374
rvu->cgx_idmap[cgx] = cgx_get_pdata(cgx);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
382
for (cgx = 0; cgx < rvu->cgx_cnt_max; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
383
cgxd = rvu_cgx_pdata(cgx, rvu);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
404
int cgx, lmac, err;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
408
for (cgx = 0; cgx <= rvu->cgx_cnt_max; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
409
cgxd = rvu_cgx_pdata(cgx, rvu);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
419
for (cgx = 0; cgx <= rvu->cgx_cnt_max; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
420
cgxd = rvu_cgx_pdata(cgx, rvu);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
427
cgx);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
434
int cgx, lmac;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
437
for (cgx = 0; cgx <= rvu->cgx_cnt_max; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
438
cgxd = rvu_cgx_pdata(cgx, rvu);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
955
u32 rvu_cgx_get_lmac_fifolen(struct rvu *rvu, int cgx, int lmac)
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
960
cgxd = rvu_cgx_pdata(cgx, rvu);
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
311
hw->cgx = (nix_const >> 12) & 0xFULL;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
313
hw->cgx_links = hw->cgx * hw->lmac_per_cgx;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
537
int cgx, lmac;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
539
for (cgx = 0; cgx < rvu->cgx_cnt_max; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
541
__rvu_rpm_set_channels(cgx, lmac, base);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3123
void *cgx;
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3136
cgx = rvu_cgx_pdata(i, rvu);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3137
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3139
lmac_bmap = cgx_get_lmac_bmap(cgx);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3142
rvu->rvu_dbg.cgx = debugfs_create_dir(dname,
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3149
debugfs_create_dir(dname, rvu->rvu_dbg.cgx);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3152
cgx, lmac_id, &rvu_dbg_cgx_stat_fops);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3154
rvu->rvu_dbg.lmac, cgx, lmac_id,
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3157
rvu->rvu_dbg.lmac, cgx,
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
821
char cgx[10], lmac[10], chan[10];
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
845
cgx[0] = 0;
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
857
sprintf(cgx, "%s%d", mac_ops->name, cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
862
dev_name(&pdev->dev), pcifunc, blkid, cgx, lmac,
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4618
u8 cgx = 0, lmac = 0;
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4652
rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx, &lmac);
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4653
link = (cgx * hw->lmac_per_cgx) + lmac;
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4723
int cgx, lmac_cnt, slink, link;
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4766
for (cgx = 0; cgx < hw->cgx; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4767
lmac_cnt = cgx_get_lmac_cnt(rvu_cgx_pdata(cgx, rvu));
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4771
slink = cgx * hw->lmac_per_cgx;
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4774
lmac_bmap = cgx_get_lmac_bmap(rvu_cgx_pdata(cgx, rvu));
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4776
lmac_fifo_len = rvu_cgx_get_lmac_fifolen(rvu, cgx, iter);
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4780
__func__, cgx, iter);