Lines Matching full:cfg
219 u64 cfg; in cgx_lmac_get_p2x() local
221 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_CFG); in cgx_lmac_get_p2x()
223 return (cfg & CMR_P2X_SEL_MASK) >> CMR_P2X_SEL_SHIFT; in cgx_lmac_get_p2x()
267 u64 cfg; in cgx_lmac_addr_set() local
276 /* memcpy(&cfg, mac_addr, 6); */ in cgx_lmac_addr_set()
278 cfg = ether_addr_to_u64(mac_addr); in cgx_lmac_addr_set()
285 cfg | CGX_DMAC_CAM_ADDR_ENABLE | ((u64)lmac_id << 49)); in cgx_lmac_addr_set()
287 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_set()
288 cfg |= (CGX_DMAC_CTL0_CAM_ENABLE | CGX_DMAC_BCAST_MODE | in cgx_lmac_addr_set()
290 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_set()
329 u64 cfg = 0; in cgx_lmac_addr_add() local
345 cfg = ether_addr_to_u64(mac_addr); in cgx_lmac_addr_add()
346 cfg |= CGX_DMAC_CAM_ADDR_ENABLE; in cgx_lmac_addr_add()
347 cfg |= ((u64)lmac_id << 49); in cgx_lmac_addr_add()
348 cgx_write(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8)), cfg); in cgx_lmac_addr_add()
350 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_add()
351 cfg |= (CGX_DMAC_BCAST_MODE | CGX_DMAC_CAM_ACCEPT); in cgx_lmac_addr_add()
354 cfg &= ~GENMASK_ULL(2, 1); in cgx_lmac_addr_add()
355 cfg |= CGX_DMAC_MCAST_MODE_CAM; in cgx_lmac_addr_add()
358 cfg |= CGX_DMAC_MCAST_MODE; in cgx_lmac_addr_add()
361 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_add()
372 u64 cfg; in cgx_lmac_addr_reset() local
389 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_reset()
390 cfg &= ~CGX_DMAC_CAM_ACCEPT; in cgx_lmac_addr_reset()
391 cfg |= (CGX_DMAC_BCAST_MODE | CGX_DMAC_MCAST_MODE); in cgx_lmac_addr_reset()
392 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_reset()
406 u64 cfg; in cgx_lmac_addr_update() local
426 cfg = cgx_read(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8))); in cgx_lmac_addr_update()
427 cfg &= ~CGX_RX_DMAC_ADR_MASK; in cgx_lmac_addr_update()
428 cfg |= ether_addr_to_u64(mac_addr); in cgx_lmac_addr_update()
430 cgx_write(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8)), cfg); in cgx_lmac_addr_update()
440 u64 cfg; in cgx_lmac_addr_del() local
462 cfg = cgx_read(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8))); in cgx_lmac_addr_del()
464 u64_to_ether_addr(cfg, mac); in cgx_lmac_addr_del()
469 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_del()
470 cfg &= ~GENMASK_ULL(2, 1); in cgx_lmac_addr_del()
471 cfg |= CGX_DMAC_MCAST_MODE; in cgx_lmac_addr_del()
472 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_del()
497 u64 cfg; in cgx_lmac_addr_get() local
506 cfg = cgx_read(cgx_dev, 0, CGXX_CMRX_RX_DMAC_CAM0 + index * 0x8); in cgx_lmac_addr_get()
507 return cfg & CGX_RX_DMAC_ADR_MASK; in cgx_lmac_addr_get()
524 u64 cfg; in cgx_get_lmac_type() local
526 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_get_lmac_type()
527 return (cfg >> CGX_LMAC_TYPE_SHIFT) & CGX_LMAC_TYPE_MASK; in cgx_get_lmac_type()
561 u64 cfg; in cgx_lmac_internal_loopback() local
569 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL); in cgx_lmac_internal_loopback()
571 cfg |= CGXX_GMP_PCS_MRX_CTL_LBK; in cgx_lmac_internal_loopback()
573 cfg &= ~CGXX_GMP_PCS_MRX_CTL_LBK; in cgx_lmac_internal_loopback()
574 cgx_write(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL, cfg); in cgx_lmac_internal_loopback()
576 cfg = cgx_read(cgx, lmac_id, CGXX_SPUX_CONTROL1); in cgx_lmac_internal_loopback()
578 cfg |= CGXX_SPUX_CONTROL1_LBK; in cgx_lmac_internal_loopback()
580 cfg &= ~CGXX_SPUX_CONTROL1_LBK; in cgx_lmac_internal_loopback()
581 cgx_write(cgx, lmac_id, CGXX_SPUX_CONTROL1, cfg); in cgx_lmac_internal_loopback()
593 u64 cfg = 0; in cgx_lmac_promisc_config() local
605 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_promisc_config()
606 cfg &= ~CGX_DMAC_CAM_ACCEPT; in cgx_lmac_promisc_config()
607 cfg |= (CGX_DMAC_BCAST_MODE | CGX_DMAC_MCAST_MODE); in cgx_lmac_promisc_config()
608 cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_promisc_config()
612 cfg = cgx_read(cgx, 0, in cgx_lmac_promisc_config()
614 cfg &= ~CGX_DMAC_CAM_ADDR_ENABLE; in cgx_lmac_promisc_config()
616 (CGXX_CMRX_RX_DMAC_CAM0 + index * 0x8), cfg); in cgx_lmac_promisc_config()
620 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_promisc_config()
621 cfg |= CGX_DMAC_CAM_ACCEPT | CGX_DMAC_MCAST_MODE; in cgx_lmac_promisc_config()
622 cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_promisc_config()
625 cfg = cgx_read(cgx, 0, in cgx_lmac_promisc_config()
627 if ((cfg & CGX_RX_DMAC_ADR_MASK) != 0) { in cgx_lmac_promisc_config()
628 cfg |= CGX_DMAC_CAM_ADDR_ENABLE; in cgx_lmac_promisc_config()
632 cfg); in cgx_lmac_promisc_config()
642 u64 cfg; in cgx_lmac_get_pause_frm_status() local
650 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_get_pause_frm_status()
651 *rx_pause = !!(cfg & CGX_SMUX_RX_FRM_CTL_CTL_BCK); in cgx_lmac_get_pause_frm_status()
653 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL); in cgx_lmac_get_pause_frm_status()
654 *tx_pause = !!(cfg & CGX_SMUX_TX_CTL_L2P_BP_CONV); in cgx_lmac_get_pause_frm_status()
665 u64 cfg; in cgx_lmac_enadis_rx_pause_fwding() local
683 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
684 cfg |= CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
685 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
687 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
688 cfg |= CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
689 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
691 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_enadis_rx_pause_fwding()
692 cfg |= CGXX_SMUX_CBFC_CTL_BCK_EN; in cgx_lmac_enadis_rx_pause_fwding()
693 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
698 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
699 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
700 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
702 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
703 cfg &= ~CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
704 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
706 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_enadis_rx_pause_fwding()
707 cfg &= ~CGXX_SMUX_CBFC_CTL_BCK_EN; in cgx_lmac_enadis_rx_pause_fwding()
708 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
828 u64 cfg; in cgx_lmac_rx_tx_enable() local
833 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_lmac_rx_tx_enable()
835 cfg |= DATA_PKT_RX_EN | DATA_PKT_TX_EN; in cgx_lmac_rx_tx_enable()
837 cfg &= ~(DATA_PKT_RX_EN | DATA_PKT_TX_EN); in cgx_lmac_rx_tx_enable()
838 cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg); in cgx_lmac_rx_tx_enable()
845 u64 cfg, last; in cgx_lmac_tx_enable() local
850 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_lmac_tx_enable()
851 last = cfg; in cgx_lmac_tx_enable()
853 cfg |= DATA_PKT_TX_EN; in cgx_lmac_tx_enable()
855 cfg &= ~DATA_PKT_TX_EN; in cgx_lmac_tx_enable()
857 if (cfg != last) in cgx_lmac_tx_enable()
858 cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg); in cgx_lmac_tx_enable()
866 u64 cfg; in cgx_lmac_enadis_pause_frm() local
874 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_enadis_pause_frm()
875 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_pause_frm()
876 cfg |= rx_pause ? CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK : 0x0; in cgx_lmac_enadis_pause_frm()
877 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_enadis_pause_frm()
879 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_enadis_pause_frm()
880 cfg &= ~CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_pause_frm()
881 cfg |= rx_pause ? CGX_SMUX_RX_FRM_CTL_CTL_BCK : 0x0; in cgx_lmac_enadis_pause_frm()
882 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_enadis_pause_frm()
884 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL); in cgx_lmac_enadis_pause_frm()
885 cfg &= ~CGX_SMUX_TX_CTL_L2P_BP_CONV; in cgx_lmac_enadis_pause_frm()
886 cfg |= tx_pause ? CGX_SMUX_TX_CTL_L2P_BP_CONV : 0x0; in cgx_lmac_enadis_pause_frm()
887 cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, cfg); in cgx_lmac_enadis_pause_frm()
889 cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP); in cgx_lmac_enadis_pause_frm()
891 cfg &= ~CGX_CMR_RX_OVR_BP_EN(lmac_id); in cgx_lmac_enadis_pause_frm()
893 cfg |= CGX_CMR_RX_OVR_BP_EN(lmac_id); in cgx_lmac_enadis_pause_frm()
894 cfg &= ~CGX_CMR_RX_OVR_BP_BP(lmac_id); in cgx_lmac_enadis_pause_frm()
896 cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg); in cgx_lmac_enadis_pause_frm()
903 u64 cfg; in cgx_lmac_pause_frm_config() local
912 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_PAUSE_PKT_INTERVAL); in cgx_lmac_pause_frm_config()
913 cfg &= ~0xFFFFULL; in cgx_lmac_pause_frm_config()
915 cfg | (DEFAULT_PAUSE_TIME / 2)); in cgx_lmac_pause_frm_config()
920 cfg = cgx_read(cgx, lmac_id, in cgx_lmac_pause_frm_config()
922 cfg &= ~0xFFFFULL; in cgx_lmac_pause_frm_config()
924 cfg | (DEFAULT_PAUSE_TIME / 2)); in cgx_lmac_pause_frm_config()
928 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_pause_frm_config()
929 cfg &= ~CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_pause_frm_config()
930 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_pause_frm_config()
932 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_pause_frm_config()
933 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_pause_frm_config()
934 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_pause_frm_config()
937 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL); in cgx_lmac_pause_frm_config()
938 cfg &= ~CGX_SMUX_TX_CTL_L2P_BP_CONV; in cgx_lmac_pause_frm_config()
939 cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, cfg); in cgx_lmac_pause_frm_config()
941 cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP); in cgx_lmac_pause_frm_config()
942 cfg |= CGX_CMR_RX_OVR_BP_EN(lmac_id); in cgx_lmac_pause_frm_config()
943 cfg &= ~CGX_CMR_RX_OVR_BP_BP(lmac_id); in cgx_lmac_pause_frm_config()
944 cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg); in cgx_lmac_pause_frm_config()
947 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_pause_frm_config()
948 cfg = FIELD_SET(CGX_PFC_CLASS_MASK, 0, cfg); in cgx_lmac_pause_frm_config()
949 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_pause_frm_config()
992 u64 cfg; in cgx_lmac_pfc_config() local
1001 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_pfc_config()
1002 pfc_en |= FIELD_GET(CGX_PFC_CLASS_MASK, cfg); in cgx_lmac_pfc_config()
1005 cfg |= (CGXX_SMUX_CBFC_CTL_RX_EN | in cgx_lmac_pfc_config()
1009 cfg &= ~(CGXX_SMUX_CBFC_CTL_RX_EN | in cgx_lmac_pfc_config()
1015 cfg |= CGXX_SMUX_CBFC_CTL_TX_EN; in cgx_lmac_pfc_config()
1016 cfg = FIELD_SET(CGX_PFC_CLASS_MASK, pfc_en, cfg); in cgx_lmac_pfc_config()
1018 cfg &= ~CGXX_SMUX_CBFC_CTL_TX_EN; in cgx_lmac_pfc_config()
1019 cfg = FIELD_SET(CGX_PFC_CLASS_MASK, 0, cfg); in cgx_lmac_pfc_config()
1022 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_pfc_config()
1025 cfg = cgx_lmac_addr_get(cgx->cgx_id, lmac_id); in cgx_lmac_pfc_config()
1026 cgx_write(cgx, lmac_id, CGXX_SMUX_SMAC, cfg); in cgx_lmac_pfc_config()
1035 u64 cfg; in cgx_lmac_get_pfc_frm_cfg() local
1040 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_get_pfc_frm_cfg()
1042 *rx_pause = !!(cfg & CGXX_SMUX_CBFC_CTL_RX_EN); in cgx_lmac_get_pfc_frm_cfg()
1043 *tx_pause = !!(cfg & CGXX_SMUX_CBFC_CTL_TX_EN); in cgx_lmac_get_pfc_frm_cfg()
1051 u64 cfg; in cgx_lmac_ptp_config() local
1058 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_ptp_config()
1059 cfg |= CGX_GMP_GMI_RXX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
1060 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
1062 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_ptp_config()
1063 cfg |= CGX_SMUX_RX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
1064 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
1067 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_ptp_config()
1068 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
1069 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
1071 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_ptp_config()
1072 cfg &= ~CGX_SMUX_RX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
1073 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
1642 u64 cfg; in cgx_lmac_reset() local
1648 cfg = 0xff; in cgx_lmac_reset()
1649 cgx_write(cgxd, lmac_id, CGXX_CMRX_RX_LOGL_XON, cfg); in cgx_lmac_reset()
1835 u64 cfg; in cgx_populate_features() local
1837 cfg = cgx_read(cgx, 0, CGX_CONST); in cgx_populate_features()
1838 cgx->fifo_len = FIELD_GET(CGX_CONST_RXFIFO_SIZE, cfg); in cgx_populate_features()
1839 cgx->max_lmac_per_mac = FIELD_GET(CGX_CONST_MAX_LMACS, cfg); in cgx_populate_features()
1862 u64 cfg; in cgx_x2p_reset() local
1870 cfg = cgx_read(cgx, 0, CGXX_CMR_GLOBAL_CONFIG); in cgx_x2p_reset()
1871 cfg |= cgx_get_nix_resetbit(cgx) | CGX_NSCI_DROP; in cgx_x2p_reset()
1872 cgx_write(cgx, 0, CGXX_CMR_GLOBAL_CONFIG, cfg); in cgx_x2p_reset()
1874 cfg = cgx_read(cgx, 0, CGXX_CMR_GLOBAL_CONFIG); in cgx_x2p_reset()
1875 cfg &= ~(cgx_get_nix_resetbit(cgx) | CGX_NSCI_DROP); in cgx_x2p_reset()
1876 cgx_write(cgx, 0, CGXX_CMR_GLOBAL_CONFIG, cfg); in cgx_x2p_reset()
1883 u64 cfg; in cgx_enadis_rx() local
1888 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_enadis_rx()
1890 cfg |= DATA_PKT_RX_EN; in cgx_enadis_rx()
1892 cfg &= ~DATA_PKT_RX_EN; in cgx_enadis_rx()
1893 cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg); in cgx_enadis_rx()