Lines Matching refs:argv
50 usif_object_new(struct drm_file *f, void *data, u32 size, void *argv, u32 argc, bool parent_abi16)
93 ret = nvif_client_ioctl(client, argv, argc);
113 } *argv = data;
119 if (ret = -ENOMEM, !argv)
121 if (ret = -EFAULT, copy_from_user(argv, user, size))
124 if (!(ret = nvif_unpack(-ENOSYS, &data, &size, argv->v0, 0, 0, true))) {
126 owner = argv->v0.owner;
127 if (argv->v0.object == 0ULL &&
128 argv->v0.type != NVIF_IOCTL_V0_DEL)
129 argv->v0.owner = NVDRM_OBJECT_ANY; /* except client */
131 argv->v0.owner = NVDRM_OBJECT_USIF;
139 if (argv->v0.route) {
140 if (ret = -EINVAL, argv->v0.route == 0xff)
141 ret = nouveau_abi16_usif(filp, argv, argc);
150 switch (argv->v0.type) {
152 ret = usif_object_new(filp, data, size, argv, argc, abi16);
155 ret = nvif_client_ioctl(client, argv, argc);
158 if (argv->v0.route == NVDRM_OBJECT_USIF) {
159 object = (void *)(unsigned long)argv->v0.token;
160 argv->v0.route = object->route;
161 argv->v0.token = object->token;
162 if (ret == 0 && argv->v0.type == NVIF_IOCTL_V0_DEL) {
167 argv->v0.route = NVIF_IOCTL_V0_ROUTE_HIDDEN;
168 argv->v0.token = 0;
170 argv->v0.owner = owner;
173 if (copy_to_user(user, argv, argc))
176 kfree(argv);