Lines Matching refs:slots

106 	unsigned			slots;  member
175 static int ipu_dmfc_setup_channel(struct dmfc_channel *dmfc, int slots, in ipu_dmfc_setup_channel() argument
183 slots, segment, dmfc->data->ipu_channel); in ipu_dmfc_setup_channel()
185 switch (slots) { in ipu_dmfc_setup_channel()
226 dmfc->slots = slots; in ipu_dmfc_setup_channel()
229 dmfc->slotmask = ((1 << slots) - 1) << segment; in ipu_dmfc_setup_channel()
237 int slots = 1; in dmfc_bandwidth_to_slots() local
239 while (slots * priv->bandwidth_per_slot < bandwidth) in dmfc_bandwidth_to_slots()
240 slots *= 2; in dmfc_bandwidth_to_slots()
242 return slots; in dmfc_bandwidth_to_slots()
245 static int dmfc_find_slots(struct ipu_dmfc_priv *priv, int slots) in dmfc_find_slots() argument
250 slotmask_need = (1 << slots) - 1; in dmfc_find_slots()
272 dmfc->slots, dmfc->segment); in ipu_dmfc_free_bandwidth()
276 if (!dmfc->slots) in ipu_dmfc_free_bandwidth()
280 dmfc->slots = 0; in ipu_dmfc_free_bandwidth()
287 if (priv->channels[i].slots > 0) { in ipu_dmfc_free_bandwidth()
289 dmfc_find_slots(priv, priv->channels[i].slots); in ipu_dmfc_free_bandwidth()
291 ((1 << priv->channels[i].slots) - 1) << in ipu_dmfc_free_bandwidth()
297 if (priv->channels[i].slots > 0) in ipu_dmfc_free_bandwidth()
299 priv->channels[i].slots, in ipu_dmfc_free_bandwidth()
312 int slots = dmfc_bandwidth_to_slots(priv, bandwidth_pixel_per_second); in ipu_dmfc_alloc_bandwidth() local
323 if (slots > 8) { in ipu_dmfc_alloc_bandwidth()
330 segment = dmfc_find_slots(priv, slots * 2); in ipu_dmfc_alloc_bandwidth()
331 else if (slots < 2) in ipu_dmfc_alloc_bandwidth()
333 slots = 2; in ipu_dmfc_alloc_bandwidth()
336 slots *= 2; in ipu_dmfc_alloc_bandwidth()
338 segment = dmfc_find_slots(priv, slots); in ipu_dmfc_alloc_bandwidth()
344 ipu_dmfc_setup_channel(dmfc, slots, segment, burstsize); in ipu_dmfc_alloc_bandwidth()
360 if ((dmfc->slots * 64 * 4) / width > dmfc->data->max_fifo_lines) in ipu_dmfc_init_channel()