Lines Matching refs:tas_data
15 container_of((d), struct sja1105_private, tas_data)
19 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_tas_set_runtime_params() local
20 struct sja1105_gating_config *gating_cfg = &tas_data->gating_cfg; in sja1105_tas_set_runtime_params()
28 tas_data->enabled = false; in sja1105_tas_set_runtime_params()
33 offload = tas_data->offload[port]; in sja1105_tas_set_runtime_params()
37 tas_data->enabled = true; in sja1105_tas_set_runtime_params()
50 tas_data->enabled = true; in sja1105_tas_set_runtime_params()
62 if (!tas_data->enabled) in sja1105_tas_set_runtime_params()
83 tas_data->earliest_base_time = earliest_base_time; in sja1105_tas_set_runtime_params()
84 tas_data->max_cycle_time = max_cycle_time; in sja1105_tas_set_runtime_params()
164 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_init_scheduling() local
165 struct sja1105_gating_config *gating_cfg = &tas_data->gating_cfg; in sja1105_init_scheduling()
212 if (tas_data->offload[port]) { in sja1105_init_scheduling()
213 num_entries += tas_data->offload[port]->num_entries; in sja1105_init_scheduling()
278 offload = tas_data->offload[port]; in sja1105_init_scheduling()
290 tas_data->earliest_base_time); in sja1105_init_scheduling()
291 rbt -= tas_data->earliest_base_time; in sja1105_init_scheduling()
332 tas_data->earliest_base_time); in sja1105_init_scheduling()
333 rbt -= tas_data->earliest_base_time; in sja1105_init_scheduling()
386 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_tas_check_conflicts() local
396 offload = tas_data->offload[port]; in sja1105_tas_check_conflicts()
469 struct sja1105_gating_config *gating_cfg = &priv->tas_data.gating_cfg; in sja1105_gating_check_conflicts()
513 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_setup_tc_taprio() local
519 if (!!tas_data->offload[port] == admin->enable) in sja1105_setup_tc_taprio()
523 taprio_offload_free(tas_data->offload[port]); in sja1105_setup_tc_taprio()
524 tas_data->offload[port] = NULL; in sja1105_setup_tc_taprio()
572 tas_data->offload[port] = taprio_offload_get(admin); in sja1105_setup_tc_taprio()
583 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_tas_check_running() local
594 tas_data->state = SJA1105_TAS_STATE_RUNNING; in sja1105_tas_check_running()
597 tas_data->state = SJA1105_TAS_STATE_DISABLED; in sja1105_tas_check_running()
629 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_tas_start() local
636 if (tas_data->state == SJA1105_TAS_STATE_ENABLED_NOT_RUNNING || in sja1105_tas_start()
637 tas_data->state == SJA1105_TAS_STATE_RUNNING) { in sja1105_tas_start()
649 tas_data->state = SJA1105_TAS_STATE_ENABLED_NOT_RUNNING; in sja1105_tas_start()
656 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_tas_stop() local
663 if (tas_data->state == SJA1105_TAS_STATE_DISABLED) { in sja1105_tas_stop()
675 tas_data->state = SJA1105_TAS_STATE_DISABLED; in sja1105_tas_stop()
723 struct sja1105_tas_data *tas_data = work_to_sja1105_tas(work); in sja1105_tas_state_machine() local
724 struct sja1105_private *priv = tas_to_sja1105(tas_data); in sja1105_tas_state_machine()
734 switch (tas_data->state) { in sja1105_tas_state_machine()
737 if (tas_data->last_op != SJA1105_PTP_ADJUSTFREQ) in sja1105_tas_state_machine()
740 rc = sja1105_tas_adjust_drift(priv, tas_data->max_cycle_time); in sja1105_tas_state_machine()
757 base_time = future_base_time(tas_data->earliest_base_time, in sja1105_tas_state_machine()
758 tas_data->max_cycle_time, in sja1105_tas_state_machine()
766 tas_data->oper_base_time = base_time; in sja1105_tas_state_machine()
782 if (tas_data->last_op != SJA1105_PTP_ADJUSTFREQ) { in sja1105_tas_state_machine()
795 if (now < tas_data->oper_base_time) { in sja1105_tas_state_machine()
797 diff = ns_to_timespec64(tas_data->oper_base_time - now); in sja1105_tas_state_machine()
808 if (tas_data->state != SJA1105_TAS_STATE_RUNNING) in sja1105_tas_state_machine()
817 if (tas_data->last_op != SJA1105_PTP_ADJUSTFREQ) { in sja1105_tas_state_machine()
826 if (tas_data->state != SJA1105_TAS_STATE_RUNNING) in sja1105_tas_state_machine()
845 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_tas_clockstep() local
847 if (!tas_data->enabled) in sja1105_tas_clockstep()
850 tas_data->last_op = SJA1105_PTP_CLOCKSTEP; in sja1105_tas_clockstep()
851 schedule_work(&tas_data->tas_work); in sja1105_tas_clockstep()
857 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_tas_adjfreq() local
859 if (!tas_data->enabled) in sja1105_tas_adjfreq()
863 if (tas_data->state == SJA1105_TAS_STATE_RUNNING) in sja1105_tas_adjfreq()
866 tas_data->last_op = SJA1105_PTP_ADJUSTFREQ; in sja1105_tas_adjfreq()
867 schedule_work(&tas_data->tas_work); in sja1105_tas_adjfreq()
873 struct sja1105_tas_data *tas_data = &priv->tas_data; in sja1105_tas_setup() local
875 INIT_WORK(&tas_data->tas_work, sja1105_tas_state_machine); in sja1105_tas_setup()
876 tas_data->state = SJA1105_TAS_STATE_DISABLED; in sja1105_tas_setup()
877 tas_data->last_op = SJA1105_PTP_NONE; in sja1105_tas_setup()
879 INIT_LIST_HEAD(&tas_data->gating_cfg.entries); in sja1105_tas_setup()
888 cancel_work_sync(&priv->tas_data.tas_work); in sja1105_tas_teardown()
891 offload = priv->tas_data.offload[port]; in sja1105_tas_teardown()