Lines Matching +full:burst +full:- +full:length

1 // SPDX-License-Identifier: GPL-2.0-only
3 This is the driver for the GMAC on-chip Ethernet controller for ST SoCs.
9 Copyright (C) 2007-2009 STMicroelectronics Ltd
24 pr_info("dwmac1000: Master AXI performs %s burst length\n", in dwmac1000_dma_axi()
27 if (axi->axi_lpi_en) in dwmac1000_dma_axi()
29 if (axi->axi_xit_frm) in dwmac1000_dma_axi()
33 value |= (axi->axi_wr_osr_lmt & DMA_AXI_WR_OSR_LMT_MASK) << in dwmac1000_dma_axi()
37 value |= (axi->axi_rd_osr_lmt & DMA_AXI_RD_OSR_LMT_MASK) << in dwmac1000_dma_axi()
40 /* Depending on the UNDEF bit the Master AXI will perform any burst in dwmac1000_dma_axi()
41 * length according to the BLEN programmed (by default all BLEN are in dwmac1000_dma_axi()
45 switch (axi->axi_blen[i]) { in dwmac1000_dma_axi()
77 int txpbl = dma_cfg->txpbl ?: dma_cfg->pbl; in dwmac1000_dma_init_channel()
78 int rxpbl = dma_cfg->rxpbl ?: dma_cfg->pbl; in dwmac1000_dma_init_channel()
83 /* Set the DMA PBL (Programmable Burst Length) mode. in dwmac1000_dma_init_channel()
88 if (dma_cfg->pblx8) in dwmac1000_dma_init_channel()
95 /* Set the Fixed burst mode */ in dwmac1000_dma_init_channel()
96 if (dma_cfg->fixed_burst) in dwmac1000_dma_init_channel()
99 /* Mixed Burst has no effect when fb is set */ in dwmac1000_dma_init_channel()
100 if (dma_cfg->mixed_burst) in dwmac1000_dma_init_channel()
103 if (dma_cfg->atds) in dwmac1000_dma_init_channel()
106 if (dma_cfg->aal) in dwmac1000_dma_init_channel()
191 /* Transmit COE type 2 cannot be done in cut-through mode. */ in dwmac1000_dma_operation_mode_tx()
194 * especially when transmit store-and-forward is used. in dwmac1000_dma_operation_mode_tx()
237 return -EOPNOTSUPP; in dwmac1000_get_hw_feature()
240 dma_cap->mbps_10_100 = (hw_cap & DMA_HW_FEAT_MIISEL); in dwmac1000_get_hw_feature()
241 dma_cap->mbps_1000 = (hw_cap & DMA_HW_FEAT_GMIISEL) >> 1; in dwmac1000_get_hw_feature()
242 dma_cap->half_duplex = (hw_cap & DMA_HW_FEAT_HDSEL) >> 2; in dwmac1000_get_hw_feature()
243 dma_cap->hash_filter = (hw_cap & DMA_HW_FEAT_HASHSEL) >> 4; in dwmac1000_get_hw_feature()
244 dma_cap->multi_addr = (hw_cap & DMA_HW_FEAT_ADDMAC) >> 5; in dwmac1000_get_hw_feature()
245 dma_cap->pcs = (hw_cap & DMA_HW_FEAT_PCSSEL) >> 6; in dwmac1000_get_hw_feature()
246 dma_cap->sma_mdio = (hw_cap & DMA_HW_FEAT_SMASEL) >> 8; in dwmac1000_get_hw_feature()
247 dma_cap->pmt_remote_wake_up = (hw_cap & DMA_HW_FEAT_RWKSEL) >> 9; in dwmac1000_get_hw_feature()
248 dma_cap->pmt_magic_frame = (hw_cap & DMA_HW_FEAT_MGKSEL) >> 10; in dwmac1000_get_hw_feature()
250 dma_cap->rmon = (hw_cap & DMA_HW_FEAT_MMCSEL) >> 11; in dwmac1000_get_hw_feature()
251 /* IEEE 1588-2002 */ in dwmac1000_get_hw_feature()
252 dma_cap->time_stamp = in dwmac1000_get_hw_feature()
254 /* IEEE 1588-2008 */ in dwmac1000_get_hw_feature()
255 dma_cap->atime_stamp = (hw_cap & DMA_HW_FEAT_TSVER2SEL) >> 13; in dwmac1000_get_hw_feature()
256 /* 802.3az - Energy-Efficient Ethernet (EEE) */ in dwmac1000_get_hw_feature()
257 dma_cap->eee = (hw_cap & DMA_HW_FEAT_EEESEL) >> 14; in dwmac1000_get_hw_feature()
258 dma_cap->av = (hw_cap & DMA_HW_FEAT_AVSEL) >> 15; in dwmac1000_get_hw_feature()
260 dma_cap->tx_coe = (hw_cap & DMA_HW_FEAT_TXCOESEL) >> 16; in dwmac1000_get_hw_feature()
261 dma_cap->rx_coe_type1 = (hw_cap & DMA_HW_FEAT_RXTYP1COE) >> 17; in dwmac1000_get_hw_feature()
262 dma_cap->rx_coe_type2 = (hw_cap & DMA_HW_FEAT_RXTYP2COE) >> 18; in dwmac1000_get_hw_feature()
263 dma_cap->rxfifo_over_2048 = (hw_cap & DMA_HW_FEAT_RXFIFOSIZE) >> 19; in dwmac1000_get_hw_feature()
265 dma_cap->number_rx_channel = (hw_cap & DMA_HW_FEAT_RXCHCNT) >> 20; in dwmac1000_get_hw_feature()
266 dma_cap->number_tx_channel = (hw_cap & DMA_HW_FEAT_TXCHCNT) >> 22; in dwmac1000_get_hw_feature()
268 dma_cap->enh_desc = (hw_cap & DMA_HW_FEAT_ENHDESSEL) >> 24; in dwmac1000_get_hw_feature()