42 if (parctx == parent) {
58 int length,
void **pobject)
70 ret = nouveau_engctx_exists(parent, engine, pobject);
71 spin_unlock_irqrestore(&engine->
lock, save);
81 pargpu, size, align, flags,
97 ret = nouveau_engctx_exists(parent, engine, pobject);
99 spin_unlock_irqrestore(&engine->
lock, save);
107 nv_engctx(engctx)->addr = ~0ULL;
108 spin_unlock_irqrestore(&engine->
lock, save);
123 spin_unlock_irqrestore(&engine->
lock, save);
128 if (engctx->
base.size)
148 pardev = nv_subdev(parent->
engine);
149 if (nv_parent(parent)->context_attach) {
151 ret = nv_parent(parent)->context_attach(parent,
object);
156 nv_error(parent,
"failed to attach %s context, %d\n",
161 nv_debug(parent,
"attached %s context\n", subdev->
name);
175 pardev = nv_subdev(parent->
engine);
176 if (nv_parent(parent)->context_detach) {
178 ret = nv_parent(parent)->context_detach(parent, suspend,
object);
183 nv_error(parent,
"failed to detach %s context, %d\n",
188 nv_debug(parent,
"detached %s context\n", subdev->
name);
219 if (engctx->
addr == addr) {
221 return nv_object(engctx);
224 spin_unlock_irqrestore(&engine->
lock, flags);
234 spin_unlock_irqrestore(&engine->
lock, engctx->
save);