Home
last modified time | relevance | path

Searched refs:offload (Results 1 – 25 of 239) sorted by relevance

12345678910

/linux-6.12.1/drivers/net/can/dev/
Drx-offload.c24 can_rx_offload_le(struct can_rx_offload *offload, in can_rx_offload_le() argument
27 if (offload->inc) in can_rx_offload_le()
34 can_rx_offload_inc(struct can_rx_offload *offload, unsigned int *val) in can_rx_offload_inc() argument
36 if (offload->inc) in can_rx_offload_inc()
44 struct can_rx_offload *offload = container_of(napi, in can_rx_offload_napi_poll() local
47 struct net_device *dev = offload->dev; in can_rx_offload_napi_poll()
53 (skb = skb_dequeue(&offload->skb_queue))) { in can_rx_offload_napi_poll()
69 if (!skb_queue_empty(&offload->skb_queue)) in can_rx_offload_napi_poll()
70 napi_schedule(&offload->napi); in can_rx_offload_napi_poll()
141 can_rx_offload_offload_one(struct can_rx_offload *offload, unsigned int n) in can_rx_offload_offload_one() argument
[all …]
/linux-6.12.1/kernel/bpf/
Doffload.c110 struct bpf_prog_offload *offload = prog->aux->offload; in __bpf_prog_offload_destroy() local
112 if (offload->dev_state) in __bpf_prog_offload_destroy()
113 offload->offdev->ops->destroy(prog); in __bpf_prog_offload_destroy()
115 list_del_init(&offload->offloads); in __bpf_prog_offload_destroy()
116 kfree(offload); in __bpf_prog_offload_destroy()
117 prog->aux->offload = NULL; in __bpf_prog_offload_destroy()
150 struct bpf_prog_offload *offload, *ptmp; in __bpf_offload_dev_netdev_unregister() local
169 list_for_each_entry(offload, &ondev->progs, offloads) in __bpf_offload_dev_netdev_unregister()
170 offload->netdev = altdev->netdev; in __bpf_offload_dev_netdev_unregister()
177 list_for_each_entry_safe(offload, ptmp, &ondev->progs, offloads) in __bpf_offload_dev_netdev_unregister()
[all …]
/linux-6.12.1/include/linux/can/
Drx-offload.h18 struct sk_buff *(*mailbox_read)(struct can_rx_offload *offload,
35 struct can_rx_offload *offload);
37 struct can_rx_offload *offload,
40 struct can_rx_offload *offload,
42 int can_rx_offload_irq_offload_timestamp(struct can_rx_offload *offload,
44 int can_rx_offload_irq_offload_fifo(struct can_rx_offload *offload);
45 int can_rx_offload_queue_timestamp(struct can_rx_offload *offload,
47 unsigned int can_rx_offload_get_echo_skb_queue_timestamp(struct can_rx_offload *offload,
50 int can_rx_offload_queue_tail(struct can_rx_offload *offload,
52 unsigned int can_rx_offload_get_echo_skb_queue_tail(struct can_rx_offload *offload,
[all …]
/linux-6.12.1/drivers/gpu/drm/amd/display/dc/
Ddc_helper.c43 struct dc_reg_helper_state *offload, in submit_dmub_read_modify_write() argument
46 struct dmub_rb_cmd_read_modify_write *cmd_buf = &offload->cmd_data.read_modify_write; in submit_dmub_read_modify_write()
48 offload->should_burst_write = in submit_dmub_read_modify_write()
49 (offload->same_addr_count == (DMUB_READ_MODIFY_WRITE_SEQ__MAX - 1)); in submit_dmub_read_modify_write()
51 sizeof(struct dmub_cmd_read_modify_write_sequence) * offload->reg_seq_count; in submit_dmub_read_modify_write()
53 dc_wake_and_execute_dmub_cmd(ctx, &offload->cmd_data, DM_DMUB_WAIT_TYPE_NO_WAIT); in submit_dmub_read_modify_write()
57 offload->reg_seq_count = 0; in submit_dmub_read_modify_write()
58 offload->same_addr_count = 0; in submit_dmub_read_modify_write()
62 struct dc_reg_helper_state *offload, in submit_dmub_burst_write() argument
65 struct dmub_rb_cmd_burst_write *cmd_buf = &offload->cmd_data.burst_write; in submit_dmub_burst_write()
[all …]
/linux-6.12.1/net/netfilter/
Dnf_flow_table_offload.c733 const struct flow_offload_work *offload, in nf_flow_offload_rule_alloc() argument
736 const struct nf_flowtable *flowtable = offload->flowtable; in nf_flow_offload_rule_alloc()
738 struct flow_offload *flow = offload->flow; in nf_flow_offload_rule_alloc()
802 static int nf_flow_offload_alloc(const struct flow_offload_work *offload, in nf_flow_offload_alloc() argument
805 struct net *net = read_pnet(&offload->flowtable->net); in nf_flow_offload_alloc()
807 flow_rule[0] = nf_flow_offload_rule_alloc(net, offload, in nf_flow_offload_alloc()
812 flow_rule[1] = nf_flow_offload_rule_alloc(net, offload, in nf_flow_offload_alloc()
871 static int flow_offload_tuple_add(struct flow_offload_work *offload, in flow_offload_tuple_add() argument
875 return nf_flow_offload_tuple(offload->flowtable, offload->flow, in flow_offload_tuple_add()
877 offload->flowtable->priority, in flow_offload_tuple_add()
[all …]
/linux-6.12.1/drivers/net/dsa/sja1105/
Dsja1105_tas.c31 const struct tc_taprio_qopt_offload *offload; in sja1105_tas_set_runtime_params() local
33 offload = tas_data->offload[port]; in sja1105_tas_set_runtime_params()
34 if (!offload) in sja1105_tas_set_runtime_params()
39 if (max_cycle_time < offload->cycle_time) in sja1105_tas_set_runtime_params()
40 max_cycle_time = offload->cycle_time; in sja1105_tas_set_runtime_params()
41 if (latest_base_time < offload->base_time) in sja1105_tas_set_runtime_params()
42 latest_base_time = offload->base_time; in sja1105_tas_set_runtime_params()
43 if (earliest_base_time > offload->base_time) { in sja1105_tas_set_runtime_params()
44 earliest_base_time = offload->base_time; in sja1105_tas_set_runtime_params()
45 its_cycle_time = offload->cycle_time; in sja1105_tas_set_runtime_params()
[all …]
/linux-6.12.1/Documentation/networking/
Dxfrm_device.rst18 Luckily, there are NICs that offer a hardware based IPsec offload which
21 hardware offload.
23 Right now, there are two types of hardware offload that kernel supports.
24 * IPsec crypto offload:
27 * IPsec packet offload:
34 Userland access to the offload is typically through a system such as
37 like this for crypto offload:
43 offload dev eth4 dir in
45 and for packet offload
51 offload packet dev eth4 dir in
[all …]
Dtls-offload.rst4 Kernel TLS offload
10 Linux kernel provides TLS connection offload infrastructure. Once a TCP
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
36 offload opt-in or opt-out on per-connection basis is not currently supported.
48 for crypto offload based on the socket the packet is attached to,
63 .. kernel-figure:: tls-offload-layers.svg
64 :alt: TLS offload layers
82 network device is offload-capable and attempts the offload. In case offload
[all …]
Dsegmentation-offloads.rst12 to take advantage of segmentation offload capabilities of various NICs.
34 offload. For this reason TSO is normally disabled if the Tx checksum
35 offload for a given device is disabled.
37 In order to support TCP segmentation offload it is necessary to populate
55 UDP fragmentation offload allows a device to fragment an oversized UDP
57 fragmentation offload are the same as TSO. However the IPv4 ID for
70 for such instances an additional set of segmentation offload types were
102 header has requested a remote checksum offload. In this case the inner
110 Generic segmentation offload is a pure software offload that is meant to
116 Before enabling any hardware segmentation offload a corresponding software
[all …]
Dnf_flowtable.rst9 also provides hardware offload support. The flowtable supports for the layer 3
16 path, from the second packet on, you might decide to offload the flow to the
60 |-----| | 'flow offload' rule |
105 The 'flow offload' action from the forward chain 'y' adds an entry to the
183 Hardware offload
186 If your network device provides hardware offload support, you can turn it on by
187 means of the 'offload' flag in your flowtable definition, e.g.
194 flags offload;
200 a chance to offload the flow to the network device.
204 refers to the software offload mode, so there is a distinction between [OFFLOAD]
[all …]
/linux-6.12.1/drivers/net/wireless/ath/ath12k/
Dwow.c609 struct wmi_arp_ns_offload_arg *offload) in ath12k_wow_generate_ns_mc_addr() argument
613 for (i = 0; i < offload->ipv6_count; i++) { in ath12k_wow_generate_ns_mc_addr()
614 offload->self_ipv6_addr[i][0] = 0xff; in ath12k_wow_generate_ns_mc_addr()
615 offload->self_ipv6_addr[i][1] = 0x02; in ath12k_wow_generate_ns_mc_addr()
616 offload->self_ipv6_addr[i][11] = 0x01; in ath12k_wow_generate_ns_mc_addr()
617 offload->self_ipv6_addr[i][12] = 0xff; in ath12k_wow_generate_ns_mc_addr()
618 offload->self_ipv6_addr[i][13] = in ath12k_wow_generate_ns_mc_addr()
619 offload->ipv6_addr[i][13]; in ath12k_wow_generate_ns_mc_addr()
620 offload->self_ipv6_addr[i][14] = in ath12k_wow_generate_ns_mc_addr()
621 offload->ipv6_addr[i][14]; in ath12k_wow_generate_ns_mc_addr()
[all …]
/linux-6.12.1/drivers/net/ethernet/netronome/
DKconfig33 bool "NFP4000/NFP6000 TC Flower offload support"
39 Enable driver support for TC Flower offload on NFP4000 and NFP6000.
40 Say Y, if you are planning to make use of TC Flower offload
42 TC Flower offload requires specific FW to work.
58 bool "NFP IPsec crypto offload support"
63 Enable driver support IPsec crypto offload on NFP NIC.
65 offload. NOTE that IPsec crypto offload on NFP NIC
/linux-6.12.1/drivers/net/can/
Dti_hecc.c179 struct can_rx_offload offload; member
523 struct ti_hecc_priv *rx_offload_to_priv(struct can_rx_offload *offload) in rx_offload_to_priv() argument
525 return container_of(offload, struct ti_hecc_priv, offload); in rx_offload_to_priv()
528 static struct sk_buff *ti_hecc_mailbox_read(struct can_rx_offload *offload, in ti_hecc_mailbox_read() argument
532 struct ti_hecc_priv *priv = rx_offload_to_priv(offload); in ti_hecc_mailbox_read()
544 skb = alloc_can_skb(offload->dev, &cf); in ti_hecc_mailbox_read()
626 err = can_rx_offload_queue_timestamp(&priv->offload, skb, in ti_hecc_error()
662 err = can_rx_offload_queue_timestamp(&priv->offload, skb, timestamp); in ti_hecc_change_state()
750 can_rx_offload_get_echo_skb_queue_timestamp(&priv->offload, in ti_hecc_interrupt()
765 can_rx_offload_irq_offload_timestamp(&priv->offload, in ti_hecc_interrupt()
[all …]
Dat91_can.c153 struct can_rx_offload offload; member
168 static inline struct at91_priv *rx_offload_to_priv(struct can_rx_offload *offload) in rx_offload_to_priv() argument
170 return container_of(offload, struct at91_priv, offload); in rx_offload_to_priv()
571 err = can_rx_offload_queue_timestamp(&priv->offload, skb, timestamp); in at91_rx_overflow_err()
585 static struct sk_buff *at91_mailbox_read(struct can_rx_offload *offload, in at91_mailbox_read() argument
589 const struct at91_priv *priv = rx_offload_to_priv(offload); in at91_mailbox_read()
603 skb = alloc_can_skb(offload->dev, &cf); in at91_mailbox_read()
632 at91_rx_overflow_err(offload->dev); in at91_mailbox_read()
748 err = can_rx_offload_queue_timestamp(&priv->offload, skb, timestamp); in at91_irq_err_line()
813 err = can_rx_offload_queue_timestamp(&priv->offload, skb, timestamp); in at91_irq_err_frame()
[all …]
Dbxcan.c167 struct can_rx_offload offload; member
356 struct bxcan_priv *rx_offload_to_priv(struct can_rx_offload *offload) in rx_offload_to_priv() argument
358 return container_of(offload, struct bxcan_priv, offload); in rx_offload_to_priv()
361 static struct sk_buff *bxcan_mailbox_read(struct can_rx_offload *offload, in bxcan_mailbox_read() argument
365 struct bxcan_priv *priv = rx_offload_to_priv(offload); in bxcan_mailbox_read()
381 skb = alloc_can_skb(offload->dev, &cf); in bxcan_mailbox_read()
423 can_rx_offload_irq_offload_fifo(&priv->offload); in bxcan_rx_isr()
424 can_rx_offload_irq_finish(&priv->offload); in bxcan_rx_isr()
510 err = can_rx_offload_queue_timestamp(&priv->offload, skb, in bxcan_handle_state_change()
595 err = can_rx_offload_queue_timestamp(&priv->offload, skb, in bxcan_handle_bus_err()
[all …]
/linux-6.12.1/net/sched/
Dsch_taprio.c111 struct tc_taprio_qopt_offload offload; member
1361 __offload = kzalloc(struct_size(__offload, offload.entries, num_entries), in taprio_offload_alloc()
1368 return &__offload->offload; in taprio_offload_alloc()
1372 *offload) in taprio_offload_get()
1376 __offload = container_of(offload, struct __tc_taprio_qopt_offload, in taprio_offload_get()
1377 offload); in taprio_offload_get()
1381 return offload; in taprio_offload_get()
1385 void taprio_offload_free(struct tc_taprio_qopt_offload *offload) in taprio_offload_free() argument
1389 __offload = container_of(offload, struct __tc_taprio_qopt_offload, in taprio_offload_free()
1390 offload); in taprio_offload_free()
[all …]
Dsch_htb.c182 bool offload; member
1008 if (cl->leaf.q && !q->offload) in htb_reset()
1056 bool offload; in htb_init() local
1081 offload = nla_get_flag(tb[TCA_HTB_OFFLOAD]); in htb_init()
1083 if (offload) { in htb_init()
1115 if (!offload) in htb_init()
1147 q->offload = true; in htb_init()
1196 if (q->offload) in htb_attach()
1208 if (q->offload) in htb_dump()
1230 if (q->offload && nla_put_flag(skb, TCA_HTB_OFFLOAD)) in htb_dump()
[all …]
/linux-6.12.1/drivers/net/ethernet/intel/idpf/
Didpf_singleq_txrx.c330 struct idpf_tx_offload_params *offload) in idpf_tx_singleq_build_ctx_desc() argument
335 if (offload->tso_segs) { in idpf_tx_singleq_build_ctx_desc()
338 offload->tso_len); in idpf_tx_singleq_build_ctx_desc()
339 qw1 |= FIELD_PREP(IDPF_TXD_CTX_QW1_MSS_M, offload->mss); in idpf_tx_singleq_build_ctx_desc()
346 desc->qw0.tunneling_params = cpu_to_le32(offload->cd_tunneling); in idpf_tx_singleq_build_ctx_desc()
363 struct idpf_tx_offload_params offload = { }; in idpf_tx_singleq_frame() local
387 offload.tx_flags |= IDPF_TX_FLAGS_IPV4; in idpf_tx_singleq_frame()
389 offload.tx_flags |= IDPF_TX_FLAGS_IPV6; in idpf_tx_singleq_frame()
391 tso = idpf_tso(skb, &offload); in idpf_tx_singleq_frame()
395 csum = idpf_tx_singleq_csum(skb, &offload); in idpf_tx_singleq_frame()
[all …]
/linux-6.12.1/net/tls/
DKconfig21 bool "Transport Layer Security HW offload"
28 Enable kernel support for HW offload of the TLS protocol.
37 Enable kernel support for legacy HW offload of the TLS protocol,
/linux-6.12.1/Documentation/crypto/
Dasync-tx-api.rst34 the details of different hardware offload engine implementations. Code
36 the API will fit the chain of operations to the available offload
42 The API was initially designed to offload the memory copy and
43 xor-parity-calculations of the md-raid5 driver using the offload engines
50 the platform they are running on has offload capabilities. The
96 resources, under control of the offload engine driver, to be reused as
100 acknowledged by the application before the offload engine driver is allowed to
131 context if the offload engine driver supports interrupts, or it is
260 offload engine channel management routines
262 location for offload engine drivers
[all …]
/linux-6.12.1/Documentation/scsi/
Dbnx2fc.rst6 Broadcom FCoE offload through bnx2fc is full stateful hardware offload that
12 Despite the fact that the Broadcom's FCoE offload is fully offloaded, it does
14 interface (e.g. eth0) associated with the FCoE offload initiator must be 'up'.
18 Furthermore, the Broadcom FCoE offload solution creates VLAN interfaces to
/linux-6.12.1/tools/testing/selftests/net/
Dnetdevice.sh137 ethtool --offload "$netdev" "$feature" off
145 ethtool --offload "$netdev" "$feature" on
154 ethtool --offload "$netdev" "$feature" "$VALUE"
/linux-6.12.1/drivers/scsi/bnx2fc/
DKconfig3 tristate "QLogic FCoE offload support"
14 This driver supports FCoE offload for the QLogic devices.
/linux-6.12.1/drivers/net/can/flexcan/
Dflexcan-core.c873 err = can_rx_offload_queue_timestamp(&priv->offload, skb, timestamp); in flexcan_irq_bus_err()
920 err = can_rx_offload_queue_timestamp(&priv->offload, skb, timestamp); in flexcan_irq_state()
955 static inline struct flexcan_priv *rx_offload_to_priv(struct can_rx_offload *offload) in rx_offload_to_priv() argument
957 return container_of(offload, struct flexcan_priv, offload); in rx_offload_to_priv()
960 static struct sk_buff *flexcan_mailbox_read(struct can_rx_offload *offload, in flexcan_mailbox_read() argument
964 struct flexcan_priv *priv = rx_offload_to_priv(offload); in flexcan_mailbox_read()
989 offload->dev->stats.rx_over_errors++; in flexcan_mailbox_read()
990 offload->dev->stats.rx_errors++; in flexcan_mailbox_read()
1006 skb = alloc_canfd_skb(offload->dev, &cfd); in flexcan_mailbox_read()
1008 skb = alloc_can_skb(offload->dev, (struct can_frame **)&cfd); in flexcan_mailbox_read()
[all …]
/linux-6.12.1/drivers/net/netdevsim/
Dbpf.c68 state = env->prog->aux->offload->dev_priv; in nsim_bpf_verify_insn()
99 state = prog->aux->offload->dev_priv; in nsim_prog_set_loaded()
147 if (prog && !prog->aux->offload && !ns->bpf_tc_non_bound_accept) { in nsim_bpf_setup_tc_block_cb()
249 prog->aux->offload->dev_priv = state; in nsim_bpf_create_prog()
257 bpf_offload_dev_priv(prog->aux->offload->offdev); in nsim_bpf_verifier_prep()
267 struct nsim_bpf_bound_prog *state = prog->aux->offload->dev_priv; in nsim_bpf_translate()
277 state = prog->aux->offload->dev_priv; in nsim_bpf_destroy_prog()
295 if (bpf->prog && bpf->prog->aux->offload) { in nsim_setup_prog_checks()
319 state = bpf->prog->aux->offload->dev_priv; in nsim_setup_prog_hw_checks()

12345678910