Lines Matching refs:group
225 struct sdw_group *group) in sdw_compute_group_params() argument
234 for (i = 0; i < group->count; i++) { in sdw_compute_group_params()
235 params[i].rate = group->rates[i]; in sdw_compute_group_params()
236 params[i].lane = group->lanes[i]; in sdw_compute_group_params()
260 for (i = 0; i < group->count; i++) { in sdw_compute_group_params()
272 for (i = 0; i < group->count; i++) { in sdw_compute_group_params()
293 static int sdw_add_element_group_count(struct sdw_group *group, in sdw_add_element_group_count() argument
296 int num = group->count; in sdw_add_element_group_count()
300 if (rate == group->rates[i] && lane == group->lanes[i]) in sdw_add_element_group_count()
306 if (group->count >= group->max_size) { in sdw_add_element_group_count()
310 group->max_size += 1; in sdw_add_element_group_count()
311 rates = krealloc(group->rates, in sdw_add_element_group_count()
312 (sizeof(int) * group->max_size), in sdw_add_element_group_count()
317 group->rates = rates; in sdw_add_element_group_count()
319 lanes = krealloc(group->lanes, in sdw_add_element_group_count()
320 (sizeof(int) * group->max_size), in sdw_add_element_group_count()
325 group->lanes = lanes; in sdw_add_element_group_count()
328 group->rates[group->count] = rate; in sdw_add_element_group_count()
329 group->lanes[group->count++] = lane; in sdw_add_element_group_count()
336 struct sdw_group *group) in sdw_get_group_count() argument
343 group->count = 0; in sdw_get_group_count()
344 group->max_size = SDW_STRM_RATE_GROUPING; in sdw_get_group_count()
345 group->rates = kcalloc(group->max_size, sizeof(int), GFP_KERNEL); in sdw_get_group_count()
346 if (!group->rates) in sdw_get_group_count()
349 group->lanes = kcalloc(group->max_size, sizeof(int), GFP_KERNEL); in sdw_get_group_count()
350 if (!group->lanes) { in sdw_get_group_count()
351 kfree(group->rates); in sdw_get_group_count()
352 group->rates = NULL; in sdw_get_group_count()
364 group->rates[group->count++] = rate; in sdw_get_group_count()
371 ret = sdw_add_element_group_count(group, rate, p_rt->lane); in sdw_get_group_count()
373 kfree(group->rates); in sdw_get_group_count()
374 kfree(group->lanes); in sdw_get_group_count()
392 struct sdw_group group; in sdw_compute_port_params() local
395 ret = sdw_get_group_count(bus, &group); in sdw_compute_port_params()
399 if (group.count == 0) in sdw_compute_port_params()
402 params = kcalloc(group.count, sizeof(*params), GFP_KERNEL); in sdw_compute_port_params()
409 ret = sdw_compute_group_params(bus, stream, params, &group); in sdw_compute_port_params()
413 _sdw_compute_port_params(bus, params, group.count); in sdw_compute_port_params()
418 kfree(group.rates); in sdw_compute_port_params()
419 kfree(group.lanes); in sdw_compute_port_params()