133 unsigned int frames_timed_out; /**< There were frame timeouts in the last |
133 unsigned int frames_timed_out; /**< There were frame timeouts in the last |
134 call to ecrt_master_receive(). */ |
134 call to ecrt_master_receive(). */ |
135 |
135 |
136 int thread_id; /**< Master thread PID. */ |
136 int thread_id; /**< Master thread PID. */ |
137 struct completion thread_exit; /**< Thread completion object. */ |
137 struct completion thread_exit; /**< Thread completion object. */ |
138 uint32_t idle_cycle_times[HZ]; /**< Idle cycle times ring. */ |
|
139 unsigned int idle_cycle_time_pos; /**< time ring buffer position */ |
|
140 |
138 |
141 #ifdef EC_EOE |
139 #ifdef EC_EOE |
142 struct timer_list eoe_timer; /**< EoE timer object. */ |
140 struct timer_list eoe_timer; /**< EoE timer object. */ |
143 unsigned int eoe_running; /**< \a True, if EoE processing is active. */ |
141 unsigned int eoe_running; /**< \a True, if EoE processing is active. */ |
144 struct list_head eoe_handlers; /**< Ethernet-over-EtherCAT handlers. */ |
142 struct list_head eoe_handlers; /**< Ethernet-over-EtherCAT handlers. */ |
145 uint32_t eoe_cycle_times[HZ]; /**< EoE cycle times ring. */ |
|
146 unsigned int eoe_cycle_time_pos; /**< Time ring buffer position. */ |
|
147 #endif |
143 #endif |
148 |
144 |
149 spinlock_t internal_lock; /**< Spinlock used in \a IDLE phase. */ |
145 spinlock_t internal_lock; /**< Spinlock used in \a IDLE phase. */ |
150 int (*request_cb)(void *); /**< Lock request callback. */ |
146 int (*request_cb)(void *); /**< Lock request callback. */ |
151 void (*release_cb)(void *); /**< Lock release callback. */ |
147 void (*release_cb)(void *); /**< Lock release callback. */ |