Esempio n. 1
0
static int
nvkm_ioctl_unmap(struct nvkm_object *object, void *data, u32 size)
{
	union {
		struct nvif_ioctl_unmap none;
	} *args = data;
	int ret;

	nvif_ioctl(object, "unmap size %d\n", size);
	if (nvif_unvers(args->none)) {
		nvif_ioctl(object, "unmap\n");
	}

	return ret;
}
Esempio n. 2
0
static int
nvkm_ioctl_nop(struct nouveau_handle *handle, void *data, u32 size)
{
	struct nouveau_object *object = handle->object;
	union {
		struct nvif_ioctl_nop none;
	} *args = data;
	int ret;

	nv_ioctl(object, "nop size %d\n", size);
	if (nvif_unvers(args->none)) {
		nv_ioctl(object, "nop\n");
	}

	return ret;
}
Esempio n. 3
0
static int
nvkm_ioctl_del(struct nvkm_object *object, void *data, u32 size)
{
	union {
		struct nvif_ioctl_del none;
	} *args = data;
	int ret;

	nvif_ioctl(object, "delete size %d\n", size);
	if (nvif_unvers(args->none)) {
		nvif_ioctl(object, "delete\n");
		nvkm_object_fini(object, false);
		nvkm_object_del(&object);
	}

	return ret;
}
Esempio n. 4
0
static int
nvkm_ioctl_del(struct nouveau_handle *handle, void *data, u32 size)
{
	struct nouveau_object *object = handle->object;
	union {
		struct nvif_ioctl_del none;
	} *args = data;
	int ret;

	nv_ioctl(object, "delete size %d\n", size);
	if (nvif_unvers(args->none)) {
		nv_ioctl(object, "delete\n");
		nouveau_handle_fini(handle, false);
		nouveau_handle_destroy(handle);
	}

	return ret;
}
Esempio n. 5
0
int
nv50_disp_chan_uevent_ctor(struct nvkm_object *object, void *data, u32 size,
			   struct nvkm_notify *notify)
{
	struct nv50_disp_chan *chan = nv50_disp_chan(object);
	union {
		struct nvif_notify_uevent_req none;
	} *args = data;
	int ret = -ENOSYS;

	if (!(ret = nvif_unvers(ret, &data, &size, args->none))) {
		notify->size  = sizeof(struct nvif_notify_uevent_rep);
		notify->types = 1;
		notify->index = chan->chid.user;
		return 0;
	}

	return ret;
}