Lines Matching defs:obj

80 nouveau_object_ioctl(struct nouveau_object *obj, void *data, uint32_t size)
82 struct nouveau_drm *drm = nouveau_drm(obj);
90 if (!obj->length) {
91 if (obj != &drm->client)
92 args->v0.object = (unsigned long)(void *)obj;
99 args->v0.token = obj->handle;
108 nouveau_object_mthd(struct nouveau_object *obj,
111 struct nouveau_drm *drm = nouveau_drm(obj);
135 ret = nouveau_object_ioctl(obj, args, argc);
150 nouveau_object_sclass_get(struct nouveau_object *obj,
153 struct nouveau_drm *drm = nouveau_drm(obj);
163 return abi16_sclass(obj, psclass);
174 ret = nouveau_object_ioctl(obj, args, size);
200 nouveau_object_mclass(struct nouveau_object *obj,
207 cnt = nouveau_object_sclass_get(obj, &sclass);
227 nouveau_object_fini(struct nouveau_object *obj)
236 if (obj->data) {
237 abi16_delete(obj);
238 free(obj->data);
239 obj->data = NULL;
243 nouveau_object_ioctl(obj, &args, sizeof(args));
249 struct nouveau_object *obj)
260 obj->parent = parent;
261 obj->handle = handle;
262 obj->oclass = oclass;
263 obj->length = 0;
264 obj->data = NULL;
266 if (!abi16_object(obj, &func) && drm->nvif) {
273 args->new.token = (unsigned long)(void *)obj;
274 args->new.object = (unsigned long)(void *)obj;
283 obj->length = size ? size : sizeof(struct nouveau_object *);
284 if (!(obj->data = malloc(obj->length)))
287 memcpy(obj->data, data, obj->length);
288 *(struct nouveau_object **)obj->data = obj;
290 ret = func(obj);
294 nouveau_object_fini(obj);
306 struct nouveau_object *obj;
309 if (!(obj = malloc(sizeof(*obj))))
312 ret = nouveau_object_init(parent, handle, oclass, data, length, obj);
314 free(obj);
318 *pobj = obj;
325 struct nouveau_object *obj = *pobj;
326 if (obj) {
327 nouveau_object_fini(obj);
328 free(obj);