Lines Matching full:ibi

409 	} ibi;  member
866 s16 ibi; member
953 data->ibi = -1; in cdns_i3c_master_attach_i3c_dev()
1308 if (id >= master->ibi.num_slots || (ibir & IBIR_ERROR)) in cdns_i3c_master_handle_ibi()
1311 dev = master->ibi.slots[id]; in cdns_i3c_master_handle_ibi()
1312 spin_lock(&master->ibi.lock); in cdns_i3c_master_handle_ibi()
1325 dev->ibi->max_payload_len); in cdns_i3c_master_handle_ibi()
1330 spin_unlock(&master->ibi.lock); in cdns_i3c_master_handle_ibi()
1406 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_disable_ibi()
1407 sirmap = readl(master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_disable_ibi()
1408 sirmap &= ~SIR_MAP_DEV_CONF_MASK(data->ibi); in cdns_i3c_master_disable_ibi()
1409 sirmap |= SIR_MAP_DEV_CONF(data->ibi, in cdns_i3c_master_disable_ibi()
1411 writel(sirmap, master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_disable_ibi()
1412 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_disable_ibi()
1426 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_enable_ibi()
1427 sirmap = readl(master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_enable_ibi()
1428 sirmap &= ~SIR_MAP_DEV_CONF_MASK(data->ibi); in cdns_i3c_master_enable_ibi()
1437 sirmap |= SIR_MAP_DEV_CONF(data->ibi, sircfg); in cdns_i3c_master_enable_ibi()
1438 writel(sirmap, master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_enable_ibi()
1439 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_enable_ibi()
1444 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_enable_ibi()
1445 sirmap = readl(master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_enable_ibi()
1446 sirmap &= ~SIR_MAP_DEV_CONF_MASK(data->ibi); in cdns_i3c_master_enable_ibi()
1447 sirmap |= SIR_MAP_DEV_CONF(data->ibi, in cdns_i3c_master_enable_ibi()
1449 writel(sirmap, master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_enable_ibi()
1450 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_enable_ibi()
1469 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_request_ibi()
1470 for (i = 0; i < master->ibi.num_slots; i++) { in cdns_i3c_master_request_ibi()
1471 if (!master->ibi.slots[i]) { in cdns_i3c_master_request_ibi()
1472 data->ibi = i; in cdns_i3c_master_request_ibi()
1473 master->ibi.slots[i] = dev; in cdns_i3c_master_request_ibi()
1477 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_request_ibi()
1479 if (i < master->ibi.num_slots) in cdns_i3c_master_request_ibi()
1495 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_free_ibi()
1496 master->ibi.slots[data->ibi] = NULL; in cdns_i3c_master_free_ibi()
1497 data->ibi = -1; in cdns_i3c_master_free_ibi()
1498 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_free_ibi()
1610 spin_lock_init(&master->ibi.lock); in cdns_i3c_master_probe()
1611 master->ibi.num_slots = CONF_STATUS1_IBI_HW_RES(val); in cdns_i3c_master_probe()
1612 master->ibi.slots = devm_kcalloc(&pdev->dev, master->ibi.num_slots, in cdns_i3c_master_probe()
1613 sizeof(*master->ibi.slots), in cdns_i3c_master_probe()
1615 if (!master->ibi.slots) in cdns_i3c_master_probe()