Lines Matching refs:imsg_ring
2132 spin_lock(&priv->imsg_ring[mbox].lock); in tsi721_imsg_handler()
2152 priv->imsg_ring[mbox].dev_id, mbox, -1); in tsi721_imsg_handler()
2163 spin_unlock(&priv->imsg_ring[mbox].lock); in tsi721_imsg_handler()
2195 priv->imsg_ring[mbox].dev_id = dev_id; in tsi721_open_inb_mbox()
2196 priv->imsg_ring[mbox].size = entries; in tsi721_open_inb_mbox()
2197 priv->imsg_ring[mbox].rx_slot = 0; in tsi721_open_inb_mbox()
2198 priv->imsg_ring[mbox].desc_rdptr = 0; in tsi721_open_inb_mbox()
2199 priv->imsg_ring[mbox].fq_wrptr = 0; in tsi721_open_inb_mbox()
2200 for (i = 0; i < priv->imsg_ring[mbox].size; i++) in tsi721_open_inb_mbox()
2201 priv->imsg_ring[mbox].imq_base[i] = NULL; in tsi721_open_inb_mbox()
2202 spin_lock_init(&priv->imsg_ring[mbox].lock); in tsi721_open_inb_mbox()
2205 priv->imsg_ring[mbox].buf_base = in tsi721_open_inb_mbox()
2208 &priv->imsg_ring[mbox].buf_phys, in tsi721_open_inb_mbox()
2211 if (priv->imsg_ring[mbox].buf_base == NULL) { in tsi721_open_inb_mbox()
2219 priv->imsg_ring[mbox].imfq_base = in tsi721_open_inb_mbox()
2222 &priv->imsg_ring[mbox].imfq_phys, in tsi721_open_inb_mbox()
2225 if (priv->imsg_ring[mbox].imfq_base == NULL) { in tsi721_open_inb_mbox()
2233 priv->imsg_ring[mbox].imd_base = in tsi721_open_inb_mbox()
2236 &priv->imsg_ring[mbox].imd_phys, GFP_KERNEL); in tsi721_open_inb_mbox()
2238 if (priv->imsg_ring[mbox].imd_base == NULL) { in tsi721_open_inb_mbox()
2247 free_ptr = priv->imsg_ring[mbox].imfq_base; in tsi721_open_inb_mbox()
2250 (u64)(priv->imsg_ring[mbox].buf_phys) + in tsi721_open_inb_mbox()
2271 iowrite32(((u64)priv->imsg_ring[mbox].imfq_phys >> 32), in tsi721_open_inb_mbox()
2273 iowrite32(((u64)priv->imsg_ring[mbox].imfq_phys & in tsi721_open_inb_mbox()
2280 iowrite32(((u64)priv->imsg_ring[mbox].imd_phys >> 32), in tsi721_open_inb_mbox()
2282 iowrite32(((u32)priv->imsg_ring[mbox].imd_phys & in tsi721_open_inb_mbox()
2326 priv->imsg_ring[mbox].fq_wrptr = entries - 1; in tsi721_open_inb_mbox()
2335 priv->imsg_ring[mbox].size * sizeof(struct tsi721_imsg_desc), in tsi721_open_inb_mbox()
2336 priv->imsg_ring[mbox].imd_base, in tsi721_open_inb_mbox()
2337 priv->imsg_ring[mbox].imd_phys); in tsi721_open_inb_mbox()
2339 priv->imsg_ring[mbox].imd_base = NULL; in tsi721_open_inb_mbox()
2344 priv->imsg_ring[mbox].size * 8, in tsi721_open_inb_mbox()
2345 priv->imsg_ring[mbox].imfq_base, in tsi721_open_inb_mbox()
2346 priv->imsg_ring[mbox].imfq_phys); in tsi721_open_inb_mbox()
2348 priv->imsg_ring[mbox].imfq_base = NULL; in tsi721_open_inb_mbox()
2352 priv->imsg_ring[mbox].size * TSI721_MSG_BUFFER_SIZE, in tsi721_open_inb_mbox()
2353 priv->imsg_ring[mbox].buf_base, in tsi721_open_inb_mbox()
2354 priv->imsg_ring[mbox].buf_phys); in tsi721_open_inb_mbox()
2356 priv->imsg_ring[mbox].buf_base = NULL; in tsi721_open_inb_mbox()
2392 for (rx_slot = 0; rx_slot < priv->imsg_ring[mbox].size; rx_slot++) in tsi721_close_inb_mbox()
2393 priv->imsg_ring[mbox].imq_base[rx_slot] = NULL; in tsi721_close_inb_mbox()
2397 priv->imsg_ring[mbox].size * TSI721_MSG_BUFFER_SIZE, in tsi721_close_inb_mbox()
2398 priv->imsg_ring[mbox].buf_base, in tsi721_close_inb_mbox()
2399 priv->imsg_ring[mbox].buf_phys); in tsi721_close_inb_mbox()
2401 priv->imsg_ring[mbox].buf_base = NULL; in tsi721_close_inb_mbox()
2405 priv->imsg_ring[mbox].size * 8, in tsi721_close_inb_mbox()
2406 priv->imsg_ring[mbox].imfq_base, in tsi721_close_inb_mbox()
2407 priv->imsg_ring[mbox].imfq_phys); in tsi721_close_inb_mbox()
2409 priv->imsg_ring[mbox].imfq_base = NULL; in tsi721_close_inb_mbox()
2413 priv->imsg_ring[mbox].size * sizeof(struct tsi721_imsg_desc), in tsi721_close_inb_mbox()
2414 priv->imsg_ring[mbox].imd_base, in tsi721_close_inb_mbox()
2415 priv->imsg_ring[mbox].imd_phys); in tsi721_close_inb_mbox()
2417 priv->imsg_ring[mbox].imd_base = NULL; in tsi721_close_inb_mbox()
2432 rx_slot = priv->imsg_ring[mbox].rx_slot; in tsi721_add_inb_buffer()
2433 if (priv->imsg_ring[mbox].imq_base[rx_slot]) { in tsi721_add_inb_buffer()
2441 priv->imsg_ring[mbox].imq_base[rx_slot] = buf; in tsi721_add_inb_buffer()
2443 if (++priv->imsg_ring[mbox].rx_slot == priv->imsg_ring[mbox].size) in tsi721_add_inb_buffer()
2444 priv->imsg_ring[mbox].rx_slot = 0; in tsi721_add_inb_buffer()
2472 desc = priv->imsg_ring[mbox].imd_base; in tsi721_get_inb_message()
2473 desc += priv->imsg_ring[mbox].desc_rdptr; in tsi721_get_inb_message()
2478 rx_slot = priv->imsg_ring[mbox].rx_slot; in tsi721_get_inb_message()
2479 while (priv->imsg_ring[mbox].imq_base[rx_slot] == NULL) { in tsi721_get_inb_message()
2480 if (++rx_slot == priv->imsg_ring[mbox].size) in tsi721_get_inb_message()
2487 rx_virt = priv->imsg_ring[mbox].buf_base + in tsi721_get_inb_message()
2488 (rx_phys - (u64)priv->imsg_ring[mbox].buf_phys); in tsi721_get_inb_message()
2490 buf = priv->imsg_ring[mbox].imq_base[rx_slot]; in tsi721_get_inb_message()
2496 priv->imsg_ring[mbox].imq_base[rx_slot] = NULL; in tsi721_get_inb_message()
2499 if (++priv->imsg_ring[mbox].desc_rdptr == priv->imsg_ring[mbox].size) in tsi721_get_inb_message()
2500 priv->imsg_ring[mbox].desc_rdptr = 0; in tsi721_get_inb_message()
2502 iowrite32(priv->imsg_ring[mbox].desc_rdptr, in tsi721_get_inb_message()
2506 free_ptr = priv->imsg_ring[mbox].imfq_base; in tsi721_get_inb_message()
2507 free_ptr[priv->imsg_ring[mbox].fq_wrptr] = cpu_to_le64(rx_phys); in tsi721_get_inb_message()
2509 if (++priv->imsg_ring[mbox].fq_wrptr == priv->imsg_ring[mbox].size) in tsi721_get_inb_message()
2510 priv->imsg_ring[mbox].fq_wrptr = 0; in tsi721_get_inb_message()
2512 iowrite32(priv->imsg_ring[mbox].fq_wrptr, in tsi721_get_inb_message()