Lines Matching refs:tas_data
15 container_of((d), struct sja1105_private, tas_data)
19 struct sja1105_tas_data *tas_data = &priv->tas_data;
20 struct sja1105_gating_config *gating_cfg = &tas_data->gating_cfg;
28 tas_data->enabled = false;
33 offload = tas_data->offload[port];
37 tas_data->enabled = true;
50 tas_data->enabled = true;
62 if (!tas_data->enabled)
83 tas_data->earliest_base_time = earliest_base_time;
84 tas_data->max_cycle_time = max_cycle_time;
164 struct sja1105_tas_data *tas_data = &priv->tas_data;
165 struct sja1105_gating_config *gating_cfg = &tas_data->gating_cfg;
212 if (tas_data->offload[port]) {
213 num_entries += tas_data->offload[port]->num_entries;
278 offload = tas_data->offload[port];
290 tas_data->earliest_base_time);
291 rbt -= tas_data->earliest_base_time;
332 tas_data->earliest_base_time);
333 rbt -= tas_data->earliest_base_time;
368 * tas_data->offload. We already know the other ports are in harmony with one
386 struct sja1105_tas_data *tas_data = &priv->tas_data;
396 offload = tas_data->offload[port];
469 struct sja1105_gating_config *gating_cfg = &priv->tas_data.gating_cfg;
513 struct sja1105_tas_data *tas_data = &priv->tas_data;
519 if ((!!tas_data->offload[port] && admin->cmd == TAPRIO_CMD_REPLACE) ||
520 (!tas_data->offload[port] && admin->cmd == TAPRIO_CMD_DESTROY))
524 taprio_offload_free(tas_data->offload[port]);
525 tas_data->offload[port] = NULL;
575 tas_data->offload[port] = taprio_offload_get(admin);
586 struct sja1105_tas_data *tas_data = &priv->tas_data;
597 tas_data->state = SJA1105_TAS_STATE_RUNNING;
600 tas_data->state = SJA1105_TAS_STATE_DISABLED;
632 struct sja1105_tas_data *tas_data = &priv->tas_data;
639 if (tas_data->state == SJA1105_TAS_STATE_ENABLED_NOT_RUNNING ||
640 tas_data->state == SJA1105_TAS_STATE_RUNNING) {
652 tas_data->state = SJA1105_TAS_STATE_ENABLED_NOT_RUNNING;
659 struct sja1105_tas_data *tas_data = &priv->tas_data;
666 if (tas_data->state == SJA1105_TAS_STATE_DISABLED) {
678 tas_data->state = SJA1105_TAS_STATE_DISABLED;
726 struct sja1105_tas_data *tas_data = work_to_sja1105_tas(work);
727 struct sja1105_private *priv = tas_to_sja1105(tas_data);
737 switch (tas_data->state) {
740 if (tas_data->last_op != SJA1105_PTP_ADJUSTFREQ)
743 rc = sja1105_tas_adjust_drift(priv, tas_data->max_cycle_time);
760 base_time = future_base_time(tas_data->earliest_base_time,
761 tas_data->max_cycle_time,
769 tas_data->oper_base_time = base_time;
785 if (tas_data->last_op != SJA1105_PTP_ADJUSTFREQ) {
798 if (now < tas_data->oper_base_time) {
800 diff = ns_to_timespec64(tas_data->oper_base_time - now);
811 if (tas_data->state != SJA1105_TAS_STATE_RUNNING)
820 if (tas_data->last_op != SJA1105_PTP_ADJUSTFREQ) {
829 if (tas_data->state != SJA1105_TAS_STATE_RUNNING)
848 struct sja1105_tas_data *tas_data = &priv->tas_data;
850 if (!tas_data->enabled)
853 tas_data->last_op = SJA1105_PTP_CLOCKSTEP;
854 schedule_work(&tas_data->tas_work);
860 struct sja1105_tas_data *tas_data = &priv->tas_data;
862 if (!tas_data->enabled)
866 if (tas_data->state == SJA1105_TAS_STATE_RUNNING)
869 tas_data->last_op = SJA1105_PTP_ADJUSTFREQ;
870 schedule_work(&tas_data->tas_work);
876 struct sja1105_tas_data *tas_data = &priv->tas_data;
878 INIT_WORK(&tas_data->tas_work, sja1105_tas_state_machine);
879 tas_data->state = SJA1105_TAS_STATE_DISABLED;
880 tas_data->last_op = SJA1105_PTP_NONE;
882 INIT_LIST_HEAD(&tas_data->gating_cfg.entries);
891 cancel_work_sync(&priv->tas_data.tas_work);
894 offload = priv->tas_data.offload[port];