Lines Matching full:offload
111 struct tc_taprio_qopt_offload offload; member
534 /* Devices with full offload are expected to honor this in hardware */
618 /* Will not be called in the full offload case, since the TX queues are
637 * the skb into smaller chunks. Drivers with full offload are in taprio_enqueue()
823 /* Will not be called in the full offload case, since the TX queues are
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()
1402 * When using full offload, the admin configuration is promoted to oper at the
1408 * offload state (PENDING, ACTIVE, INACTIVE) so it can be visible in dump().
1442 struct tc_taprio_qopt_offload *offload, in taprio_sched_to_offload() argument
1448 offload->base_time = sched->base_time; in taprio_sched_to_offload()
1449 offload->cycle_time = sched->cycle_time; in taprio_sched_to_offload()
1450 offload->cycle_time_extension = sched->cycle_time_extension; in taprio_sched_to_offload()
1453 struct tc_taprio_sched_entry *e = &offload->entries[i]; in taprio_sched_to_offload()
1466 offload->num_entries = i; in taprio_sched_to_offload()
1503 struct tc_taprio_qopt_offload *offload; in taprio_enable_offload() local
1509 "Device does not support taprio offload"); in taprio_enable_offload()
1526 offload = taprio_offload_alloc(sched->num_entries); in taprio_enable_offload()
1527 if (!offload) { in taprio_enable_offload()
1529 "Not enough memory for enabling offload mode"); in taprio_enable_offload()
1532 offload->cmd = TAPRIO_CMD_REPLACE; in taprio_enable_offload()
1533 offload->extack = extack; in taprio_enable_offload()
1534 mqprio_qopt_reconstruct(dev, &offload->mqprio.qopt); in taprio_enable_offload()
1535 offload->mqprio.extack = extack; in taprio_enable_offload()
1536 taprio_sched_to_offload(dev, sched, offload, &caps); in taprio_enable_offload()
1537 mqprio_fp_to_offload(q->fp, &offload->mqprio); in taprio_enable_offload()
1540 offload->max_sdu[tc] = q->max_sdu[tc]; in taprio_enable_offload()
1542 err = ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TAPRIO, offload); in taprio_enable_offload()
1545 "Device failed to setup taprio offload"); in taprio_enable_offload()
1552 /* The offload structure may linger around via a reference taken by the in taprio_enable_offload()
1556 offload->extack = NULL; in taprio_enable_offload()
1557 offload->mqprio.extack = NULL; in taprio_enable_offload()
1558 taprio_offload_free(offload); in taprio_enable_offload()
1568 struct tc_taprio_qopt_offload *offload; in taprio_disable_offload() local
1574 offload = taprio_offload_alloc(0); in taprio_disable_offload()
1575 if (!offload) { in taprio_disable_offload()
1577 "Not enough memory to disable offload mode"); in taprio_disable_offload()
1580 offload->cmd = TAPRIO_CMD_DESTROY; in taprio_disable_offload()
1582 err = ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TAPRIO, offload); in taprio_disable_offload()
1585 "Device failed to disable offload"); in taprio_disable_offload()
1592 taprio_offload_free(offload); in taprio_disable_offload()
1597 /* If full offload is enabled, the only possible clockid is the net device's
1620 "The 'clockid' cannot be specified for full offload"); in taprio_parse_clockid()
1769 "Preemption only supported with full offload"); in taprio_parse_tc_entries()
1833 /* txtime-assist and full offload are mutually exclusive */ in taprio_change()
2131 /* In offload mode, the root taprio qdisc is bypassed in taprio_attach()
2179 /* In offload mode, the child Qdisc is directly attached to the netdev in taprio_graft()
2183 * both software and offload cases, to have an up-to-date reference to in taprio_graft()
2313 struct tc_taprio_qopt_offload *offload, in taprio_dump_xstats() argument
2327 * that stats are optional to the offload itself in taprio_dump_xstats()
2334 err = ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TAPRIO, offload); in taprio_dump_xstats()
2362 struct tc_taprio_qopt_offload offload = { in taprio_dump_stats() local
2366 return taprio_dump_xstats(sch, d, &offload, &offload.stats); in taprio_dump_stats()
2476 struct tc_taprio_qopt_offload offload = { in taprio_dump_class_stats() local
2487 return taprio_dump_xstats(sch, d, &offload, &offload.queue_stats.stats); in taprio_dump_class_stats()