Lines Matching refs:ibi

407 	} ibi;  member
877 s16 ibi; member
965 data->ibi = -1; in cdns_i3c_master_attach_i3c_dev()
1320 if (id >= master->ibi.num_slots || (ibir & IBIR_ERROR)) in cdns_i3c_master_handle_ibi()
1323 dev = master->ibi.slots[id]; in cdns_i3c_master_handle_ibi()
1324 spin_lock(&master->ibi.lock); in cdns_i3c_master_handle_ibi()
1342 dev->ibi->max_payload_len); in cdns_i3c_master_handle_ibi()
1347 spin_unlock(&master->ibi.lock); in cdns_i3c_master_handle_ibi()
1421 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_disable_ibi()
1422 sirmap = readl(master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_disable_ibi()
1423 sirmap &= ~SIR_MAP_DEV_CONF_MASK(data->ibi); in cdns_i3c_master_disable_ibi()
1424 sirmap |= SIR_MAP_DEV_CONF(data->ibi, in cdns_i3c_master_disable_ibi()
1426 writel(sirmap, master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_disable_ibi()
1427 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_disable_ibi()
1441 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_enable_ibi()
1442 sirmap = readl(master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_enable_ibi()
1443 sirmap &= ~SIR_MAP_DEV_CONF_MASK(data->ibi); in cdns_i3c_master_enable_ibi()
1452 sirmap |= SIR_MAP_DEV_CONF(data->ibi, sircfg); in cdns_i3c_master_enable_ibi()
1453 writel(sirmap, master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_enable_ibi()
1454 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_enable_ibi()
1459 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_enable_ibi()
1460 sirmap = readl(master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_enable_ibi()
1461 sirmap &= ~SIR_MAP_DEV_CONF_MASK(data->ibi); in cdns_i3c_master_enable_ibi()
1462 sirmap |= SIR_MAP_DEV_CONF(data->ibi, in cdns_i3c_master_enable_ibi()
1464 writel(sirmap, master->regs + SIR_MAP_DEV_REG(data->ibi)); in cdns_i3c_master_enable_ibi()
1465 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_enable_ibi()
1484 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_request_ibi()
1485 for (i = 0; i < master->ibi.num_slots; i++) { in cdns_i3c_master_request_ibi()
1486 if (!master->ibi.slots[i]) { in cdns_i3c_master_request_ibi()
1487 data->ibi = i; in cdns_i3c_master_request_ibi()
1488 master->ibi.slots[i] = dev; in cdns_i3c_master_request_ibi()
1492 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_request_ibi()
1494 if (i < master->ibi.num_slots) in cdns_i3c_master_request_ibi()
1510 spin_lock_irqsave(&master->ibi.lock, flags); in cdns_i3c_master_free_ibi()
1511 master->ibi.slots[data->ibi] = NULL; in cdns_i3c_master_free_ibi()
1512 data->ibi = -1; in cdns_i3c_master_free_ibi()
1513 spin_unlock_irqrestore(&master->ibi.lock, flags); in cdns_i3c_master_free_ibi()
1633 spin_lock_init(&master->ibi.lock); in cdns_i3c_master_probe()
1634 master->ibi.num_slots = CONF_STATUS1_IBI_HW_RES(val); in cdns_i3c_master_probe()
1635 master->ibi.slots = devm_kcalloc(&pdev->dev, master->ibi.num_slots, in cdns_i3c_master_probe()
1636 sizeof(*master->ibi.slots), in cdns_i3c_master_probe()
1638 if (!master->ibi.slots) { in cdns_i3c_master_probe()