Lines Matching +full:0 +full:x03010000

36 	nvkm_mask(device, 0x00e4e4 + (aux->ch * 0x50), 0x00310000, 0x00000000);  in g94_i2c_aux_fini()
44 const u32 ureq = unksel ? 0x00100000 : 0x00200000; in g94_i2c_aux_init()
45 const u32 urep = unksel ? 0x01000000 : 0x02000000; in g94_i2c_aux_init()
51 ctrl = nvkm_rd32(device, 0x00e4e4 + (aux->ch * 0x50)); in g94_i2c_aux_init()
57 } while (ctrl & 0x03010000); in g94_i2c_aux_init()
60 nvkm_mask(device, 0x00e4e4 + (aux->ch * 0x50), 0x00300000, ureq); in g94_i2c_aux_init()
63 ctrl = nvkm_rd32(device, 0x00e4e4 + (aux->ch * 0x50)); in g94_i2c_aux_init()
70 } while ((ctrl & 0x03000000) != urep); in g94_i2c_aux_init()
72 return 0; in g94_i2c_aux_init()
82 const u32 base = aux->ch * 0x50; in g94_i2c_aux_xfer()
83 u32 ctrl, stat, timeout, retries = 0; in g94_i2c_aux_xfer()
90 if (ret < 0) in g94_i2c_aux_xfer()
93 stat = nvkm_rd32(device, 0x00e4e8 + base); in g94_i2c_aux_xfer()
94 if (!(stat & 0x10000000)) { in g94_i2c_aux_xfer()
104 for (i = 0; i < 16; i += 4) { in g94_i2c_aux_xfer()
106 nvkm_wr32(device, 0x00e4c0 + base + i, xbuf[i / 4]); in g94_i2c_aux_xfer()
110 ctrl = nvkm_rd32(device, 0x00e4e4 + base); in g94_i2c_aux_xfer()
111 ctrl &= ~0x0001f1ff; in g94_i2c_aux_xfer()
113 ctrl |= (*size ? (*size - 1) : 0x00000100); in g94_i2c_aux_xfer()
114 nvkm_wr32(device, 0x00e4e0 + base, addr); in g94_i2c_aux_xfer()
119 nvkm_wr32(device, 0x00e4e4 + base, 0x80000000 | ctrl); in g94_i2c_aux_xfer()
120 nvkm_wr32(device, 0x00e4e4 + base, 0x00000000 | ctrl); in g94_i2c_aux_xfer()
125 nvkm_wr32(device, 0x00e4e4 + base, 0x00010000 | ctrl); in g94_i2c_aux_xfer()
129 ctrl = nvkm_rd32(device, 0x00e4e4 + base); in g94_i2c_aux_xfer()
136 } while (ctrl & 0x00010000); in g94_i2c_aux_xfer()
137 ret = 0; in g94_i2c_aux_xfer()
140 stat = nvkm_mask(device, 0x00e4e8 + base, 0, 0); in g94_i2c_aux_xfer()
141 if ((stat & 0x000f0000) == 0x00080000 || in g94_i2c_aux_xfer()
142 (stat & 0x000f0000) == 0x00020000) in g94_i2c_aux_xfer()
144 if ((stat & 0x00000100)) in g94_i2c_aux_xfer()
146 if ((stat & 0x00000e00)) in g94_i2c_aux_xfer()
153 for (i = 0; i < 16; i += 4) { in g94_i2c_aux_xfer()
154 xbuf[i / 4] = nvkm_rd32(device, 0x00e4d0 + base + i); in g94_i2c_aux_xfer()
158 *size = stat & 0x0000001f; in g94_i2c_aux_xfer()
164 return ret < 0 ? ret : (stat & 0x000f0000) >> 16; in g94_i2c_aux_xfer()
181 return 0; in g94_i2c_aux_new_()