Lines Matching refs:rirb

68 	bus->rirb.addr = bus->rb.addr + 2048;  in snd_hdac_bus_init_cmd_io()
69 bus->rirb.buf = (__le32 *)(bus->rb.area + 2048); in snd_hdac_bus_init_cmd_io()
70 bus->rirb.wp = bus->rirb.rp = 0; in snd_hdac_bus_init_cmd_io()
71 memset(bus->rirb.cmds, 0, sizeof(bus->rirb.cmds)); in snd_hdac_bus_init_cmd_io()
72 snd_hdac_chip_writel(bus, RIRBLBASE, (u32)bus->rirb.addr); in snd_hdac_bus_init_cmd_io()
73 snd_hdac_chip_writel(bus, RIRBUBASE, upper_32_bits(bus->rirb.addr)); in snd_hdac_bus_init_cmd_io()
168 bus->rirb.cmds[addr]++; in snd_hdac_bus_send_cmd()
199 if (wp == bus->rirb.wp) in snd_hdac_bus_update_rirb()
201 bus->rirb.wp = wp; in snd_hdac_bus_update_rirb()
203 while (bus->rirb.rp != wp) { in snd_hdac_bus_update_rirb()
204 bus->rirb.rp++; in snd_hdac_bus_update_rirb()
205 bus->rirb.rp %= AZX_MAX_RIRB_ENTRIES; in snd_hdac_bus_update_rirb()
207 rp = bus->rirb.rp << 1; /* an RIRB entry is 8-bytes */ in snd_hdac_bus_update_rirb()
208 res_ex = le32_to_cpu(bus->rirb.buf[rp + 1]); in snd_hdac_bus_update_rirb()
209 res = le32_to_cpu(bus->rirb.buf[rp]); in snd_hdac_bus_update_rirb()
214 res, res_ex, bus->rirb.rp, wp); in snd_hdac_bus_update_rirb()
218 else if (bus->rirb.cmds[addr]) { in snd_hdac_bus_update_rirb()
219 bus->rirb.res[addr] = res; in snd_hdac_bus_update_rirb()
220 bus->rirb.cmds[addr]--; in snd_hdac_bus_update_rirb()
221 if (!bus->rirb.cmds[addr] && in snd_hdac_bus_update_rirb()
259 if (!bus->rirb.cmds[addr]) { in snd_hdac_bus_get_response()
261 *res = bus->rirb.res[addr]; /* the last value */ in snd_hdac_bus_get_response()