Lines Matching full:offload
86 struct tc_taprio_qopt_offload offload; member
289 /* txtime-assist and full offload are mutually exclusive */ in taprio_flags_valid()
1129 __offload = kzalloc(struct_size(__offload, offload.entries, num_entries), in taprio_offload_alloc()
1136 return &__offload->offload; in taprio_offload_alloc()
1140 *offload) in taprio_offload_get()
1144 __offload = container_of(offload, struct __tc_taprio_qopt_offload, in taprio_offload_get()
1145 offload); in taprio_offload_get()
1149 return offload; in taprio_offload_get()
1153 void taprio_offload_free(struct tc_taprio_qopt_offload *offload) in taprio_offload_free() argument
1157 __offload = container_of(offload, struct __tc_taprio_qopt_offload, in taprio_offload_free()
1158 offload); in taprio_offload_free()
1170 * When using full offload, the admin configuration is promoted to oper at the
1176 * offload state (PENDING, ACTIVE, INACTIVE) so it can be visible in dump().
1216 struct tc_taprio_qopt_offload *offload) in taprio_sched_to_offload() argument
1221 offload->base_time = sched->base_time; in taprio_sched_to_offload()
1222 offload->cycle_time = sched->cycle_time; in taprio_sched_to_offload()
1223 offload->cycle_time_extension = sched->cycle_time_extension; in taprio_sched_to_offload()
1226 struct tc_taprio_sched_entry *e = &offload->entries[i]; in taprio_sched_to_offload()
1235 offload->num_entries = i; in taprio_sched_to_offload()
1244 struct tc_taprio_qopt_offload *offload; in taprio_enable_offload() local
1249 "Device does not support taprio offload"); in taprio_enable_offload()
1253 offload = taprio_offload_alloc(sched->num_entries); in taprio_enable_offload()
1254 if (!offload) { in taprio_enable_offload()
1256 "Not enough memory for enabling offload mode"); in taprio_enable_offload()
1259 offload->enable = 1; in taprio_enable_offload()
1260 taprio_sched_to_offload(dev, sched, offload); in taprio_enable_offload()
1262 err = ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TAPRIO, offload); in taprio_enable_offload()
1265 "Device failed to setup taprio offload"); in taprio_enable_offload()
1270 taprio_offload_free(offload); in taprio_enable_offload()
1280 struct tc_taprio_qopt_offload *offload; in taprio_disable_offload() local
1289 offload = taprio_offload_alloc(0); in taprio_disable_offload()
1290 if (!offload) { in taprio_disable_offload()
1292 "Not enough memory to disable offload mode"); in taprio_disable_offload()
1295 offload->enable = 0; in taprio_disable_offload()
1297 err = ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TAPRIO, offload); in taprio_disable_offload()
1300 "Device failed to disable offload"); in taprio_disable_offload()
1305 taprio_offload_free(offload); in taprio_disable_offload()
1310 /* If full offload is enabled, the only possible clockid is the net device's
1333 "The 'clockid' cannot be specified for full offload"); in taprio_parse_clockid()