58 *pobject = nv_object(obj);
63 nv_wo32(obj, 0x04, 0x00000000);
64 nv_wo32(obj, 0x08, 0x00000000);
65 nv_wo32(obj, 0x0c, 0x00000000);
71 .ctor = nv50_mpeg_object_ctor,
80 nv50_mpeg_sclass[] = {
81 { 0x3174, &nv50_mpeg_ofuncs },
101 *pobject = nv_object(chan);
105 nv_wo32(chan, 0x0070, 0x00801ec1);
106 nv_wo32(chan, 0x007c, 0x0000037c);
139 u32 stat = nv_rd32(priv, 0x00b100);
140 u32 type = nv_rd32(priv, 0x00b230);
141 u32 mthd = nv_rd32(priv, 0x00b234);
142 u32 data = nv_rd32(priv, 0x00b238);
145 if (stat & 0x01000000) {
147 if (type == 0x00000020 && mthd == 0x0000) {
148 nv_wr32(priv, 0x00b308, 0x00000100);
154 nv_info(priv,
"0x%08x 0x%08x 0x%08x 0x%08x\n",
155 stat, type, mthd, data);
158 nv_wr32(priv, 0x00b100, stat);
159 nv_wr32(priv, 0x00b230, 0x00000001);
168 if (nv_rd32(priv, 0x00b100))
171 if (nv_rd32(priv, 0x00b800)) {
172 u32 stat = nv_rd32(priv, 0x00b800);
173 nv_info(priv,
"PMSRCH: 0x%08x\n", stat);
174 nv_wr32(priv, 0xb800, stat);
187 *pobject = nv_object(priv);
191 nv_subdev(priv)->unit = 0x00400002;
192 nv_subdev(priv)->intr = nv50_vpe_intr;
193 nv_engine(priv)->cclass = &nv50_mpeg_cclass;
194 nv_engine(priv)->sclass = nv50_mpeg_sclass;
209 nv_wr32(priv, 0x00b32c, 0x00000000);
210 nv_wr32(priv, 0x00b314, 0x00000100);
211 nv_wr32(priv, 0x00b0e0, 0x0000001a);
213 nv_wr32(priv, 0x00b220, 0x00000044);
214 nv_wr32(priv, 0x00b300, 0x00801ec1);
215 nv_wr32(priv, 0x00b390, 0x00000000);
216 nv_wr32(priv, 0x00b394, 0x00000000);
217 nv_wr32(priv, 0x00b398, 0x00000000);
218 nv_mask(priv, 0x00b32c, 0x00000001, 0x00000001);
220 nv_wr32(priv, 0x00b100, 0xffffffff);
221 nv_wr32(priv, 0x00b140, 0xffffffff);
223 if (!
nv_wait(priv, 0x00b200, 0x00000001, 0x00000000)) {
224 nv_error(priv,
"timeout 0x%08x\n", nv_rd32(priv, 0x00b200));
235 .ctor = nv50_mpeg_ctor,