Lines Matching refs:int_status
136 struct i2c_xilinx_axi_data *data, uint32_t *int_status, in i2c_xilinx_axi_target_isr() argument
139 if (*int_status & ISR_ADDR_TARGET) { in i2c_xilinx_axi_target_isr()
141 *int_status &= ~ISR_ADDR_TARGET; in i2c_xilinx_axi_target_isr()
170 } else if (*int_status & ISR_NOT_ADDR_TARGET) { in i2c_xilinx_axi_target_isr()
178 *int_status &= ~ISR_NOT_ADDR_TARGET; in i2c_xilinx_axi_target_isr()
182 } else if (data->target_writing && (*int_status & ISR_RX_FIFO_FULL)) { in i2c_xilinx_axi_target_isr()
183 *int_status &= ~ISR_RX_FIFO_FULL; in i2c_xilinx_axi_target_isr()
195 } else if (data->target_reading && (*int_status & ISR_TX_ERR_TARGET_COMP)) { in i2c_xilinx_axi_target_isr()
200 *int_status &= ~ISR_TX_ERR_TARGET_COMP; in i2c_xilinx_axi_target_isr()
203 } else if (data->target_reading && (*int_status & ISR_TX_FIFO_EMPTY)) { in i2c_xilinx_axi_target_isr()
204 *int_status &= ~ISR_TX_FIFO_EMPTY; in i2c_xilinx_axi_target_isr()
224 uint32_t int_status = sys_read32(config->base + REG_ISR) & int_enable; in i2c_xilinx_axi_isr() local
225 uint32_t ints_to_clear = int_status; in i2c_xilinx_axi_isr()
227 LOG_DBG("ISR called for 0x%08" PRIxPTR ", status 0x%02x", config->base, int_status); in i2c_xilinx_axi_isr()
229 if (int_status & ISR_ARB_LOST) { in i2c_xilinx_axi_isr()
238 if (data->target_cfg && (int_status & I2C_XILINX_AXI_TARGET_INTERRUPTS)) { in i2c_xilinx_axi_isr()
240 i2c_xilinx_axi_target_isr(config, data, &int_status, &ints_to_clear, &int_enable); in i2c_xilinx_axi_isr()
245 sys_write32(int_enable & ~int_status, config->base + REG_IER); in i2c_xilinx_axi_isr()
250 if (int_status) { in i2c_xilinx_axi_isr()
251 k_event_post(&data->irq_event, int_status); in i2c_xilinx_axi_isr()
290 const uint32_t int_status = sys_read32(config->base + REG_ISR); in i2c_xilinx_axi_clear_interrupt_no_lock() local
292 if (int_status & int_mask) { in i2c_xilinx_axi_clear_interrupt_no_lock()
293 sys_write32(int_status & int_mask, config->base + REG_ISR); in i2c_xilinx_axi_clear_interrupt_no_lock()