Lines Matching full:cfg
203 u64 cfg; in cgx_lmac_get_p2x() local
205 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_CFG); in cgx_lmac_get_p2x()
207 return (cfg & CMR_P2X_SEL_MASK) >> CMR_P2X_SEL_SHIFT; in cgx_lmac_get_p2x()
233 u64 cfg; in cgx_lmac_addr_set() local
242 /* memcpy(&cfg, mac_addr, 6); */ in cgx_lmac_addr_set()
244 cfg = ether_addr_to_u64(mac_addr); in cgx_lmac_addr_set()
251 cfg | CGX_DMAC_CAM_ADDR_ENABLE | ((u64)lmac_id << 49)); in cgx_lmac_addr_set()
253 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_set()
254 cfg |= (CGX_DMAC_CTL0_CAM_ENABLE | CGX_DMAC_BCAST_MODE | in cgx_lmac_addr_set()
256 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_set()
295 u64 cfg = 0; in cgx_lmac_addr_add() local
311 cfg = ether_addr_to_u64(mac_addr); in cgx_lmac_addr_add()
312 cfg |= CGX_DMAC_CAM_ADDR_ENABLE; in cgx_lmac_addr_add()
313 cfg |= ((u64)lmac_id << 49); in cgx_lmac_addr_add()
314 cgx_write(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8)), cfg); in cgx_lmac_addr_add()
316 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_add()
317 cfg |= (CGX_DMAC_BCAST_MODE | CGX_DMAC_CAM_ACCEPT); in cgx_lmac_addr_add()
320 cfg &= ~GENMASK_ULL(2, 1); in cgx_lmac_addr_add()
321 cfg |= CGX_DMAC_MCAST_MODE_CAM; in cgx_lmac_addr_add()
324 cfg |= CGX_DMAC_MCAST_MODE; in cgx_lmac_addr_add()
327 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_add()
338 u64 cfg; in cgx_lmac_addr_reset() local
355 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_reset()
356 cfg &= ~CGX_DMAC_CAM_ACCEPT; in cgx_lmac_addr_reset()
357 cfg |= (CGX_DMAC_BCAST_MODE | CGX_DMAC_MCAST_MODE); in cgx_lmac_addr_reset()
358 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_reset()
372 u64 cfg; in cgx_lmac_addr_update() local
392 cfg = cgx_read(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8))); in cgx_lmac_addr_update()
393 cfg &= ~CGX_RX_DMAC_ADR_MASK; in cgx_lmac_addr_update()
394 cfg |= ether_addr_to_u64(mac_addr); in cgx_lmac_addr_update()
396 cgx_write(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8)), cfg); in cgx_lmac_addr_update()
406 u64 cfg; in cgx_lmac_addr_del() local
428 cfg = cgx_read(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8))); in cgx_lmac_addr_del()
430 u64_to_ether_addr(cfg, mac); in cgx_lmac_addr_del()
435 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_del()
436 cfg &= ~GENMASK_ULL(2, 1); in cgx_lmac_addr_del()
437 cfg |= CGX_DMAC_MCAST_MODE; in cgx_lmac_addr_del()
438 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_del()
463 u64 cfg; in cgx_lmac_addr_get() local
472 cfg = cgx_read(cgx_dev, 0, CGXX_CMRX_RX_DMAC_CAM0 + index * 0x8); in cgx_lmac_addr_get()
473 return cfg & CGX_RX_DMAC_ADR_MASK; in cgx_lmac_addr_get()
490 u64 cfg; in cgx_get_lmac_type() local
492 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_get_lmac_type()
493 return (cfg >> CGX_LMAC_TYPE_SHIFT) & CGX_LMAC_TYPE_MASK; in cgx_get_lmac_type()
527 u64 cfg; in cgx_lmac_internal_loopback() local
535 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL); in cgx_lmac_internal_loopback()
537 cfg |= CGXX_GMP_PCS_MRX_CTL_LBK; in cgx_lmac_internal_loopback()
539 cfg &= ~CGXX_GMP_PCS_MRX_CTL_LBK; in cgx_lmac_internal_loopback()
540 cgx_write(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL, cfg); in cgx_lmac_internal_loopback()
542 cfg = cgx_read(cgx, lmac_id, CGXX_SPUX_CONTROL1); in cgx_lmac_internal_loopback()
544 cfg |= CGXX_SPUX_CONTROL1_LBK; in cgx_lmac_internal_loopback()
546 cfg &= ~CGXX_SPUX_CONTROL1_LBK; in cgx_lmac_internal_loopback()
547 cgx_write(cgx, lmac_id, CGXX_SPUX_CONTROL1, cfg); in cgx_lmac_internal_loopback()
559 u64 cfg = 0; in cgx_lmac_promisc_config() local
571 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_promisc_config()
572 cfg &= ~CGX_DMAC_CAM_ACCEPT; in cgx_lmac_promisc_config()
573 cfg |= (CGX_DMAC_BCAST_MODE | CGX_DMAC_MCAST_MODE); in cgx_lmac_promisc_config()
574 cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_promisc_config()
578 cfg = cgx_read(cgx, 0, in cgx_lmac_promisc_config()
580 cfg &= ~CGX_DMAC_CAM_ADDR_ENABLE; in cgx_lmac_promisc_config()
582 (CGXX_CMRX_RX_DMAC_CAM0 + index * 0x8), cfg); in cgx_lmac_promisc_config()
586 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_promisc_config()
587 cfg |= CGX_DMAC_CAM_ACCEPT | CGX_DMAC_MCAST_MODE; in cgx_lmac_promisc_config()
588 cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_promisc_config()
591 cfg = cgx_read(cgx, 0, in cgx_lmac_promisc_config()
593 if ((cfg & CGX_RX_DMAC_ADR_MASK) != 0) { in cgx_lmac_promisc_config()
594 cfg |= CGX_DMAC_CAM_ADDR_ENABLE; in cgx_lmac_promisc_config()
598 cfg); in cgx_lmac_promisc_config()
608 u64 cfg; in cgx_lmac_get_pause_frm_status() local
616 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_get_pause_frm_status()
617 *rx_pause = !!(cfg & CGX_SMUX_RX_FRM_CTL_CTL_BCK); in cgx_lmac_get_pause_frm_status()
619 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL); in cgx_lmac_get_pause_frm_status()
620 *tx_pause = !!(cfg & CGX_SMUX_TX_CTL_L2P_BP_CONV); in cgx_lmac_get_pause_frm_status()
631 u64 cfg; in cgx_lmac_enadis_rx_pause_fwding() local
649 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
650 cfg |= CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
651 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
653 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
654 cfg |= CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
655 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
657 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_enadis_rx_pause_fwding()
658 cfg |= CGXX_SMUX_CBFC_CTL_BCK_EN; in cgx_lmac_enadis_rx_pause_fwding()
659 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
664 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
665 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
666 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
668 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
669 cfg &= ~CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
670 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
672 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_enadis_rx_pause_fwding()
673 cfg &= ~CGXX_SMUX_CBFC_CTL_BCK_EN; in cgx_lmac_enadis_rx_pause_fwding()
674 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
765 u64 cfg; in cgx_lmac_rx_tx_enable() local
770 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_lmac_rx_tx_enable()
772 cfg |= DATA_PKT_RX_EN | DATA_PKT_TX_EN; in cgx_lmac_rx_tx_enable()
774 cfg &= ~(DATA_PKT_RX_EN | DATA_PKT_TX_EN); in cgx_lmac_rx_tx_enable()
775 cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg); in cgx_lmac_rx_tx_enable()
782 u64 cfg, last; in cgx_lmac_tx_enable() local
787 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_lmac_tx_enable()
788 last = cfg; in cgx_lmac_tx_enable()
790 cfg |= DATA_PKT_TX_EN; in cgx_lmac_tx_enable()
792 cfg &= ~DATA_PKT_TX_EN; in cgx_lmac_tx_enable()
794 if (cfg != last) in cgx_lmac_tx_enable()
795 cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg); in cgx_lmac_tx_enable()
803 u64 cfg; in cgx_lmac_enadis_pause_frm() local
811 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_enadis_pause_frm()
812 cfg &= ~CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_pause_frm()
813 cfg |= rx_pause ? CGX_SMUX_RX_FRM_CTL_CTL_BCK : 0x0; in cgx_lmac_enadis_pause_frm()
814 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_enadis_pause_frm()
816 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL); in cgx_lmac_enadis_pause_frm()
817 cfg &= ~CGX_SMUX_TX_CTL_L2P_BP_CONV; in cgx_lmac_enadis_pause_frm()
818 cfg |= tx_pause ? CGX_SMUX_TX_CTL_L2P_BP_CONV : 0x0; in cgx_lmac_enadis_pause_frm()
819 cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, cfg); in cgx_lmac_enadis_pause_frm()
821 cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP); in cgx_lmac_enadis_pause_frm()
823 cfg &= ~CGX_CMR_RX_OVR_BP_EN(lmac_id); in cgx_lmac_enadis_pause_frm()
825 cfg |= CGX_CMR_RX_OVR_BP_EN(lmac_id); in cgx_lmac_enadis_pause_frm()
826 cfg &= ~CGX_CMR_RX_OVR_BP_BP(lmac_id); in cgx_lmac_enadis_pause_frm()
828 cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg); in cgx_lmac_enadis_pause_frm()
835 u64 cfg; in cgx_lmac_pause_frm_config() local
844 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_PAUSE_PKT_INTERVAL); in cgx_lmac_pause_frm_config()
845 cfg &= ~0xFFFFULL; in cgx_lmac_pause_frm_config()
847 cfg | (DEFAULT_PAUSE_TIME / 2)); in cgx_lmac_pause_frm_config()
852 cfg = cgx_read(cgx, lmac_id, in cgx_lmac_pause_frm_config()
854 cfg &= ~0xFFFFULL; in cgx_lmac_pause_frm_config()
856 cfg | (DEFAULT_PAUSE_TIME / 2)); in cgx_lmac_pause_frm_config()
860 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_pause_frm_config()
861 cfg &= ~CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_pause_frm_config()
862 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_pause_frm_config()
864 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_pause_frm_config()
865 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_pause_frm_config()
866 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_pause_frm_config()
869 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL); in cgx_lmac_pause_frm_config()
870 cfg &= ~CGX_SMUX_TX_CTL_L2P_BP_CONV; in cgx_lmac_pause_frm_config()
871 cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, cfg); in cgx_lmac_pause_frm_config()
873 cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP); in cgx_lmac_pause_frm_config()
874 cfg |= CGX_CMR_RX_OVR_BP_EN(lmac_id); in cgx_lmac_pause_frm_config()
875 cfg &= ~CGX_CMR_RX_OVR_BP_BP(lmac_id); in cgx_lmac_pause_frm_config()
876 cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg); in cgx_lmac_pause_frm_config()
879 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_pause_frm_config()
880 cfg = FIELD_SET(CGX_PFC_CLASS_MASK, 0, cfg); in cgx_lmac_pause_frm_config()
881 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_pause_frm_config()
924 u64 cfg; in cgx_lmac_pfc_config() local
933 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_pfc_config()
934 pfc_en |= FIELD_GET(CGX_PFC_CLASS_MASK, cfg); in cgx_lmac_pfc_config()
937 cfg |= (CGXX_SMUX_CBFC_CTL_RX_EN | in cgx_lmac_pfc_config()
941 cfg &= ~(CGXX_SMUX_CBFC_CTL_RX_EN | in cgx_lmac_pfc_config()
947 cfg |= CGXX_SMUX_CBFC_CTL_TX_EN; in cgx_lmac_pfc_config()
948 cfg = FIELD_SET(CGX_PFC_CLASS_MASK, pfc_en, cfg); in cgx_lmac_pfc_config()
950 cfg &= ~CGXX_SMUX_CBFC_CTL_TX_EN; in cgx_lmac_pfc_config()
951 cfg = FIELD_SET(CGX_PFC_CLASS_MASK, 0, cfg); in cgx_lmac_pfc_config()
954 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_pfc_config()
957 cfg = cgx_lmac_addr_get(cgx->cgx_id, lmac_id); in cgx_lmac_pfc_config()
958 cgx_write(cgx, lmac_id, CGXX_SMUX_SMAC, cfg); in cgx_lmac_pfc_config()
967 u64 cfg; in cgx_lmac_get_pfc_frm_cfg() local
972 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_get_pfc_frm_cfg()
974 *rx_pause = !!(cfg & CGXX_SMUX_CBFC_CTL_RX_EN); in cgx_lmac_get_pfc_frm_cfg()
975 *tx_pause = !!(cfg & CGXX_SMUX_CBFC_CTL_TX_EN); in cgx_lmac_get_pfc_frm_cfg()
983 u64 cfg; in cgx_lmac_ptp_config() local
990 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_ptp_config()
991 cfg |= CGX_GMP_GMI_RXX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
992 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
994 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_ptp_config()
995 cfg |= CGX_SMUX_RX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
996 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
999 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_ptp_config()
1000 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
1001 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
1003 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_ptp_config()
1004 cfg &= ~CGX_SMUX_RX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
1005 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
1555 u64 cfg; in cgx_lmac_reset() local
1561 cfg = 0xff; in cgx_lmac_reset()
1562 cgx_write(cgxd, lmac_id, CGXX_CMRX_RX_LOGL_XON, cfg); in cgx_lmac_reset()
1733 u64 cfg; in cgx_populate_features() local
1735 cfg = cgx_read(cgx, 0, CGX_CONST); in cgx_populate_features()
1736 cgx->mac_ops->fifo_len = FIELD_GET(CGX_CONST_RXFIFO_SIZE, cfg); in cgx_populate_features()
1737 cgx->max_lmac_per_mac = FIELD_GET(CGX_CONST_MAX_LMACS, cfg); in cgx_populate_features()