Lines Matching refs:ibi
174 * @ibi: IBI structure
175 * @ibi.num_slots: Number of slots available in @ibi.slots
176 * @ibi.slots: Available IBI slots
177 * @ibi.tbq_slot: To be queued IBI slot
178 * @ibi.lock: IBI lock
207 } ibi;
214 * @ibi: IBI slot index in the master structure
219 int ibi;
371 master->ibi.tbq_slot = slot;
453 if (master->ibi.tbq_slot) {
456 master->ibi.tbq_slot);
457 master->ibi.tbq_slot = NULL;
469 i3c_master_queue_ibi(dev, master->ibi.tbq_slot);
470 master->ibi.tbq_slot = NULL;
666 data->ibi = -1;
1419 if (dev->ibi->max_payload_len > SVC_I3C_FIFO_SIZE) {
1421 dev->ibi->max_payload_len, SVC_I3C_FIFO_SIZE);
1429 spin_lock_irqsave(&master->ibi.lock, flags);
1430 for (i = 0; i < master->ibi.num_slots; i++) {
1431 if (!master->ibi.slots[i]) {
1432 data->ibi = i;
1433 master->ibi.slots[i] = dev;
1437 spin_unlock_irqrestore(&master->ibi.lock, flags);
1439 if (i < master->ibi.num_slots)
1455 spin_lock_irqsave(&master->ibi.lock, flags);
1456 master->ibi.slots[data->ibi] = NULL;
1457 data->ibi = -1;
1458 spin_unlock_irqrestore(&master->ibi.lock, flags);
1605 spin_lock_init(&master->ibi.lock);
1606 master->ibi.num_slots = SVC_I3C_MAX_DEVS;
1607 master->ibi.slots = devm_kcalloc(&pdev->dev, master->ibi.num_slots,
1608 sizeof(*master->ibi.slots),
1610 if (!master->ibi.slots) {