Loading drivers/gpu/drm/nouveau/nouveau_drm.c +20 −0 Original line number Diff line number Diff line Loading @@ -116,6 +116,7 @@ nouveau_cli_fini(struct nouveau_cli *cli) { usif_client_fini(cli); nouveau_vmm_fini(&cli->vmm); nvif_mmu_fini(&cli->mmu); nvif_device_fini(&cli->device); mutex_lock(&cli->drm->master.lock); nvif_client_fini(&cli->base); Loading @@ -126,6 +127,13 @@ static int nouveau_cli_init(struct nouveau_drm *drm, const char *sname, struct nouveau_cli *cli) { static const struct nvif_mclass mmus[] = { { NVIF_CLASS_MMU_GF100, -1 }, { NVIF_CLASS_MMU_NV50 , -1 }, { NVIF_CLASS_MMU_NV04 , -1 }, {} }; u64 device = nouveau_name(drm->dev); int ret; Loading Loading @@ -160,6 +168,18 @@ nouveau_cli_init(struct nouveau_drm *drm, const char *sname, goto done; } ret = nvif_mclass(&cli->device.object, mmus); if (ret < 0) { NV_ERROR(drm, "No supported MMU class\n"); goto done; } ret = nvif_mmu_init(&cli->device.object, mmus[ret].oclass, &cli->mmu); if (ret) { NV_ERROR(drm, "MMU allocation failed: %d\n", ret); goto done; } done: if (ret) nouveau_cli_fini(cli); Loading drivers/gpu/drm/nouveau/nouveau_drv.h +2 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ #include <nvif/client.h> #include <nvif/device.h> #include <nvif/ioctl.h> #include <nvif/mmu.h> #include <drm/drmP.h> Loading Loading @@ -91,6 +92,7 @@ struct nouveau_cli { struct mutex mutex; struct nvif_device device; struct nvif_mmu mmu; struct nouveau_vmm vmm; struct nvkm_vm *vm; Loading Loading
drivers/gpu/drm/nouveau/nouveau_drm.c +20 −0 Original line number Diff line number Diff line Loading @@ -116,6 +116,7 @@ nouveau_cli_fini(struct nouveau_cli *cli) { usif_client_fini(cli); nouveau_vmm_fini(&cli->vmm); nvif_mmu_fini(&cli->mmu); nvif_device_fini(&cli->device); mutex_lock(&cli->drm->master.lock); nvif_client_fini(&cli->base); Loading @@ -126,6 +127,13 @@ static int nouveau_cli_init(struct nouveau_drm *drm, const char *sname, struct nouveau_cli *cli) { static const struct nvif_mclass mmus[] = { { NVIF_CLASS_MMU_GF100, -1 }, { NVIF_CLASS_MMU_NV50 , -1 }, { NVIF_CLASS_MMU_NV04 , -1 }, {} }; u64 device = nouveau_name(drm->dev); int ret; Loading Loading @@ -160,6 +168,18 @@ nouveau_cli_init(struct nouveau_drm *drm, const char *sname, goto done; } ret = nvif_mclass(&cli->device.object, mmus); if (ret < 0) { NV_ERROR(drm, "No supported MMU class\n"); goto done; } ret = nvif_mmu_init(&cli->device.object, mmus[ret].oclass, &cli->mmu); if (ret) { NV_ERROR(drm, "MMU allocation failed: %d\n", ret); goto done; } done: if (ret) nouveau_cli_fini(cli); Loading
drivers/gpu/drm/nouveau/nouveau_drv.h +2 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ #include <nvif/client.h> #include <nvif/device.h> #include <nvif/ioctl.h> #include <nvif/mmu.h> #include <drm/drmP.h> Loading Loading @@ -91,6 +92,7 @@ struct nouveau_cli { struct mutex mutex; struct nvif_device device; struct nvif_mmu mmu; struct nouveau_vmm vmm; struct nvkm_vm *vm; Loading