Lines Matching full:speed
20 /* Each entry in the following struct defines properties for a given speed
24 /* Number of devices that requires this speed. */
27 /* Array of devices that requires this speed. */
30 /* Number of slots required for one device running this speed. */
33 /* Gap between two slots for one device running this speed. */
61 static enum lan969x_dsm_cal_dev lan969x_dsm_cal_get_dev(int speed) in lan969x_dsm_cal_get_dev() argument
63 return (speed == 10000 ? DSM_CAL_DEV_10G : in lan969x_dsm_cal_get_dev()
64 speed == 5000 ? DSM_CAL_DEV_5G : in lan969x_dsm_cal_get_dev()
65 speed == 2500 ? DSM_CAL_DEV_2G5 : in lan969x_dsm_cal_get_dev()
82 struct lan969x_dsm_cal_dev_speed *speed; in lan969x_dsm_calendar_calc() local
116 speed = &dev_speeds[dev]; in lan969x_dsm_calendar_calc()
117 speed->devs[speed->n_devs++] = i; in lan969x_dsm_calendar_calc()
141 speed = &dev_speeds[i]; in lan969x_dsm_calendar_calc()
143 if (speed->n_devs == 0) in lan969x_dsm_calendar_calc()
147 speed->n_slots = DIV_ROUND_UP(required_bw, bw_per_slot); in lan969x_dsm_calendar_calc()
149 if (speed->n_slots) in lan969x_dsm_calendar_calc()
150 speed->gap = DIV_ROUND_UP(cal_len, in lan969x_dsm_calendar_calc()
151 speed->n_slots); in lan969x_dsm_calendar_calc()
153 speed->gap = 0; in lan969x_dsm_calendar_calc()
155 n_slots += speed->n_slots * speed->n_devs; in lan969x_dsm_calendar_calc()
175 speed = &dev_speeds[i]; in lan969x_dsm_calendar_calc()
176 for (u32 dev = 0; dev < speed->n_devs; dev++) { in lan969x_dsm_calendar_calc()
179 for (n_slots = 0; n_slots < speed->n_slots; n_slots++) { in lan969x_dsm_calendar_calc()
184 data->schedule[idx] = speed->devs[dev]; in lan969x_dsm_calendar_calc()
185 idx += speed->gap; in lan969x_dsm_calendar_calc()