• Home
  • Raw
  • Download

Lines Matching refs:qos

100 static __u32 irlap_requested_line_capacity(struct qos_info *qos);
279 void irda_qos_compute_intersection(struct qos_info *qos, struct qos_info *new) in irda_qos_compute_intersection() argument
281 IRDA_ASSERT(qos != NULL, return;); in irda_qos_compute_intersection()
285 qos->baud_rate.bits &= new->baud_rate.bits; in irda_qos_compute_intersection()
286 qos->window_size.bits &= new->window_size.bits; in irda_qos_compute_intersection()
287 qos->min_turn_time.bits &= new->min_turn_time.bits; in irda_qos_compute_intersection()
288 qos->max_turn_time.bits &= new->max_turn_time.bits; in irda_qos_compute_intersection()
289 qos->data_size.bits &= new->data_size.bits; in irda_qos_compute_intersection()
290 qos->link_disc_time.bits &= new->link_disc_time.bits; in irda_qos_compute_intersection()
291 qos->additional_bofs.bits &= new->additional_bofs.bits; in irda_qos_compute_intersection()
293 irda_qos_bits_to_value(qos); in irda_qos_compute_intersection()
303 void irda_init_max_qos_capabilies(struct qos_info *qos) in irda_init_max_qos_capabilies() argument
314 &qos->baud_rate.bits); in irda_init_max_qos_capabilies()
319 &qos->link_disc_time.bits); in irda_init_max_qos_capabilies()
323 qos->baud_rate.bits &= 0x03ff; in irda_init_max_qos_capabilies()
325 qos->window_size.bits = 0x7f; in irda_init_max_qos_capabilies()
326 qos->min_turn_time.bits = 0xff; in irda_init_max_qos_capabilies()
327 qos->max_turn_time.bits = 0x0f; in irda_init_max_qos_capabilies()
328 qos->data_size.bits = 0x3f; in irda_init_max_qos_capabilies()
329 qos->link_disc_time.bits &= 0xff; in irda_init_max_qos_capabilies()
330 qos->additional_bofs.bits = 0xff; in irda_init_max_qos_capabilies()
340 static void irlap_adjust_qos_settings(struct qos_info *qos) in irlap_adjust_qos_settings() argument
351 if (sysctl_min_tx_turn_time > qos->min_turn_time.value) { in irlap_adjust_qos_settings()
359 8, &qos->min_turn_time.bits); in irlap_adjust_qos_settings()
361 qos->min_turn_time.value = sysctl_min_tx_turn_time; in irlap_adjust_qos_settings()
368 if ((qos->baud_rate.value < 115200) && in irlap_adjust_qos_settings()
369 (qos->max_turn_time.value < 500)) in irlap_adjust_qos_settings()
373 __func__, qos->max_turn_time.value); in irlap_adjust_qos_settings()
374 qos->max_turn_time.value = 500; in irlap_adjust_qos_settings()
381 index = value_index(qos->data_size.value, data_sizes, 6); in irlap_adjust_qos_settings()
382 line_capacity = irlap_max_line_capacity(qos->baud_rate.value, in irlap_adjust_qos_settings()
383 qos->max_turn_time.value); in irlap_adjust_qos_settings()
386 while ((qos->data_size.value > line_capacity) && (index > 0)) { in irlap_adjust_qos_settings()
387 qos->data_size.value = data_sizes[index--]; in irlap_adjust_qos_settings()
389 __func__, qos->data_size.value); in irlap_adjust_qos_settings()
392 while (irlap_requested_line_capacity(qos) > line_capacity) { in irlap_adjust_qos_settings()
396 if (qos->window_size.value > 1) { in irlap_adjust_qos_settings()
397 qos->window_size.value--; in irlap_adjust_qos_settings()
399 __func__, qos->window_size.value); in irlap_adjust_qos_settings()
401 qos->data_size.value = data_sizes[index--]; in irlap_adjust_qos_settings()
403 __func__, qos->data_size.value); in irlap_adjust_qos_settings()
413 if (qos->data_size.value > sysctl_max_tx_data_size) in irlap_adjust_qos_settings()
415 qos->data_size.value = sysctl_max_tx_data_size; in irlap_adjust_qos_settings()
419 if (qos->window_size.value > sysctl_max_tx_window) in irlap_adjust_qos_settings()
420 qos->window_size.value = sysctl_max_tx_window; in irlap_adjust_qos_settings()
731 static __u32 irlap_requested_line_capacity(struct qos_info *qos) in irlap_requested_line_capacity() argument
735 line_capacity = qos->window_size.value * in irlap_requested_line_capacity()
736 (qos->data_size.value + 6 + qos->additional_bofs.value) + in irlap_requested_line_capacity()
737 irlap_min_turn_time_in_bytes(qos->baud_rate.value, in irlap_requested_line_capacity()
738 qos->min_turn_time.value); in irlap_requested_line_capacity()
747 void irda_qos_bits_to_value(struct qos_info *qos) in irda_qos_bits_to_value() argument
751 IRDA_ASSERT(qos != NULL, return;); in irda_qos_bits_to_value()
753 index = msb_index(qos->baud_rate.bits); in irda_qos_bits_to_value()
754 qos->baud_rate.value = baud_rates[index]; in irda_qos_bits_to_value()
756 index = msb_index(qos->data_size.bits); in irda_qos_bits_to_value()
757 qos->data_size.value = data_sizes[index]; in irda_qos_bits_to_value()
759 index = msb_index(qos->window_size.bits); in irda_qos_bits_to_value()
760 qos->window_size.value = index+1; in irda_qos_bits_to_value()
762 index = msb_index(qos->min_turn_time.bits); in irda_qos_bits_to_value()
763 qos->min_turn_time.value = min_turn_times[index]; in irda_qos_bits_to_value()
765 index = msb_index(qos->max_turn_time.bits); in irda_qos_bits_to_value()
766 qos->max_turn_time.value = max_turn_times[index]; in irda_qos_bits_to_value()
768 index = msb_index(qos->link_disc_time.bits); in irda_qos_bits_to_value()
769 qos->link_disc_time.value = link_disc_times[index]; in irda_qos_bits_to_value()
771 index = msb_index(qos->additional_bofs.bits); in irda_qos_bits_to_value()
772 qos->additional_bofs.value = add_bofs[index]; in irda_qos_bits_to_value()