Lines Matching defs:offload
109 struct tc_taprio_qopt_offload offload;
417 /* txtime-assist and full offload are mutually exclusive */
545 /* Devices with full offload are expected to honor this in hardware */
629 /* Will not be called in the full offload case, since the TX queues are
648 * the skb into smaller chunks. Drivers with full offload are
834 /* Will not be called in the full offload case, since the TX queues are
1374 __offload = kzalloc(struct_size(__offload, offload.entries, num_entries),
1381 return &__offload->offload;
1385 *offload)
1389 __offload = container_of(offload, struct __tc_taprio_qopt_offload,
1390 offload);
1394 return offload;
1398 void taprio_offload_free(struct tc_taprio_qopt_offload *offload)
1402 __offload = container_of(offload, struct __tc_taprio_qopt_offload,
1403 offload);
1415 * When using full offload, the admin configuration is promoted to oper at the
1421 * offload state (PENDING, ACTIVE, INACTIVE) so it can be visible in dump().
1455 struct tc_taprio_qopt_offload *offload,
1461 offload->base_time = sched->base_time;
1462 offload->cycle_time = sched->cycle_time;
1463 offload->cycle_time_extension = sched->cycle_time_extension;
1466 struct tc_taprio_sched_entry *e = &offload->entries[i];
1479 offload->num_entries = i;
1516 struct tc_taprio_qopt_offload *offload;
1522 "Device does not support taprio offload");
1539 offload = taprio_offload_alloc(sched->num_entries);
1540 if (!offload) {
1542 "Not enough memory for enabling offload mode");
1545 offload->cmd = TAPRIO_CMD_REPLACE;
1546 offload->extack = extack;
1547 mqprio_qopt_reconstruct(dev, &offload->mqprio.qopt);
1548 offload->mqprio.extack = extack;
1549 taprio_sched_to_offload(dev, sched, offload, &caps);
1550 mqprio_fp_to_offload(q->fp, &offload->mqprio);
1553 offload->max_sdu[tc] = q->max_sdu[tc];
1555 err = ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TAPRIO, offload);
1558 "Device failed to setup taprio offload");
1565 /* The offload structure may linger around via a reference taken by the
1569 offload->extack = NULL;
1570 offload->mqprio.extack = NULL;
1571 taprio_offload_free(offload);
1581 struct tc_taprio_qopt_offload *offload;
1587 offload = taprio_offload_alloc(0);
1588 if (!offload) {
1590 "Not enough memory to disable offload mode");
1593 offload->cmd = TAPRIO_CMD_DESTROY;
1595 err = ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TAPRIO, offload);
1598 "Device failed to disable offload");
1605 taprio_offload_free(offload);
1610 /* If full offload is enabled, the only possible clockid is the net device's
1633 "The 'clockid' cannot be specified for full offload");
1785 "Preemption only supported with full offload");
2152 /* In offload mode, the root taprio qdisc is bypassed
2200 /* In offload mode, the child Qdisc is directly attached to the netdev
2204 * both software and offload cases, to have an up-to-date reference to
2334 struct tc_taprio_qopt_offload *offload,
2348 * that stats are optional to the offload itself
2355 err = ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TAPRIO, offload);
2383 struct tc_taprio_qopt_offload offload = {
2387 return taprio_dump_xstats(sch, d, &offload, &offload.stats);
2491 struct tc_taprio_qopt_offload offload = {
2502 return taprio_dump_xstats(sch, d, &offload, &offload.queue_stats.stats);