Lines Matching defs:slot

1314 	 * to reserve the address slot a second time.
2238 * @slot: the IBI slot used to store the payload
2243 void i3c_master_queue_ibi(struct i3c_dev_desc *dev, struct i3c_ibi_slot *slot)
2246 queue_work(dev->common.master->wq, &slot->work);
2252 struct i3c_ibi_slot *slot = container_of(work, struct i3c_ibi_slot,
2254 struct i3c_dev_desc *dev = slot->dev;
2258 payload.data = slot->data;
2259 payload.len = slot->len;
2264 master->ops->recycle_ibi_slot(dev, slot);
2270 struct i3c_ibi_slot *slot)
2272 slot->dev = dev;
2273 INIT_WORK(&slot->work, i3c_master_handle_ibi);
2298 struct i3c_generic_ibi_slot *slot;
2302 slot = list_first_entry(&pool->free_slots,
2304 list_del(&slot->node);
2334 struct i3c_generic_ibi_slot *slot;
2346 pool->slots = kcalloc(req->num_slots, sizeof(*slot), GFP_KERNEL);
2362 slot = &pool->slots[i];
2363 i3c_master_init_ibi_slot(dev, &slot->base);
2366 slot->base.data = pool->payload_buf +
2369 list_add_tail(&slot->node, &pool->free_slots);
2382 * i3c_generic_ibi_get_free_slot() - Get a free slot from a generic IBI pool
2383 * @pool: the pool to query an IBI slot on
2385 * Search for a free slot in a generic IBI pool.
2386 * The slot should be returned to the pool using i3c_generic_ibi_recycle_slot()
2389 * Return: a pointer to a free slot, or NULL if there's no free slot available.
2394 struct i3c_generic_ibi_slot *slot;
2398 slot = list_first_entry_or_null(&pool->free_slots,
2400 if (slot)
2401 list_del(&slot->node);
2404 return slot ? &slot->base : NULL;
2409 * i3c_generic_ibi_recycle_slot() - Return a slot to a generic IBI pool
2410 * @pool: the pool to return the IBI slot to
2411 * @s: IBI slot to recycle
2413 * Add an IBI slot back to its generic IBI pool. Should be called from the
2419 struct i3c_generic_ibi_slot *slot;
2425 slot = container_of(s, struct i3c_generic_ibi_slot, base);
2427 list_add_tail(&slot->node, &pool->free_slots);