Loading drivers/gpu/drm/nouveau/nouveau_object.c +20 −4 Original line number Diff line number Diff line Loading @@ -779,6 +779,25 @@ nouveau_gpuobj_channel_init(struct nouveau_channel *chan, NV_DEBUG(dev, "ch%d vram=0x%08x tt=0x%08x\n", chan->id, vram_h, tt_h); if (dev_priv->card_type == NV_C0) { struct nouveau_vm *vm = dev_priv->chan_vm; struct nouveau_vm_pgd *vpgd; ret = nouveau_gpuobj_new(dev, NULL, 4096, 0x1000, 0, &chan->ramin); if (ret) return ret; nouveau_vm_ref(vm, &chan->vm, NULL); vpgd = list_first_entry(&vm->pgd_list, struct nouveau_vm_pgd, head); nv_wo32(chan->ramin, 0x0200, lower_32_bits(vpgd->obj->vinst)); nv_wo32(chan->ramin, 0x0204, upper_32_bits(vpgd->obj->vinst)); nv_wo32(chan->ramin, 0x0208, 0xffffffff); nv_wo32(chan->ramin, 0x020c, 0x000000ff); return 0; } /* Allocate a chunk of memory for per-channel object storage */ ret = nouveau_gpuobj_channel_init_pramin(chan); if (ret) { Loading @@ -786,7 +805,7 @@ nouveau_gpuobj_channel_init(struct nouveau_channel *chan, return ret; } /* NV50/NVC0 VM /* NV50 VM * - Allocate per-channel page-directory * - Link with shared channel VM */ Loading Loading @@ -884,9 +903,6 @@ nouveau_gpuobj_channel_takedown(struct nouveau_channel *chan) NV_DEBUG(dev, "ch%d\n", chan->id); if (!chan->ramht) return; nouveau_ramht_ref(NULL, &chan->ramht, chan); nouveau_vm_ref(NULL, &chan->vm, chan->vm_pd); Loading Loading
drivers/gpu/drm/nouveau/nouveau_object.c +20 −4 Original line number Diff line number Diff line Loading @@ -779,6 +779,25 @@ nouveau_gpuobj_channel_init(struct nouveau_channel *chan, NV_DEBUG(dev, "ch%d vram=0x%08x tt=0x%08x\n", chan->id, vram_h, tt_h); if (dev_priv->card_type == NV_C0) { struct nouveau_vm *vm = dev_priv->chan_vm; struct nouveau_vm_pgd *vpgd; ret = nouveau_gpuobj_new(dev, NULL, 4096, 0x1000, 0, &chan->ramin); if (ret) return ret; nouveau_vm_ref(vm, &chan->vm, NULL); vpgd = list_first_entry(&vm->pgd_list, struct nouveau_vm_pgd, head); nv_wo32(chan->ramin, 0x0200, lower_32_bits(vpgd->obj->vinst)); nv_wo32(chan->ramin, 0x0204, upper_32_bits(vpgd->obj->vinst)); nv_wo32(chan->ramin, 0x0208, 0xffffffff); nv_wo32(chan->ramin, 0x020c, 0x000000ff); return 0; } /* Allocate a chunk of memory for per-channel object storage */ ret = nouveau_gpuobj_channel_init_pramin(chan); if (ret) { Loading @@ -786,7 +805,7 @@ nouveau_gpuobj_channel_init(struct nouveau_channel *chan, return ret; } /* NV50/NVC0 VM /* NV50 VM * - Allocate per-channel page-directory * - Link with shared channel VM */ Loading Loading @@ -884,9 +903,6 @@ nouveau_gpuobj_channel_takedown(struct nouveau_channel *chan) NV_DEBUG(dev, "ch%d\n", chan->id); if (!chan->ramht) return; nouveau_ramht_ref(NULL, &chan->ramht, chan); nouveau_vm_ref(NULL, &chan->vm, chan->vm_pd); Loading