/linux/drivers/net/ethernet/intel/e1000e/ |
H A D | manage.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 7 * e1000_calculate_checksum - Calculate checksum for buffer 9 * @length: size of EEPROM to calculate a checksum for 11 * Calculates the checksum for some buffer on a specified length. The 12 * checksum calculated is returned. 25 return (u8)(0 - sum); in e1000_calculate_checksum() 29 * e1000_mng_enable_host_if - Checks host interface is enabled 30 * @hw: pointer to the HW structure 32 * Returns 0 upon success, else -E1000_ERR_HOST_INTERFACE_COMMAND [all …]
|
H A D | 82571.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 22 static s32 e1000_get_phy_id_82571(struct e1000_hw *hw); 23 static s32 e1000_setup_copper_link_82571(struct e1000_hw *hw); 24 static s32 e1000_setup_fiber_serdes_link_82571(struct e1000_hw *hw); 25 static s32 e1000_check_for_serdes_link_82571(struct e1000_hw *hw); 26 static s32 e1000_write_nvm_eewr_82571(struct e1000_hw *hw, u16 offset, 28 static s32 e1000_fix_nvm_checksum_82571(struct e1000_hw *hw); 29 static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw); 30 static void e1000_clear_hw_cntrs_82571(struct e1000_hw *hw); [all …]
|
/linux/drivers/net/ethernet/intel/igb/ |
H A D | e1000_82575.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 2007 - 2018 Intel Corporation. */ 46 static s32 igb_set_pcie_completion_timeout(struct e1000_hw *hw); 47 static s32 igb_reset_mdicnfg_82580(struct e1000_hw *hw); 48 static s32 igb_validate_nvm_checksum_82580(struct e1000_hw *hw); 49 static s32 igb_update_nvm_checksum_82580(struct e1000_hw *hw); 50 static s32 igb_validate_nvm_checksum_i350(struct e1000_hw *hw); 51 static s32 igb_update_nvm_checksum_i350(struct e1000_hw *hw); 55 /* Due to a hw errata, if the host tries to configure the VFTA register 61 * igb_write_vfta_i350 - Write value to VLAN filter table [all …]
|
/linux/drivers/net/ethernet/intel/igc/ |
H A D | igc_i225.c | 1 // SPDX-License-Identifier: GPL-2.0 10 * igc_acquire_nvm_i225 - Acquire exclusive access to EEPROM 11 * @hw: pointer to the HW structure 16 * EEPROM access and return -IGC_ERR_NVM (-1). 18 static s32 igc_acquire_nvm_i225(struct igc_hw *hw) in igc_acquire_nvm_i225() argument 20 return igc_acquire_swfw_sync_i225(hw, IGC_SWFW_EEP_SM); in igc_acquire_nvm_i225() 24 * igc_release_nvm_i225 - Release exclusive access to EEPROM 25 * @hw: pointer to the HW structure 30 static void igc_release_nvm_i225(struct igc_hw *hw) in igc_release_nvm_i225() argument 32 igc_release_swfw_sync_i225(hw, IGC_SWFW_EEP_SM); in igc_release_nvm_i225() [all …]
|
/linux/drivers/net/ethernet/oki-semi/pch_gbe/ |
H A D | pch_gbe_param.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 1999 - 2010 Intel Corporation. 12 #define OPTION_UNSET -1 17 * TxDescriptors - Transmit Descriptor Count 18 * @Valid Range: PCH_GBE_MIN_TXD - PCH_GBE_MAX_TXD 26 * RxDescriptors -Receive Descriptor Count 27 * @Valid Range: PCH_GBE_MIN_RXD - PCH_GBE_MAX_RXD 35 * Speed - User Specified Speed Override 37 * - 0: auto-negotiate at all supported speeds 38 * - 10: only link at 10 Mbps [all …]
|
/linux/include/linux/ |
H A D | netdev_features.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 16 NETIF_F_IP_CSUM_BIT, /* Can checksum TCP/UDP over IPv4. */ 18 NETIF_F_HW_CSUM_BIT, /* Can checksum all the packets. */ 19 NETIF_F_IPV6_CSUM_BIT, /* Can checksum TCP/UDP over IPV6 */ 22 NETIF_F_HW_VLAN_CTAG_TX_BIT, /* Transmit VLAN CTAG HW acceleration */ 23 NETIF_F_HW_VLAN_CTAG_RX_BIT, /* Receive VLAN CTAG HW acceleration */ 35 NETIF_F_GSO_ROBUST_BIT, /* ... ->SKB_GSO_DODGY */ 46 NETIF_F_GSO_PARTIAL_BIT, /* ... Only segment inner-most L4 60 NETIF_F_SCTP_CRC_BIT, /* SCTP checksum offload */ 62 NETIF_F_NTUPLE_BIT, /* N-tuple filters supported */ [all …]
|
/linux/drivers/net/wireless/ath/wil6210/ |
H A D | txrx_edma.h | 1 /* SPDX-License-Identifier: ISC */ 3 * Copyright (c) 2012-2016,2018-2019, The Linux Foundation. All rights reserved. 75 /* Enhanced Rx descriptor - MAC part 89 /* Enhanced Rx descriptor - DMA part 90 * [dword 0] - Reserved 92 * bit 0..31 : addr_low:32 The payload buffer address, bits 0-31 94 * bit 0..15 : addr_high_low:16 The payload buffer address, bits 32-47 97 * bit 0..15 : addr_high_high:16 The payload buffer address, bits 48-63 113 /* Enhanced Tx descriptor - DMA part 117 * bit 0..31 : addr_low:32 The payload buffer address, bits 0-31 [all …]
|
/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192du/ |
H A D | trx.c | 1 // SPDX-License-Identifier: GPL-2.0 12 void rtl92du_tx_cleanup(struct ieee80211_hw *hw, struct sk_buff *skb) in rtl92du_tx_cleanup() argument 16 int rtl92du_tx_post_hdl(struct ieee80211_hw *hw, struct urb *urb, in rtl92du_tx_post_hdl() argument 22 struct sk_buff *rtl92du_tx_aggregate_hdl(struct ieee80211_hw *hw, in rtl92du_tx_aggregate_hdl() argument 47 /* For HW recovery information */ 51 u16 checksum = 0; in _rtl92du_tx_desc_checksum() local 57 checksum = checksum ^ le16_to_cpu(*(ptr + index)); in _rtl92du_tx_desc_checksum() 58 set_tx_desc_tx_desc_checksum(txdesc, checksum); in _rtl92du_tx_desc_checksum() 61 void rtl92du_tx_fill_desc(struct ieee80211_hw *hw, in rtl92du_tx_fill_desc() argument 69 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92du_tx_fill_desc() [all …]
|
/linux/drivers/net/ethernet/atheros/alx/ |
H A D | hw.h | 28 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 43 /* Transmit Packet Descriptor, contains 4 32-bit words. 46 * +----------------+----------------+ 47 * | vlan-tag | buf length | 48 * +----------------+----------------+ 50 * +----------------+----------------+ 52 * +----------------+----------------+ 54 * +----------------+----------------+ 56 * Word 2 and 3 combine to form a 64-bit buffer address 59 * if bit8 =='1', the definition is just for custom checksum offload. [all …]
|
/linux/include/net/ |
H A D | udplite.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Definitions for the UDP-Lite (RFC 3828) code. 11 /* UDP-Lite socket options */ 19 * Checksum computation is all in software, hence simpler getfrag. 25 return copy_from_iter_full(to, len, &msg->msg_iter) ? 0 : -EFAULT; in udplite_getfrag() 35 /* In UDPv4 a zero checksum means that the transmitter generated no in udplite_checksum_init() 36 * checksum. UDP-Lite (like IPv6) mandates checksums, hence packets in udplite_checksum_init() 37 * with a zero checksum field are illegal. */ in udplite_checksum_init() 38 if (uh->check == 0) { in udplite_checksum_init() 39 net_dbg_ratelimited("UDPLite: zeroed checksum field\n"); in udplite_checksum_init() [all …]
|
/linux/drivers/net/wireless/ath/ath10k/ |
H A D | rx_desc.h | 1 /* SPDX-License-Identifier: ISC */ 3 * Copyright (c) 2005-2011 Atheros Communications Inc. 4 * Copyright (c) 2011-2017 Qualcomm Atheros, Inc. 56 * A-MPDU frame but a stand alone MPDU. Interior MPDU in an 57 * A-MPDU shall have both first_mpdu and last_mpdu bits set to 72 * Indicates no matching entries within the max search 84 * Set if packet is not a non-QoS data frame. Only set when 108 * Set if packet is U-APSD trigger. Key table will have bits 109 * per TID to indicate U-APSD trigger. 131 * packets in the PPDU will be filtered and no Ack response [all …]
|
/linux/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_common.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 13 static int ixgbe_acquire_eeprom(struct ixgbe_hw *hw); 14 static int ixgbe_get_eeprom_semaphore(struct ixgbe_hw *hw); 15 static void ixgbe_release_eeprom_semaphore(struct ixgbe_hw *hw); 16 static int ixgbe_ready_eeprom(struct ixgbe_hw *hw); 17 static void ixgbe_standby_eeprom(struct ixgbe_hw *hw); 18 static void ixgbe_shift_out_eeprom_bits(struct ixgbe_hw *hw, u16 data, 20 static u16 ixgbe_shift_in_eeprom_bits(struct ixgbe_hw *hw, u16 count); 21 static void ixgbe_raise_eeprom_clk(struct ixgbe_hw *hw, u32 *eec); [all …]
|
/linux/drivers/net/ethernet/intel/i40e/ |
H A D | i40e_nvm.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 2013 - 2018 Intel Corporation. */ 10 * i40e_init_nvm - Initialize NVM function pointers 11 * @hw: pointer to the HW structure 19 int i40e_init_nvm(struct i40e_hw *hw) in i40e_init_nvm() argument 21 struct i40e_nvm_info *nvm = &hw->nvm; in i40e_init_nvm() 29 gens = rd32(hw, I40E_GLNVM_GENS); in i40e_init_nvm() 32 nvm->sr_size = BIT(sr_size) * I40E_SR_WORDS_IN_1KB; in i40e_init_nvm() 35 fla = rd32(hw, I40E_GLNVM_FLA); in i40e_init_nvm() 38 nvm->timeout = I40E_MAX_NVM_TIMEOUT; in i40e_init_nvm() [all …]
|
/linux/drivers/net/ethernet/intel/e1000/ |
H A D | e1000_param.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2006 Intel Corporation. */ 12 #define OPTION_UNSET -1 30 * Valid Range: 80-256 for 82542 and 82543 gigabit ethernet controllers 31 * Valid Range: 80-4096 for 82544 and newer 39 * Valid Range: 80-256 for 82542 and 82543 gigabit ethernet controllers 40 * Valid Range: 80-4096 for 82544 and newer 49 * - 0 - auto-negotiate at all supported speeds 50 * - 10 - only link at 10 Mbps 51 * - 100 - only link at 100 Mbps [all …]
|
H A D | e1000_hw.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright(c) 1999 - 2006 Intel Corporation. */ 44 e1000_eeprom_none, /* No NVM support */ 267 s32 e1000_reset_hw(struct e1000_hw *hw); 268 s32 e1000_init_hw(struct e1000_hw *hw); 269 s32 e1000_set_mac_type(struct e1000_hw *hw); 270 void e1000_set_media_type(struct e1000_hw *hw); 273 s32 e1000_setup_link(struct e1000_hw *hw); 274 s32 e1000_phy_setup_autoneg(struct e1000_hw *hw); 275 void e1000_config_collision_dist(struct e1000_hw *hw); [all …]
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | faraday,ftgmac100.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - $ref: ethernet-controller.yaml# 13 - Po-Yu Chuang <ratbert@faraday-tech.com> 18 - const: faraday,ftgmac100 19 - items: 20 - enum: 21 - aspeed,ast2400-mac 22 - aspeed,ast2500-mac [all …]
|
/linux/drivers/net/wireless/ath/ath9k/ |
H A D | ar9003_mac.c | 2 * Copyright (c) 2010-2011 Atheros Communications Inc. 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 17 #include "hw.h" 21 static void ar9003_hw_rx_enable(struct ath_hw *hw) in ar9003_hw_rx_enable() argument 23 REG_WRITE(hw, AR_CR, 0); in ar9003_hw_rx_enable() 30 int checksum = 0; in ar9003_set_txdesc() local 39 (i->qcu << AR_TxQcuNum_S) | desc_len; in ar9003_set_txdesc() 41 checksum += val; in ar9003_set_txdesc() 42 WRITE_ONCE(ads->info, val); in ar9003_set_txdesc() 44 checksum += i->link; in ar9003_set_txdesc() [all …]
|
/linux/Documentation/netlink/specs/ |
H A D | netdev.yaml | 1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 9 - 11 name: xdp-act 12 render-max: true 14 - 19 - 23 - 24 name: ndo-xmit 27 - 28 name: xsk-zerocopy [all …]
|
/linux/net/ipv6/ |
H A D | ip6_checksum.c | 1 // SPDX-License-Identifier: GPL-2.0 5 #include <asm/checksum.h> 18 sum += (__force u32)saddr->s6_addr32[0]; in csum_ipv6_magic() 19 carry = (sum < (__force u32)saddr->s6_addr32[0]); in csum_ipv6_magic() 22 sum += (__force u32)saddr->s6_addr32[1]; in csum_ipv6_magic() 23 carry = (sum < (__force u32)saddr->s6_addr32[1]); in csum_ipv6_magic() 26 sum += (__force u32)saddr->s6_addr32[2]; in csum_ipv6_magic() 27 carry = (sum < (__force u32)saddr->s6_addr32[2]); in csum_ipv6_magic() 30 sum += (__force u32)saddr->s6_addr32[3]; in csum_ipv6_magic() 31 carry = (sum < (__force u32)saddr->s6_addr32[3]); in csum_ipv6_magic() [all …]
|
H A D | udp_offload.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 22 struct sk_buff *segs = ERR_PTR(-EINVAL); in udp6_ufo_fragment() 33 if (skb->encapsulation && skb_shinfo(skb)->gso_type & in udp6_ufo_fragment() 40 if (!(skb_shinfo(skb)->gso_type & (SKB_GSO_UDP | SKB_GSO_UDP_L4))) in udp6_ufo_fragment() 46 if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) in udp6_ufo_fragment() 49 mss = skb_shinfo(skb)->gso_size; in udp6_ufo_fragment() 50 if (unlikely(skb->len <= mss)) in udp6_ufo_fragment() 53 /* Do software UFO. Complete and fill in the UDP checksum as HW cannot in udp6_ufo_fragment() 54 * do checksum of UDP packets sent as multiple IP fragments. in udp6_ufo_fragment() 60 uh->check = 0; in udp6_ufo_fragment() [all …]
|
/linux/drivers/net/ethernet/intel/idpf/ |
H A D | idpf_singleq_txrx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 * idpf_tx_singleq_csum - Enable tx checksum offloads 14 * Returns 0 or error (negative) if checksum offload cannot be executed, 1 35 if (skb->ip_summed != CHECKSUM_PARTIAL) in idpf_tx_singleq_csum() 42 l2_len = ip.hdr - skb->data; in idpf_tx_singleq_csum() 44 is_tso = !!(off->tx_flags & IDPF_TX_FLAGS_TSO); in idpf_tx_singleq_csum() 45 if (skb->encapsulation) { in idpf_tx_singleq_csum() 49 if (off->tx_flags & IDPF_TX_FLAGS_IPV4) { in idpf_tx_singleq_csum() 58 l4_proto = ip.v4->protocol; in idpf_tx_singleq_csum() 59 } else if (off->tx_flags & IDPF_TX_FLAGS_IPV6) { in idpf_tx_singleq_csum() [all …]
|
/linux/arch/mips/include/asm/octeon/ |
H A D | cvmx-wqe.h | 7 * Copyright (c) 2003-2008 Cavium Networks 14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 43 #include <asm/octeon/cvmx-packet.h> 53 * HW decode / err_code in work queue entry 61 /* HW sets this to the number of buffers used by this packet */ 63 /* HW sets to the number of L2 bytes prior to the IP */ 70 /* HW sets to the DSA/VLAN CFI flag (valid when vlan_valid) */ 72 /* HW sets to the DSA/VLAN_ID field (valid when vlan_valid) */ 102 * - 1 = Malformed L4 [all …]
|
/linux/Documentation/networking/ |
H A D | tls-offload.rst | 1 .. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 13 For details regarding the user-facing interface refer to the TLS 18 * Software crypto mode (``TLS_SW``) - CPU handles the cryptography. 24 * Packet-based NIC offload mode (``TLS_HW``) - the NIC handles crypto 28 (``ethtool`` flags ``tls-hw-tx-offload`` and ``tls-hw-rx-offload``). 29 * Full TCP NIC offload mode (``TLS_HW_RECORD``) - mode of operation where 33 abilities or QoS and packet scheduling (``ethtool`` flag ``tls-hw-record``). 36 offload opt-in or opt-out on per-connection basis is not currently supported. 39 -- 52 -- [all …]
|
/linux/arch/x86/kernel/ |
H A D | mpparse.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * compliant MP-table parsing routines. 36 * Checksum an MP configuration block. 45 while (len--) in mpf_checksum() 55 topology_register_apic(m->apicid, CPU_ACPIID_INVALID, m->cpuflag & CPU_ENABLED); in MP_processor_info() 56 if (!(m->cpuflag & CPU_ENABLED)) in MP_processor_info() 59 if (m->cpuflag & CPU_BOOTPROCESSOR) in MP_processor_info() 60 bootup_cpu = " (Bootup-CPU)"; in MP_processor_info() 62 pr_info("Processor #%d%s\n", m->apicid, bootup_cpu); in MP_processor_info() 69 memcpy(str, m->bustype, 6); in mpc_oem_bus_info() [all …]
|
/linux/drivers/net/wireless/microchip/wilc1000/ |
H A D | wlan_cfg.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries. 113 u8 checksum = 0; in wilc_wlan_cfg_set_bin() local 124 checksum += frame[offset + i + 4]; in wilc_wlan_cfg_set_bin() 127 frame[offset + size + 4] = checksum; in wilc_wlan_cfg_set_bin() 142 struct wilc_cfg *cfg = &wl->cfg; in wilc_wlan_parse_response_frame() 150 while (cfg->b[i].id != WID_NIL && cfg->b[i].id != wid) in wilc_wlan_parse_response_frame() 153 if (cfg->b[i].id == wid) in wilc_wlan_parse_response_frame() 154 cfg->b[i].val = info[4]; in wilc_wlan_parse_response_frame() 160 while (cfg->hw[i].id != WID_NIL && cfg->hw[i].id != wid) in wilc_wlan_parse_response_frame() [all …]
|