Lines Matching +full:charge +full:- +full:integration
4 * Copyright (c) 2014-2016,2020 Advanced Micro Devices, Inc.
34 * granted, free of charge, to any person obtaining a copy of this software
91 * granted, free of charge, to any person obtaining a copy of this software
134 #define XGBE_DRV_NAME "amd-xgbe"
151 #define XGBE_TX_MAX_BUF_SIZE (0x3fff & ~(64 - 1))
157 * - Maximum number of SKB frags
158 * - Maximum descriptors for contiguous TSO/GSO packet
159 * - Possible context descriptor
160 * - Possible TSO header descriptor
174 /* DMA cache settings - Outer sharable, write-back, write-allocate */
178 /* DMA cache settings - System, no caches used */
182 /* DMA cache settings - PCI device */
196 #define XGMAC_ETH_PREAMBLE (12 + 8) /* Inter-frame gap + preamble */
205 #define XGBE_MAC_ADDR_PROPERTY "mac-address"
206 #define XGBE_PHY_MODE_PROPERTY "phy-mode"
207 #define XGBE_DMA_IRQS_PROPERTY "amd,per-channel-interrupt"
208 #define XGBE_SPEEDSET_PROPERTY "amd,speed-set"
209 #define XGBE_BLWC_PROPERTY "amd,serdes-blwc"
210 #define XGBE_CDR_RATE_PROPERTY "amd,serdes-cdr-rate"
211 #define XGBE_PQ_SKEW_PROPERTY "amd,serdes-pq-skew"
212 #define XGBE_TX_AMP_PROPERTY "amd,serdes-tx-amp"
213 #define XGBE_DFE_CFG_PROPERTY "amd,serdes-dfe-tap-config"
214 #define XGBE_DFE_ENA_PROPERTY "amd,serdes-dfe-tap-enable"
216 /* Device-tree clock names */
221 #define XGBE_ACPI_DMA_FREQ "amd,dma-freq"
222 #define XGBE_ACPI_PTP_FREQ "amd,ptp-freq"
238 /* Timestamp support - values based on 50MHz PTP clock
251 (((_x) + XGMAC_FIFO_UNIT - 1) & ~(XGMAC_FIFO_UNIT - 1))
260 * since the index is free-running and needs to be and-ed
265 ((_ring)->rdata + \
266 ((_idx) & ((_ring)->rdesc_count - 1)))
282 (((_x) + XGMAC_FLOW_CONTROL_UNIT - 1) & ~(XGMAC_FLOW_CONTROL_UNIT - 1))
284 (((_x) < 1024) ? 0 : ((_x) / XGMAC_FLOW_CONTROL_UNIT) - 2)
296 /* Auto-negotiation */
320 /* Rate-change complete wait/retry count */
362 ((_phy)->supported = 0)
365 ((_phy)->supported |= SUPPORTED_##_mode)
368 ((_phy)->supported &= ~SUPPORTED_##_mode)
371 ((_phy)->supported & SUPPORTED_##_mode)
374 ((_phy)->advertising = 0)
377 ((_phy)->advertising |= ADVERTISED_##_mode)
380 ((_phy)->advertising &= ~ADVERTISED_##_mode)
383 ((_phy)->advertising & ADVERTISED_##_mode)
386 ((_phy)->lp_advertising = 0)
389 ((_phy)->lp_advertising |= ADVERTISED_##_mode)
392 ((_phy)->lp_advertising &= ~ADVERTISED_##_mode)
395 ((_phy)->lp_advertising & ADVERTISED_##_mode)
398 ((_dphy)->_dname = (_sphy)->_sname)
436 /* Tx-related ring data */
442 /* Rx-related ring data */
456 struct xgbe_tx_ring_data tx; /* Tx-related data */
457 struct xgbe_rx_ring_data rx; /* Rx-related data */
475 /* Ring lock - used just for TX rings at the moment */
492 * cur - Tx: index of descriptor to be used for current transfer
494 * dirty - Tx: index of descriptor to check for transfer complete
865 /* Retrieve new/next mode when trying to auto-negotiate */
869 /* Retrieve interface sub-type */
872 /* Retrieve current auto-negotiation mode */
875 /* Configure auto-negotiation settings */
878 /* Set/override auto-negotiation advertisement settings */
882 /* Process results of auto-negotiation */
885 /* Pre/Post auto-negotiation support */
959 unsigned int rwk; /* PMT remote wake-up packet */
963 unsigned int ts; /* IEEE 1588-2008 Advanced Timestamp */
984 unsigned int l3l4_filter_num; /* Number of L3-L4 Filters */
1027 struct resource *sir0_res; /* SerDes integration registers (1/2) */
1028 struct resource *sir1_res; /* SerDes integration registers (2/2) */
1250 /* Auto-negotiation state machine support */
1342 #define DBGPR(x...) device_printf(pdata->dev, x)
1348 #define DBGPR_MDIO(x...) device_printf(pdata->dev, x)
1354 if (lvl <= pdata->debug_level) \
1355 device_printf(pdata->dev, __VA_ARGS__); \
1359 device_printf(pdata->dev, __VA_ARGS__); \