Lines Matching +full:dma +full:- +full:related
9 * Copyright (c) 2014-2016 Advanced Micro Devices, Inc.
59 * Copyright (c) 2014-2016 Advanced Micro Devices, Inc.
120 #include <linux/dma-mapping.h>
137 #define XGBE_DRV_NAME "amd-xgbe"
140 /* Descriptor related defines */
151 #define XGBE_TX_MAX_BUF_SIZE (0x3fff & ~(64 - 1))
158 * - Maximum number of SKB frags
159 * - Maximum descriptors for contiguous TSO/GSO packet
160 * - Possible context descriptor
161 * - Possible TSO header descriptor
175 /* DMA cache settings - Outer sharable, write-back, write-allocate */
179 /* DMA cache settings - System, no caches used */
183 /* DMA cache settings - PCI device */
188 /* DMA channel interrupt modes */
197 #define XGMAC_ETH_PREAMBLE (12 + 8) /* Inter-frame gap + preamble */
206 #define XGBE_MAC_ADDR_PROPERTY "mac-address"
207 #define XGBE_PHY_MODE_PROPERTY "phy-mode"
208 #define XGBE_DMA_IRQS_PROPERTY "amd,per-channel-interrupt"
209 #define XGBE_SPEEDSET_PROPERTY "amd,speed-set"
211 /* Device-tree clock names */
216 #define XGBE_ACPI_DMA_FREQ "amd,dma-freq"
217 #define XGBE_ACPI_PTP_FREQ "amd,ptp-freq"
233 /* Timestamp support - values based on 50MHz PTP clock
246 (((_x) + XGMAC_FIFO_UNIT - 1) & ~(XGMAC_FIFO_UNIT - 1))
254 * since the index is free-running and needs to be and-ed
259 ((_ring)->rdata + \
260 ((_idx) & ((_ring)->rdesc_count - 1)))
276 (((_x) + XGMAC_FLOW_CONTROL_UNIT - 1) & ~(XGMAC_FLOW_CONTROL_UNIT - 1))
278 (((_x) < 1024) ? 0 : ((_x) / XGMAC_FLOW_CONTROL_UNIT) - 2)
290 /* Auto-negotiation */
346 bitmap_copy((_dst)->link_modes._dname, \
347 (_src)->link_modes._sname, \
386 /* Page allocation related values */
405 /* Tx-related ring data */
411 /* Rx-related ring data */
420 /* Structure used to hold information related to the descriptor
426 dma_addr_t rdesc_dma; /* DMA address of descriptor */
429 dma_addr_t skb_dma; /* DMA address of SKB data */
430 unsigned int skb_dma_len; /* Length of SKB DMA area */
432 struct xgbe_tx_ring_data tx; /* Tx-related data */
433 struct xgbe_rx_ring_data rx; /* Rx-related data */
439 * context descriptor) has not been DMA'd yet the current state
451 /* Ring lock - used just for TX rings at the moment */
454 /* Per packet related information */
457 /* Virtual/DMA addresses and count of allocated descriptor memory */
473 * cur - Tx: index of descriptor to be used for current transfer
475 * dirty - Tx: index of descriptor to check for transfer complete
495 * a DMA channel.
503 /* Queue index and base address of queue's DMA registers */
511 /* Netdev related settings */
833 /* For TX DMA Operate on Second Frame config */
899 /* Retrieve new/next mode when trying to auto-negotiate */
904 /* Retrieve current auto-negotiation mode */
907 /* Configure auto-negotiation settings */
910 /* Set/override auto-negotiation advertisement settings */
914 /* Process results of auto-negotiation */
917 /* Pre/Post auto-negotiation support */
925 /* SFP module related info */
999 unsigned int rwk; /* PMT remote wake-up packet */
1003 unsigned int ts; /* IEEE 1588-2008 Advanced Timestamp */
1016 unsigned int dma_width; /* DMA width */
1020 unsigned int dma_debug; /* DMA Debug Registers */
1024 unsigned int l3l4_filter_num; /* Number of L3-L4 Filters */
1029 unsigned int rx_ch_cnt; /* Number of DMA Receive Channels */
1030 unsigned int tx_ch_cnt; /* Number of DMA Transmit Channels */
1060 /* Version related data */
1066 /* XGMAC/XPCS related mmio registers */
1131 /* AXI DMA settings */
1142 /* Rings for Tx/Rx on a DMA channel */
1205 /* Netdev related settings */
1260 /* MDIO/PHY related settings */
1276 /* Auto-negotiation state machine support */