Symbol: cgx
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1003
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1006
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1013
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
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
cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1037
cfg = cgx_lmac_addr_get(cgx->cgx_id, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1038
cgx_write(cgx, lmac_id, CGXX_SMUX_SMAC, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1046
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1049
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1052
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1062
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1065
if (!cgx)
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
1070
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1072
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1074
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1076
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1079
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1081
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1083
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1085
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1092
struct cgx *cgx = lmac->cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1103
cmd = cgx_read(cgx, lmac->lmac_id, CGX_COMMAND_REG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1116
cgx_write(cgx, lmac->lmac_id, CGX_COMMAND_REG, req);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1121
dev = &cgx->pdev->dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1123
cgx->cgx_id, lmac->lmac_id, FIELD_GET(CMDREG_ID, req));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1138
int cgx_fwi_cmd_generic(u64 req, u64 *resp, struct cgx *cgx, int lmac_id)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1143
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
1307
struct cgx *cgx, u8 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
1322
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
1323
linfo->lmac_type_id, cgx->cgx_id, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1337
struct cgx *cgx = lmac->cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1342
dev = &cgx->pdev->dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1344
link_status_user_format(lstat, &event.link_uinfo, cgx, lmac->lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1347
event.cgx_id = cgx->cgx_id;
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
1362
cgx->cgx_id, lmac->lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1365
cgx->cgx_id, lmac->lmac_id, err_type);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1368
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
1404
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1406
cgx = lmac->cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1409
offset = cgx->mac_ops->int_register;
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
1410
clear_bit = cgx->mac_ops->int_ena_bit;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1412
event = cgx_read(cgx, lmac->lmac_id, CGX_EVENT_REG);
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
1446
cgx_write(lmac->cgx, lmac->lmac_id, CGX_EVENT_REG, 0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1447
cgx_write(lmac->cgx, lmac->lmac_id, offset, clear_bit);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1457
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
146
return cgx->lmac_idmap[lmac_id];
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1460
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1473
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1475
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1490
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1494
cgx = list_first_entry_or_null(&cgx_list, struct cgx, cgx_list);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1495
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1498
first_lmac = find_first_bit(&cgx->lmac_bmap, cgx->max_lmac_per_mac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1500
err = cgx_fwi_cmd_generic(req, &resp, cgx, first_lmac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
151
struct cgx *cgx_dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1511
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1515
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1540
return cgx_fwi_cmd_generic(req, &resp, cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1545
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1548
cgx = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1549
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1554
err = cgx_fwi_cmd_generic(req, &resp, cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1558
cgx->lmac_idmap[lmac_id]->link_info.fec =
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1560
return cgx->lmac_idmap[lmac_id]->link_info.fec;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1565
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1568
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1572
return cgx_fwi_cmd_generic(req, &resp, cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1575
static int cgx_fwi_link_change(struct cgx *cgx, int lmac_id, bool enable)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1587
if (!is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1593
return cgx_fwi_cmd_generic(req, &resp, cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1596
static inline int cgx_fwi_read_version(u64 *resp, struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1598
int first_lmac = find_first_bit(&cgx->lmac_bmap, cgx->max_lmac_per_mac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1602
return cgx_fwi_cmd_generic(req, resp, cgx, first_lmac);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1605
static int cgx_lmac_verify_fwi_version(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1607
struct device *dev = &cgx->pdev->dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1612
if (!cgx->lmac_count)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1615
err = cgx_fwi_read_version(&resp, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1631
struct cgx *cgx = container_of(work, struct cgx, cgx_cmd_work);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1632
struct device *dev = &cgx->pdev->dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1636
for_each_set_bit(i, &cgx->lmac_bmap, cgx->max_lmac_per_mac) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1637
err = cgx_fwi_link_change(cgx, i, true);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1640
cgx->cgx_id, i);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1646
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1648
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1651
queue_work(cgx->cgx_cmd_workq, &cgx->cgx_cmd_work);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1658
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
166
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1661
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1673
static int cgx_configure_interrupt(struct cgx *cgx, struct lmac *lmac,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1676
struct mac_ops *mac_ops = cgx->mac_ops;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
168
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1681
irq = pci_irq_vector(cgx->pdev, mac_ops->lmac_fwi +
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1696
cgx_write(cgx, lmac->lmac_id, offset, ena_bit);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1702
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1704
return cgx_read(cgx, 0, CGXX_CMRX_RX_LMACS) & 0x7ULL;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1709
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
171
return cgx->lmac_count;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1711
return cgx->lmac_idmap[lmac_index]->lmac_id;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1716
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1718
return cgx->lmac_bmap;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1721
static int cgx_lmac_init(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1732
if (cgx->mac_ops->non_contiguous_serdes_lane) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1733
if (is_dev_rpm2(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1735
cgx_read(cgx, 0, RPM2_CMRX_RX_LMACS) & 0xFFULL;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1738
cgx_read(cgx, 0, CGXX_CMRX_RX_LMACS) & 0xFULL;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1741
if (cgx->lmac_count > cgx->max_lmac_per_mac)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1742
cgx->lmac_count = cgx->max_lmac_per_mac;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1744
for (i = 0; i < cgx->lmac_count; i++) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1753
sprintf(lmac->name, "cgx_fwi_%u_%u", cgx->cgx_id, i);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1754
if (cgx->mac_ops->non_contiguous_serdes_lane) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
176
struct cgx *cgx_dev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1761
lmac->cgx = cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1763
cgx->mac_ops->dmac_filter_count /
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1764
cgx->lmac_count;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1788
err = cgx_configure_interrupt(cgx, lmac, lmac->lmac_id, false);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1793
cgx->lmac_idmap[lmac->lmac_id] = lmac;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1794
set_bit(lmac->lmac_id, &cgx->lmac_bmap);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1795
cgx->mac_ops->mac_pause_frm_config(cgx, lmac->lmac_id, true);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1796
lmac->lmac_type = cgx->mac_ops->get_lmac_type(cgx, lmac->lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1800
cgx_lmac_addr_del(cgx->cgx_id, lmac->lmac_id, filter);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1805
cgx_lmac_addr_reset(cgx->cgx_id, lmac->lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1809
cgx->mac_ops->mac_x2p_reset(cgx, true);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1810
return cgx_lmac_verify_fwi_version(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1825
static int cgx_lmac_exit(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1830
if (cgx->cgx_cmd_workq) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1831
destroy_workqueue(cgx->cgx_cmd_workq);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1832
cgx->cgx_cmd_workq = NULL;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1836
for_each_set_bit(i, &cgx->lmac_bmap, cgx->max_lmac_per_mac) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1837
lmac = cgx->lmac_idmap[i];
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1840
cgx->mac_ops->mac_pause_frm_config(cgx, lmac->lmac_id, false);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1841
cgx_configure_interrupt(cgx, lmac, lmac->lmac_id, true);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1852
static void cgx_populate_features(struct cgx *cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1856
cfg = cgx_read(cgx, 0, CGX_CONST);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1857
cgx->fifo_len = FIELD_GET(CGX_CONST_RXFIFO_SIZE, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1858
cgx->max_lmac_per_mac = FIELD_GET(CGX_CONST_MAX_LMACS, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1860
if (is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1861
cgx->hw_features = (RVU_LMAC_FEAT_DMACF | RVU_MAC_RPM |
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1864
cgx->hw_features = (RVU_LMAC_FEAT_FC | RVU_LMAC_FEAT_HIGIG2 |
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1868
static u8 cgx_get_rxid_mapoffset(struct cgx *cgx)
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
1870
if (cgx->pdev->subsystem_device == PCI_SUBSYS_DEVID_CNF10KB_RPM ||
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1871
is_dev_rpm2(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1879
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1884
for_each_set_bit(lmac_id, &cgx->lmac_bmap, cgx->max_lmac_per_mac)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1885
cgx->mac_ops->mac_enadis_rx(cgx, lmac_id, false);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1889
cfg = cgx_read(cgx, 0, CGXX_CMR_GLOBAL_CONFIG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1890
cfg |= cgx_get_nix_resetbit(cgx) | CGX_NSCI_DROP;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1891
cgx_write(cgx, 0, CGXX_CMR_GLOBAL_CONFIG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1893
cfg = cgx_read(cgx, 0, CGXX_CMR_GLOBAL_CONFIG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1894
cfg &= ~(cgx_get_nix_resetbit(cgx) | CGX_NSCI_DROP);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1895
cgx_write(cgx, 0, CGXX_CMR_GLOBAL_CONFIG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1901
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1904
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1907
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1912
cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1954
struct cgx *cgx;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1957
cgx = devm_kzalloc(dev, sizeof(*cgx), GFP_KERNEL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1958
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1960
cgx->pdev = pdev;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1962
pci_set_drvdata(pdev, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1965
if (is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1966
cgx->mac_ops = rpm_get_mac_ops(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1968
cgx->mac_ops = &cgx_mac_ops;
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
1970
cgx->mac_ops->rxid_map_offset = cgx_get_rxid_mapoffset(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1992
cgx->reg_base = pcim_iomap(pdev, PCI_CFG_REG_BAR_NUM, 0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
1993
if (!cgx->reg_base) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2000
!is_cgx_mapped_to_nix(pdev->subsystem_device, cgx->cgx_id)) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2002
cgx->cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2007
cgx->lmac_count = cgx->mac_ops->get_nr_lmacs(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2008
if (!cgx->lmac_count) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2009
dev_notice(dev, "CGX %d LMAC count is zero, skipping probe\n", cgx->cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2014
nvec = pci_msix_vec_count(cgx->pdev);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2022
cgx->cgx_id = (pci_resource_start(pdev, PCI_CFG_REG_BAR_NUM) >> 24)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2026
INIT_WORK(&cgx->cgx_cmd_work, cgx_lmac_linkup_work);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2027
cgx->cgx_cmd_workq = alloc_workqueue("cgx_cmd_workq", WQ_PERCPU, 0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2028
if (!cgx->cgx_cmd_workq) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2034
list_add(&cgx->cgx_list, &cgx_list);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2037
cgx_populate_features(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2039
mutex_init(&cgx->lock);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2041
err = cgx_lmac_init(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
2062
struct cgx *cgx = pci_get_drvdata(pdev);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2064
if (cgx) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2065
cgx_lmac_exit(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
2066
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
525
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
528
*pkind = cgx_read(cgx, lmac_id, cgx->mac_ops->rxid_map_offset);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
535
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
538
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
544
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
548
fifo_len = cgx->fifo_len;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
549
num_lmacs = cgx->mac_ops->get_nr_lmacs(cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
571
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
575
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
578
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
581
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
586
cgx_write(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
588
cfg = cgx_read(cgx, lmac_id, CGXX_SPUX_CONTROL1);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
593
cgx_write(cgx, lmac_id, CGXX_SPUX_CONTROL1, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
600
struct cgx *cgx = cgx_get_pdata(cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
601
struct lmac *lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
608
if (!cgx || !lmac)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
612
id = get_sequence_id_of_lmac(cgx, lmac_id);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
614
mac_ops = cgx->mac_ops;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
617
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
620
cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
624
cfg = cgx_read(cgx, 0,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
627
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
632
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
634
cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
637
cfg = cgx_read(cgx, 0,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
641
cgx_write(cgx, 0,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
653
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
656
if (is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
659
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
662
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
665
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
673
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
679
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
682
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
690
cgx_lmac_get_pause_frm_status(cgx, lmac_id, &rx_pause, &tx_pause);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
695
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
697
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
699
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
701
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
703
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
705
cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
710
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
712
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
714
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
716
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
718
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
720
cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
727
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
729
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
736
*rx_stat = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_STAT0 + (idx * 8));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
742
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
744
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
746
*tx_stat = cgx_read(cgx, lmac_id, CGXX_CMRX_TX_STAT0 + (idx * 8));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
752
return ((struct cgx *)cgxd)->hw_features;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
757
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
760
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
766
cgx_write(cgx, 0,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
769
cgx_write(cgx, lmac_id,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
774
cgx_write(cgx, lmac_id, CGXX_CMRX_TX_STAT0 + (stat_id * 8), 0);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
811
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
813
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
816
if (cgx->lmac_idmap[lmac_id]->link_info.fec == OTX2_FEC_NONE)
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
820
cgx_set_fec_stats_count(&cgx->lmac_idmap[lmac_id]->link_info);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
821
if (cgx->lmac_idmap[lmac_id]->link_info.fec == OTX2_FEC_BASER) {
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
830
cgx_read(cgx, lmac_id, corr_reg + (stats * 8));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
832
cgx_read(cgx, lmac_id, uncorr_reg + (stats * 8));
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
839
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
842
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
845
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
850
cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
856
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
859
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
862
cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
87
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
870
cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
877
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
880
if (is_dev_rpm(cgx))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
883
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
886
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
889
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
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
891
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
894
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
896
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
899
cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, 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
901
cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
908
cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
914
struct cgx *cgx = cgxd;
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
917
if (!is_lmac_valid(cgx, lmac_id))
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
922
cgx_write(cgx, lmac_id, CGXX_SMUX_TX_PAUSE_PKT_TIME,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
924
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_PAUSE_PKT_INTERVAL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
926
cgx_write(cgx, lmac_id, CGXX_SMUX_TX_PAUSE_PKT_INTERVAL,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
929
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_TX_PAUSE_PKT_TIME,
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
932
cfg = cgx_read(cgx, lmac_id,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
935
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_TX_PAUSE_PKT_INTERVAL,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
940
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
942
cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
944
cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
946
cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
949
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL);
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
951
cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
953
cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
956
cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
959
cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
961
cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
967
struct cgx *cgx = cgxd;
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
970
lmac = lmac_pdata(lmac_id, cgx);
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
986
dev_warn(&cgx->pdev->dev,
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
992
dev_warn(&cgx->pdev->dev,
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
1130
u32 rvu_cgx_get_lmac_fifolen(struct rvu *rvu, int cgx, int lmac);
drivers/net/ethernet/marvell/octeontx2/af/rvu.h
440
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
1402
struct cgx *cgxd;
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
320
hw->cgx = (nix_const >> 12) & 0xFULL;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
322
hw->cgx_links = hw->cgx * hw->lmac_per_cgx;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
546
int cgx, lmac;
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
548
for (cgx = 0; cgx < rvu->cgx_cnt_max; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
550
__rvu_rpm_set_channels(cgx, lmac, base);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3105
void *cgx;
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3118
cgx = rvu_cgx_pdata(i, rvu);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3119
if (!cgx)
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3121
lmac_bmap = cgx_get_lmac_bmap(cgx);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3124
rvu->rvu_dbg.cgx = debugfs_create_dir(dname,
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3132
ctx->cgxd = cgx;
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3138
debugfs_create_dir(dname, rvu->rvu_dbg.cgx);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
824
char cgx[10], lmac[10], chan[10];
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
848
cgx[0] = 0;
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
860
sprintf(cgx, "%s%d", mac_ops->name, cgx_id);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
865
dev_name(&pdev->dev), pcifunc, blkid, cgx, lmac,
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
1516
struct cgx *cgxd;
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4667
u8 cgx = 0, lmac = 0;
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4701
rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx, &lmac);
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4702
link = (cgx * hw->lmac_per_cgx) + lmac;
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4772
int cgx, lmac_cnt, slink, link;
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4815
for (cgx = 0; cgx < hw->cgx; cgx++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4816
lmac_cnt = cgx_get_lmac_cnt(rvu_cgx_pdata(cgx, rvu));
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4820
slink = cgx * hw->lmac_per_cgx;
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4823
lmac_bmap = cgx_get_lmac_bmap(rvu_cgx_pdata(cgx, rvu));
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4825
lmac_fifo_len = rvu_cgx_get_lmac_fifolen(rvu, cgx, iter);
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
4829
__func__, cgx, iter);
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
4208
struct cgx *cgxd;