Home
last modified time | relevance | path

Searched +full:no +full:- +full:hw +full:- +full:checksum (Results 1 – 25 of 375) sorted by relevance

12345678910>>...15

/linux-6.14.4/drivers/net/ethernet/intel/e1000e/
Dmanage.c1 // 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 …]
D82571.c1 // 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-6.14.4/drivers/net/ethernet/intel/igb/
De1000_82575.c1 // 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-6.14.4/drivers/net/ethernet/intel/igc/
Digc_i225.c1 // 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-6.14.4/drivers/net/ethernet/intel/ixgbe/
Dixgbe_x550.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 1999 - 2024 Intel Corporation. */
17 static int ixgbe_get_invariants_X550_x(struct ixgbe_hw *hw) in ixgbe_get_invariants_X550_x() argument
19 struct ixgbe_mac_info *mac = &hw->mac; in ixgbe_get_invariants_X550_x()
20 struct ixgbe_phy_info *phy = &hw->phy; in ixgbe_get_invariants_X550_x()
21 struct ixgbe_link_info *link = &hw->link; in ixgbe_get_invariants_X550_x()
24 ixgbe_get_invariants_X540(hw); in ixgbe_get_invariants_X550_x()
26 if (mac->ops.get_media_type(hw) != ixgbe_media_type_copper) in ixgbe_get_invariants_X550_x()
27 phy->ops.set_phy_power = NULL; in ixgbe_get_invariants_X550_x()
29 link->addr = IXGBE_CS4227; in ixgbe_get_invariants_X550_x()
[all …]
Dixgbe_common.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 1999 - 2024 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 …]
Dixgbe_e610.c1 // SPDX-License-Identifier: GPL-2.0
13 * ixgbe_should_retry_aci_send_cmd_execute - decide if ACI command should
37 * ixgbe_aci_send_cmd_execute - execute sending FW Admin Command to FW Admin
39 * @hw: pointer to the HW struct
48 * * - 0 - success.
49 * * - -EIO - CSR mechanism is not enabled.
50 * * - -EBUSY - CSR mechanism is busy.
51 * * - -EINVAL - buf_size is too big or
53 * * - -ETIME - Admin Command X command timeout.
54 * * - -EIO - Admin Command X invalid state of HICR register or
[all …]
/linux-6.14.4/drivers/net/ethernet/oki-semi/pch_gbe/
Dpch_gbe_param.c1 // 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-6.14.4/include/linux/
Dnetdev_features.h1 /* 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-6.14.4/drivers/net/wireless/ath/wil6210/
Dtxrx_edma.h1 /* 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-6.14.4/include/net/
Dudplite.h1 /* 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-6.14.4/drivers/net/wireless/realtek/rtlwifi/rtl8192du/
Dtrx.c1 // 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-6.14.4/drivers/net/ethernet/atheros/alx/
Dhw.h28 * 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-6.14.4/drivers/net/wireless/ath/ath10k/
Drx_desc.h1 /* 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-6.14.4/drivers/net/ethernet/intel/i40e/
Di40e_nvm.c1 // 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-6.14.4/drivers/net/ethernet/intel/e1000/
De1000_param.c1 // 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 …]
De1000_hw.h1 /* 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-6.14.4/Documentation/devicetree/bindings/net/
Dfaraday,ftgmac100.yaml1 # 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-6.14.4/drivers/net/wireless/ath/ath9k/
Dar9003_mac.c2 * 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-6.14.4/Documentation/netlink/specs/
Dnetdev.yaml1 # 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-6.14.4/net/ipv6/
Dip6_checksum.c1 // 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 …]
Dudp_offload.c1 // 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-6.14.4/drivers/net/ethernet/intel/idpf/
Didpf_singleq_txrx.c1 // 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-6.14.4/arch/mips/include/asm/octeon/
Dcvmx-wqe.h7 * 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-6.14.4/Documentation/networking/
Dtls-offload.rst1 .. 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 …]

12345678910>>...15