cgx                49 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx;
cgx                74 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static int cgx_fwi_link_change(struct cgx *cgx, int lmac_id, bool en);
cgx                84 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static void cgx_write(struct cgx *cgx, u64 lmac, u64 offset, u64 val)
cgx                86 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	writeq(val, cgx->reg_base + (lmac << 18) + offset);
cgx                89 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static u64 cgx_read(struct cgx *cgx, u64 lmac, u64 offset)
cgx                91 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	return readq(cgx->reg_base + (lmac << 18) + offset);
cgx                94 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static inline struct lmac *lmac_pdata(u8 lmac_id, struct cgx *cgx)
cgx                96 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx || lmac_id >= MAX_LMAC_PER_CGX)
cgx                99 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	return cgx->lmac_idmap[lmac_id];
cgx               104 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx_dev;
cgx               120 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgxd;
cgx               122 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx)
cgx               125 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	return cgx->lmac_count;
cgx               131 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx_dev;
cgx               171 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
cgx               192 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
cgx               202 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgxd;
cgx               204 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx || lmac_id >= cgx->lmac_count)
cgx               207 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx_write(cgx, lmac_id, CGXX_CMRX_RX_ID_MAP, (pkind & 0x3F));
cgx               212 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static inline u8 cgx_get_lmac_type(struct cgx *cgx, int lmac_id)
cgx               216 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
cgx               223 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgxd;
cgx               227 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx || lmac_id >= cgx->lmac_count)
cgx               230 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	lmac_type = cgx_get_lmac_type(cgx, lmac_id);
cgx               232 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cfg = cgx_read(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL);
cgx               237 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx_write(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL, cfg);
cgx               239 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cfg = cgx_read(cgx, lmac_id, CGXX_SPUX_CONTROL1);
cgx               244 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx_write(cgx, lmac_id, CGXX_SPUX_CONTROL1, cfg);
cgx               252 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgx_get_pdata(cgx_id);
cgx               255 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx)
cgx               260 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0);
cgx               263 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg);
cgx               265 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cfg = cgx_read(cgx, 0,
cgx               268 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx_write(cgx, 0,
cgx               272 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0);
cgx               274 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg);
cgx               275 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cfg = cgx_read(cgx, 0,
cgx               278 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx_write(cgx, 0,
cgx               286 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgxd;
cgx               288 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx || lmac_id >= cgx->lmac_count)
cgx               290 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	*rx_stat =  cgx_read(cgx, lmac_id, CGXX_CMRX_RX_STAT0 + (idx * 8));
cgx               297 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgxd;
cgx               299 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx || lmac_id >= cgx->lmac_count)
cgx               301 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	*tx_stat = cgx_read(cgx, lmac_id, CGXX_CMRX_TX_STAT0 + (idx * 8));
cgx               308 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgxd;
cgx               311 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx || lmac_id >= cgx->lmac_count)
cgx               314 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
cgx               319 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg);
cgx               327 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = lmac->cgx;
cgx               338 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cmd = cgx_read(cgx, lmac->lmac_id,  CGX_COMMAND_REG);
cgx               351 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx_write(cgx, lmac->lmac_id, CGX_COMMAND_REG, req);
cgx               356 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		dev = &cgx->pdev->dev;
cgx               358 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 			cgx->cgx_id, lmac->lmac_id);
cgx               374 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 				      struct cgx *cgx, int lmac_id)
cgx               379 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	lmac = lmac_pdata(lmac_id, cgx);
cgx               425 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 					   struct cgx *cgx, u8 lmac_id)
cgx               432 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	linfo->lmac_type_id = cgx_get_lmac_type(cgx, lmac_id);
cgx               442 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = lmac->cgx;
cgx               447 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	dev = &cgx->pdev->dev;
cgx               449 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	link_status_user_format(lstat, &event.link_uinfo, cgx, lmac->lmac_id);
cgx               452 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	event.cgx_id = cgx->cgx_id;
cgx               464 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 			cgx->cgx_id, lmac->lmac_id);
cgx               467 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 				cgx->cgx_id, lmac->lmac_id, err_type);
cgx               470 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 			 cgx->cgx_id, lmac->lmac_id,
cgx               502 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 					   struct cgx *cgx)
cgx               509 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	err = cgx_fwi_cmd_generic(req, &resp, cgx, 0);
cgx               517 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 					     struct cgx *cgx)
cgx               524 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	err = cgx_fwi_cmd_generic(req, &resp, cgx, 0);
cgx               533 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx_dev;
cgx               539 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx_dev = list_first_entry(&cgx_list, struct cgx, cgx_list);
cgx               558 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx;
cgx               561 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx = lmac->cgx;
cgx               563 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	event = cgx_read(cgx, lmac->lmac_id, CGX_EVENT_REG);
cgx               597 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx_write(lmac->cgx, lmac->lmac_id, CGX_EVENT_REG, 0);
cgx               598 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx_write(lmac->cgx, lmac->lmac_id, CGXX_CMRX_INT, FW_CGX_INT);
cgx               608 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgxd;
cgx               611 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	lmac = lmac_pdata(lmac_id, cgx);
cgx               625 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgxd;
cgx               627 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	lmac = lmac_pdata(lmac_id, cgx);
cgx               640 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static int cgx_fwi_link_change(struct cgx *cgx, int lmac_id, bool enable)
cgx               650 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	return cgx_fwi_cmd_generic(req, &resp, cgx, lmac_id);
cgx               653 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static inline int cgx_fwi_read_version(u64 *resp, struct cgx *cgx)
cgx               658 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	return cgx_fwi_cmd_generic(req, resp, cgx, 0);
cgx               661 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static int cgx_lmac_verify_fwi_version(struct cgx *cgx)
cgx               663 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct device *dev = &cgx->pdev->dev;
cgx               668 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx->lmac_count)
cgx               671 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	err = cgx_fwi_read_version(&resp, cgx);
cgx               688 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = container_of(work, struct cgx, cgx_cmd_work);
cgx               689 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct device *dev = &cgx->pdev->dev;
cgx               693 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	for (i = 0; i < cgx->lmac_count; i++) {
cgx               694 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		err = cgx_fwi_link_change(cgx, i, true);
cgx               697 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 				 cgx->cgx_id, i);
cgx               703 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = cgxd;
cgx               705 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx)
cgx               708 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	queue_work(cgx->cgx_cmd_workq, &cgx->cgx_cmd_work);
cgx               714 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static int cgx_lmac_init(struct cgx *cgx)
cgx               719 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx->lmac_count = cgx_read(cgx, 0, CGXX_CMRX_RX_LMACS) & 0x7;
cgx               720 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (cgx->lmac_count > MAX_LMAC_PER_CGX)
cgx               721 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx->lmac_count = MAX_LMAC_PER_CGX;
cgx               723 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	for (i = 0; i < cgx->lmac_count; i++) {
cgx               730 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		sprintf(lmac->name, "cgx_fwi_%d_%d", cgx->cgx_id, i);
cgx               732 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		lmac->cgx = cgx;
cgx               736 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		err = request_irq(pci_irq_vector(cgx->pdev,
cgx               743 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx_write(cgx, lmac->lmac_id, CGXX_CMRX_INT_ENA_W1S,
cgx               747 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx->lmac_idmap[i] = lmac;
cgx               750 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	return cgx_lmac_verify_fwi_version(cgx);
cgx               753 drivers/net/ethernet/marvell/octeontx2/af/cgx.c static int cgx_lmac_exit(struct cgx *cgx)
cgx               758 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (cgx->cgx_cmd_workq) {
cgx               759 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		flush_workqueue(cgx->cgx_cmd_workq);
cgx               760 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		destroy_workqueue(cgx->cgx_cmd_workq);
cgx               761 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		cgx->cgx_cmd_workq = NULL;
cgx               765 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	for (i = 0; i < cgx->lmac_count; i++) {
cgx               766 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		lmac = cgx->lmac_idmap[i];
cgx               769 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 		free_irq(pci_irq_vector(cgx->pdev, CGX_LMAC_FWI + i * 9), lmac);
cgx               780 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx;
cgx               783 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx = devm_kzalloc(dev, sizeof(*cgx), GFP_KERNEL);
cgx               784 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx)
cgx               786 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx->pdev = pdev;
cgx               788 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	pci_set_drvdata(pdev, cgx);
cgx               804 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx->reg_base = pcim_iomap(pdev, PCI_CFG_REG_BAR_NUM, 0);
cgx               805 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx->reg_base) {
cgx               819 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx->cgx_id = (pci_resource_start(pdev, PCI_CFG_REG_BAR_NUM) >> 24)
cgx               823 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	INIT_WORK(&cgx->cgx_cmd_work, cgx_lmac_linkup_work);
cgx               824 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx->cgx_cmd_workq = alloc_workqueue("cgx_cmd_workq", 0, 0);
cgx               825 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	if (!cgx->cgx_cmd_workq) {
cgx               831 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	list_add(&cgx->cgx_list, &cgx_list);
cgx               835 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	err = cgx_lmac_init(cgx);
cgx               842 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx_lmac_exit(cgx);
cgx               843 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	list_del(&cgx->cgx_list);
cgx               856 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	struct cgx *cgx = pci_get_drvdata(pdev);
cgx               858 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	cgx_lmac_exit(cgx);
cgx               859 drivers/net/ethernet/marvell/octeontx2/af/cgx.c 	list_del(&cgx->cgx_list);
cgx               200 drivers/net/ethernet/marvell/octeontx2/af/rvu.h 	u8	cgx;
cgx                65 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 	int cgx, lmac_cnt, lmac;
cgx                95 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 	for (cgx = 0; cgx < cgx_cnt_max; cgx++) {
cgx                96 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 		if (!rvu_cgx_pdata(cgx, rvu))
cgx                98 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 		lmac_cnt = cgx_get_lmac_cnt(rvu_cgx_pdata(cgx, rvu));
cgx               100 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 			rvu->pf2cgxlmac_map[pf] = cgxlmac_id_to_bmap(cgx, lmac);
cgx               101 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 			rvu->cgxlmac2pf_map[CGX_OFFSET(cgx) + lmac] = 1 << pf;
cgx               224 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 	int cgx, lmac, err;
cgx               239 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 	for (cgx = 0; cgx <= rvu->cgx_cnt_max; cgx++) {
cgx               240 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 		cgxd = rvu_cgx_pdata(cgx, rvu);
cgx               248 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 					cgx, lmac);
cgx               266 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 	int cgx, err;
cgx               284 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 	for (cgx = 0; cgx < rvu->cgx_cnt_max; cgx++)
cgx               285 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 		rvu->cgx_idmap[cgx] = cgx_get_pdata(cgx);
cgx               303 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 	for (cgx = 0; cgx <= rvu->cgx_cnt_max; cgx++) {
cgx               304 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 		cgxd = rvu_cgx_pdata(cgx, rvu);
cgx               311 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 				cgx);
cgx               319 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 	int cgx, lmac;
cgx               322 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 	for (cgx = 0; cgx <= rvu->cgx_cnt_max; cgx++) {
cgx               323 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c 		cgxd = rvu_cgx_pdata(cgx, rvu);
cgx              2377 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 	u8 cgx = 0, lmac = 0;
cgx              2423 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 		rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx, &lmac);
cgx              2424 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 		link = (cgx * hw->lmac_per_cgx) + lmac;
cgx              2447 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 		CGX_FIFO_LEN / cgx_get_lmac_cnt(rvu_cgx_pdata(cgx, rvu));
cgx              2561 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 	int cgx, lmac_cnt, slink, link;
cgx              2584 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 	for (cgx = 0; cgx < hw->cgx; cgx++) {
cgx              2585 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 		lmac_cnt = cgx_get_lmac_cnt(rvu_cgx_pdata(cgx, rvu));
cgx              2589 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 		slink = cgx * hw->lmac_per_cgx;
cgx              2722 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 	hw->cgx = (cfg >> 12) & 0xF;
cgx              2724 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c 	hw->cgx_links = hw->cgx * hw->lmac_per_cgx;