Lines Matching full:cfg
193 u64 cfg; in cgx_lmac_get_p2x() local
195 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_CFG); in cgx_lmac_get_p2x()
197 return (cfg & CMR_P2X_SEL_MASK) >> CMR_P2X_SEL_SHIFT; in cgx_lmac_get_p2x()
227 static void cfg2mac(u64 cfg, u8 *mac_addr) in cfg2mac() argument
232 mac_addr[i] = (cfg >> (8 * index)) & 0xFF; in cfg2mac()
241 u64 cfg; in cgx_lmac_addr_set() local
247 /* memcpy(&cfg, mac_addr, 6); */ in cgx_lmac_addr_set()
249 cfg = mac2u64 (mac_addr); in cgx_lmac_addr_set()
256 cfg | CGX_DMAC_CAM_ADDR_ENABLE | ((u64)lmac_id << 49)); in cgx_lmac_addr_set()
258 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_set()
259 cfg |= (CGX_DMAC_CTL0_CAM_ENABLE | CGX_DMAC_BCAST_MODE | in cgx_lmac_addr_set()
261 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_set()
300 u64 cfg = 0; in cgx_lmac_addr_add() local
316 cfg = mac2u64 (mac_addr); in cgx_lmac_addr_add()
317 cfg |= CGX_DMAC_CAM_ADDR_ENABLE; in cgx_lmac_addr_add()
318 cfg |= ((u64)lmac_id << 49); in cgx_lmac_addr_add()
319 cgx_write(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8)), cfg); in cgx_lmac_addr_add()
321 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_add()
322 cfg |= (CGX_DMAC_BCAST_MODE | CGX_DMAC_CAM_ACCEPT); in cgx_lmac_addr_add()
325 cfg &= ~GENMASK_ULL(2, 1); in cgx_lmac_addr_add()
326 cfg |= CGX_DMAC_MCAST_MODE_CAM; in cgx_lmac_addr_add()
329 cfg |= CGX_DMAC_MCAST_MODE; in cgx_lmac_addr_add()
332 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_add()
343 u64 cfg; in cgx_lmac_addr_reset() local
360 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_reset()
361 cfg &= ~CGX_DMAC_CAM_ACCEPT; in cgx_lmac_addr_reset()
362 cfg |= (CGX_DMAC_BCAST_MODE | CGX_DMAC_MCAST_MODE); in cgx_lmac_addr_reset()
363 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_reset()
377 u64 cfg; in cgx_lmac_addr_update() local
397 cfg = cgx_read(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8))); in cgx_lmac_addr_update()
398 cfg &= ~CGX_RX_DMAC_ADR_MASK; in cgx_lmac_addr_update()
399 cfg |= mac2u64 (mac_addr); in cgx_lmac_addr_update()
401 cgx_write(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8)), cfg); in cgx_lmac_addr_update()
411 u64 cfg; in cgx_lmac_addr_del() local
433 cfg = cgx_read(cgx_dev, 0, (CGXX_CMRX_RX_DMAC_CAM0 + (index * 0x8))); in cgx_lmac_addr_del()
435 cfg2mac(cfg, mac); in cgx_lmac_addr_del()
440 cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_addr_del()
441 cfg &= ~GENMASK_ULL(2, 1); in cgx_lmac_addr_del()
442 cfg |= CGX_DMAC_MCAST_MODE; in cgx_lmac_addr_del()
443 cgx_write(cgx_dev, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_addr_del()
468 u64 cfg; in cgx_lmac_addr_get() local
477 cfg = cgx_read(cgx_dev, 0, CGXX_CMRX_RX_DMAC_CAM0 + index * 0x8); in cgx_lmac_addr_get()
478 return cfg & CGX_RX_DMAC_ADR_MASK; in cgx_lmac_addr_get()
495 u64 cfg; in cgx_get_lmac_type() local
497 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_get_lmac_type()
498 return (cfg >> CGX_LMAC_TYPE_SHIFT) & CGX_LMAC_TYPE_MASK; in cgx_get_lmac_type()
532 u64 cfg; in cgx_lmac_internal_loopback() local
539 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL); in cgx_lmac_internal_loopback()
541 cfg |= CGXX_GMP_PCS_MRX_CTL_LBK; in cgx_lmac_internal_loopback()
543 cfg &= ~CGXX_GMP_PCS_MRX_CTL_LBK; in cgx_lmac_internal_loopback()
544 cgx_write(cgx, lmac_id, CGXX_GMP_PCS_MRX_CTL, cfg); in cgx_lmac_internal_loopback()
546 cfg = cgx_read(cgx, lmac_id, CGXX_SPUX_CONTROL1); in cgx_lmac_internal_loopback()
548 cfg |= CGXX_SPUX_CONTROL1_LBK; in cgx_lmac_internal_loopback()
550 cfg &= ~CGXX_SPUX_CONTROL1_LBK; in cgx_lmac_internal_loopback()
551 cgx_write(cgx, lmac_id, CGXX_SPUX_CONTROL1, cfg); in cgx_lmac_internal_loopback()
563 u64 cfg = 0; in cgx_lmac_promisc_config() local
574 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_promisc_config()
575 cfg &= ~CGX_DMAC_CAM_ACCEPT; in cgx_lmac_promisc_config()
576 cfg |= (CGX_DMAC_BCAST_MODE | CGX_DMAC_MCAST_MODE); in cgx_lmac_promisc_config()
577 cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_promisc_config()
581 cfg = cgx_read(cgx, 0, in cgx_lmac_promisc_config()
583 cfg &= ~CGX_DMAC_CAM_ADDR_ENABLE; in cgx_lmac_promisc_config()
585 (CGXX_CMRX_RX_DMAC_CAM0 + index * 0x8), cfg); in cgx_lmac_promisc_config()
589 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0); in cgx_lmac_promisc_config()
590 cfg |= CGX_DMAC_CAM_ACCEPT | CGX_DMAC_MCAST_MODE; in cgx_lmac_promisc_config()
591 cgx_write(cgx, lmac_id, CGXX_CMRX_RX_DMAC_CTL0, cfg); in cgx_lmac_promisc_config()
594 cfg = cgx_read(cgx, 0, in cgx_lmac_promisc_config()
596 if ((cfg & CGX_RX_DMAC_ADR_MASK) != 0) { in cgx_lmac_promisc_config()
597 cfg |= CGX_DMAC_CAM_ADDR_ENABLE; in cgx_lmac_promisc_config()
601 cfg); in cgx_lmac_promisc_config()
611 u64 cfg; in cgx_lmac_get_pause_frm_status() local
619 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_get_pause_frm_status()
620 *rx_pause = !!(cfg & CGX_SMUX_RX_FRM_CTL_CTL_BCK); in cgx_lmac_get_pause_frm_status()
622 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL); in cgx_lmac_get_pause_frm_status()
623 *tx_pause = !!(cfg & CGX_SMUX_TX_CTL_L2P_BP_CONV); in cgx_lmac_get_pause_frm_status()
634 u64 cfg; in cgx_lmac_enadis_rx_pause_fwding() local
652 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
653 cfg |= CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
654 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
656 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
657 cfg |= CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
658 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
660 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_enadis_rx_pause_fwding()
661 cfg |= CGXX_SMUX_CBFC_CTL_BCK_EN; in cgx_lmac_enadis_rx_pause_fwding()
662 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
667 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
668 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
669 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
671 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_enadis_rx_pause_fwding()
672 cfg &= ~CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_rx_pause_fwding()
673 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
675 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_enadis_rx_pause_fwding()
676 cfg &= ~CGXX_SMUX_CBFC_CTL_BCK_EN; in cgx_lmac_enadis_rx_pause_fwding()
677 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_enadis_rx_pause_fwding()
764 u64 cfg; in cgx_lmac_rx_tx_enable() local
769 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_lmac_rx_tx_enable()
771 cfg |= CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN; in cgx_lmac_rx_tx_enable()
773 cfg &= ~(CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN); in cgx_lmac_rx_tx_enable()
774 cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg); in cgx_lmac_rx_tx_enable()
781 u64 cfg, last; in cgx_lmac_tx_enable() local
786 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); in cgx_lmac_tx_enable()
787 last = cfg; in cgx_lmac_tx_enable()
789 cfg |= DATA_PKT_TX_EN; in cgx_lmac_tx_enable()
791 cfg &= ~DATA_PKT_TX_EN; in cgx_lmac_tx_enable()
793 if (cfg != last) in cgx_lmac_tx_enable()
794 cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg); in cgx_lmac_tx_enable()
802 u64 cfg; in cgx_lmac_enadis_pause_frm() local
810 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_enadis_pause_frm()
811 cfg &= ~CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_enadis_pause_frm()
812 cfg |= rx_pause ? CGX_SMUX_RX_FRM_CTL_CTL_BCK : 0x0; in cgx_lmac_enadis_pause_frm()
813 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_enadis_pause_frm()
815 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL); in cgx_lmac_enadis_pause_frm()
816 cfg &= ~CGX_SMUX_TX_CTL_L2P_BP_CONV; in cgx_lmac_enadis_pause_frm()
817 cfg |= tx_pause ? CGX_SMUX_TX_CTL_L2P_BP_CONV : 0x0; in cgx_lmac_enadis_pause_frm()
818 cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, cfg); in cgx_lmac_enadis_pause_frm()
820 cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP); in cgx_lmac_enadis_pause_frm()
822 cfg &= ~CGX_CMR_RX_OVR_BP_EN(lmac_id); in cgx_lmac_enadis_pause_frm()
824 cfg |= CGX_CMR_RX_OVR_BP_EN(lmac_id); in cgx_lmac_enadis_pause_frm()
825 cfg &= ~CGX_CMR_RX_OVR_BP_BP(lmac_id); in cgx_lmac_enadis_pause_frm()
827 cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg); in cgx_lmac_enadis_pause_frm()
834 u64 cfg; in cgx_lmac_pause_frm_config() local
843 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_PAUSE_PKT_INTERVAL); in cgx_lmac_pause_frm_config()
844 cfg &= ~0xFFFFULL; in cgx_lmac_pause_frm_config()
846 cfg | (DEFAULT_PAUSE_TIME / 2)); in cgx_lmac_pause_frm_config()
851 cfg = cgx_read(cgx, lmac_id, in cgx_lmac_pause_frm_config()
853 cfg &= ~0xFFFFULL; in cgx_lmac_pause_frm_config()
855 cfg | (DEFAULT_PAUSE_TIME / 2)); in cgx_lmac_pause_frm_config()
859 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_pause_frm_config()
860 cfg &= ~CGX_SMUX_RX_FRM_CTL_CTL_BCK; in cgx_lmac_pause_frm_config()
861 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_pause_frm_config()
863 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_pause_frm_config()
864 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_CTL_BCK; in cgx_lmac_pause_frm_config()
865 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_pause_frm_config()
868 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_TX_CTL); in cgx_lmac_pause_frm_config()
869 cfg &= ~CGX_SMUX_TX_CTL_L2P_BP_CONV; in cgx_lmac_pause_frm_config()
870 cgx_write(cgx, lmac_id, CGXX_SMUX_TX_CTL, cfg); in cgx_lmac_pause_frm_config()
872 cfg = cgx_read(cgx, 0, CGXX_CMR_RX_OVR_BP); in cgx_lmac_pause_frm_config()
873 cfg |= CGX_CMR_RX_OVR_BP_EN(lmac_id); in cgx_lmac_pause_frm_config()
874 cfg &= ~CGX_CMR_RX_OVR_BP_BP(lmac_id); in cgx_lmac_pause_frm_config()
875 cgx_write(cgx, 0, CGXX_CMR_RX_OVR_BP, cfg); in cgx_lmac_pause_frm_config()
878 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_pause_frm_config()
879 cfg = FIELD_SET(CGX_PFC_CLASS_MASK, 0, cfg); in cgx_lmac_pause_frm_config()
880 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_pause_frm_config()
923 u64 cfg; in cgx_lmac_pfc_config() local
932 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_pfc_config()
933 pfc_en |= FIELD_GET(CGX_PFC_CLASS_MASK, cfg); in cgx_lmac_pfc_config()
936 cfg |= (CGXX_SMUX_CBFC_CTL_RX_EN | in cgx_lmac_pfc_config()
940 cfg &= ~(CGXX_SMUX_CBFC_CTL_RX_EN | in cgx_lmac_pfc_config()
946 cfg |= CGXX_SMUX_CBFC_CTL_TX_EN; in cgx_lmac_pfc_config()
947 cfg = FIELD_SET(CGX_PFC_CLASS_MASK, pfc_en, cfg); in cgx_lmac_pfc_config()
949 cfg &= ~CGXX_SMUX_CBFC_CTL_TX_EN; in cgx_lmac_pfc_config()
950 cfg = FIELD_SET(CGX_PFC_CLASS_MASK, 0, cfg); in cgx_lmac_pfc_config()
953 cgx_write(cgx, lmac_id, CGXX_SMUX_CBFC_CTL, cfg); in cgx_lmac_pfc_config()
956 cfg = cgx_lmac_addr_get(cgx->cgx_id, lmac_id); in cgx_lmac_pfc_config()
957 cgx_write(cgx, lmac_id, CGXX_SMUX_SMAC, cfg); in cgx_lmac_pfc_config()
966 u64 cfg; in cgx_lmac_get_pfc_frm_cfg() local
971 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_CBFC_CTL); in cgx_lmac_get_pfc_frm_cfg()
973 *rx_pause = !!(cfg & CGXX_SMUX_CBFC_CTL_RX_EN); in cgx_lmac_get_pfc_frm_cfg()
974 *tx_pause = !!(cfg & CGXX_SMUX_CBFC_CTL_TX_EN); in cgx_lmac_get_pfc_frm_cfg()
982 u64 cfg; in cgx_lmac_ptp_config() local
989 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_ptp_config()
990 cfg |= CGX_GMP_GMI_RXX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
991 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
993 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_ptp_config()
994 cfg |= CGX_SMUX_RX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
995 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
998 cfg = cgx_read(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL); in cgx_lmac_ptp_config()
999 cfg &= ~CGX_GMP_GMI_RXX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
1000 cgx_write(cgx, lmac_id, CGXX_GMP_GMI_RXX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
1002 cfg = cgx_read(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL); in cgx_lmac_ptp_config()
1003 cfg &= ~CGX_SMUX_RX_FRM_CTL_PTP_MODE; in cgx_lmac_ptp_config()
1004 cgx_write(cgx, lmac_id, CGXX_SMUX_RX_FRM_CTL, cfg); in cgx_lmac_ptp_config()
1547 u64 cfg; in cgx_lmac_get_fifolen() local
1549 cfg = cgx_read(cgx, 0, CGX_CONST); in cgx_lmac_get_fifolen()
1550 cgx->mac_ops->fifo_len = FIELD_GET(CGX_CONST_RXFIFO_SIZE, cfg); in cgx_lmac_get_fifolen()