search for: nouveau_gem_tile_noncontig

Displaying 20 results from an estimated 40 matches for "nouveau_gem_tile_noncontig".

2014 Sep 26
0
[RFC PATCH 6/7] drm/nouveau: Support marking buffers for explicit sync
...j(struct drm_gem_object *); diff --git a/drm/nouveau_ttm.c b/drm/nouveau_ttm.c index 8058013..a224820 100644 --- a/drm/nouveau_ttm.c +++ b/drm/nouveau_ttm.c @@ -81,12 +81,12 @@ nouveau_vram_manager_new(struct ttm_mem_type_manager *man, u32 size_nc = 0; int ret; - if (nvbo->tile_flags & NOUVEAU_GEM_TILE_NONCONTIG) + if (nvbo->bo_flags & NOUVEAU_GEM_TILE_NONCONTIG) size_nc = 1 << nvbo->page_shift; ret = pfb->ram->get(pfb, mem->num_pages << PAGE_SHIFT, mem->page_alignment << PAGE_SHIFT, size_nc, - (nvbo->tile_flags >> 8) & 0x3ff, &nod...
2013 Nov 11
2
drm/nouveau contiguous bo check produces lots of output
...nouveau > > This appeared in the 3.12 rc kernels and is in 3.12.0 > > If there is anything I can do to help you debug this please let me know. > I don't understand the drm code well enough to dive in deep on my own. It's a paranoia patch and any bo should not be created with NOUVEAU_GEM_TILE_NONCONTIG flag. Even if it happens to work it will fail on any sufficiently fragmented vram. What driver versions do you use? ~Maarten
2024 May 09
0
[PATCH v4] drm/nouveau: use tile_mode and pte_kind for VM_BIND bo allocations
...cbf615..186add400 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_bo.c > +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c > @@ -241,28 +241,28 @@ nouveau_bo_alloc(struct nouveau_cli *cli, u64 *size, > int *align, u32 domain, > } > > nvbo->contig = !(tile_flags & NOUVEAU_GEM_TILE_NONCONTIG); > - if (!nouveau_cli_uvmm(cli) || internal) { > - /* for BO noVM allocs, don't assign kinds */ > - if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) { > - nvbo->kind = (tile_flags & 0x0000ff00) >> 8;...
2024 May 08
0
[PATCH v3] drm/nouveau: use tile_mode and pte_kind for VM_BIND bo allocations
...cbf615..583c962ef 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_bo.c > +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c > @@ -241,28 +241,29 @@ nouveau_bo_alloc(struct nouveau_cli *cli, u64 *size, > int *align, u32 domain, > } > > nvbo->contig = !(tile_flags & NOUVEAU_GEM_TILE_NONCONTIG); > - if (!nouveau_cli_uvmm(cli) || internal) { > - /* for BO noVM allocs, don't assign kinds */ > - if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) { > - nvbo->kind = (tile_flags & 0x0000ff00) >> 8;...
2015 May 21
2
[PATCH v2] nouveau: add coherent BO attribute
...ouveau_bo *bo, uint32_t alignment, if (bo->flags & NOUVEAU_BO_MAP) info->domain |= NOUVEAU_GEM_DOMAIN_MAPPABLE; + if (bo->flags & NOUVEAU_BO_COHERENT) + info->domain |= NOUVEAU_GEM_DOMAIN_COHERENT; + if (!(bo->flags & NOUVEAU_BO_CONTIG)) info->tile_flags = NOUVEAU_GEM_TILE_NONCONTIG; diff --git a/nouveau/nouveau.h b/nouveau/nouveau.h index a55e2b020778..4adda0e3594c 100644 --- a/nouveau/nouveau.h +++ b/nouveau/nouveau.h @@ -127,6 +127,7 @@ union nouveau_bo_config { #define NOUVEAU_BO_MAP 0x80000000 #define NOUVEAU_BO_CONTIG 0x40000000 #define NOUVEAU_BO_NOSNOOP 0x200...
2015 Mar 13
4
[PATCH] nouveau: add coherent BO attribute
...ouveau_bo *bo, uint32_t alignment, if (bo->flags & NOUVEAU_BO_MAP) info->domain |= NOUVEAU_GEM_DOMAIN_MAPPABLE; + if (bo->flags & NOUVEAU_BO_COHERENT) + info->domain |= NOUVEAU_GEM_DOMAIN_COHERENT; + if (!(bo->flags & NOUVEAU_BO_CONTIG)) info->tile_flags = NOUVEAU_GEM_TILE_NONCONTIG; diff --git a/nouveau/nouveau.h b/nouveau/nouveau.h index a55e2b020778..4adda0e3594c 100644 --- a/nouveau/nouveau.h +++ b/nouveau/nouveau.h @@ -127,6 +127,7 @@ union nouveau_bo_config { #define NOUVEAU_BO_MAP 0x80000000 #define NOUVEAU_BO_CONTIG 0x40000000 #define NOUVEAU_BO_NOSNOOP 0x200...
2013 Aug 28
1
[PATCH 4/6] drm/nouveau: introduce NOUVEAU_GEM_TILE_WCUS
...h b/include/uapi/drm/nouveau_drm.h > index 2a5769f..4948eee2 100644 > --- a/include/uapi/drm/nouveau_drm.h > +++ b/include/uapi/drm/nouveau_drm.h > @@ -36,6 +36,7 @@ > #define NOUVEAU_GEM_TILE_32BPP 0x00000002 > #define NOUVEAU_GEM_TILE_ZETA 0x00000004 > #define NOUVEAU_GEM_TILE_NONCONTIG 0x00000008 > +#define NOUVEAU_GEM_TILE_WCUS 0x00000010 /* write-combined, unsnooped */ > > struct drm_nouveau_gem_info { > uint32_t handle; > -- > 1.8.3.1 >
2015 Jan 24
1
[PATCH 1/6] make RAM device optional
...iff --git a/drm/nouveau/nouveau_ttm.c b/drm/nouveau/nouveau_ttm.c > index 273e501..a3c2e9b 100644 > --- a/drm/nouveau/nouveau_ttm.c > +++ b/drm/nouveau/nouveau_ttm.c > @@ -85,6 +85,9 @@ nouveau_vram_manager_new(struct ttm_mem_type_manager *man, > if (nvbo->tile_flags & NOUVEAU_GEM_TILE_NONCONTIG) > size_nc = 1 << nvbo->page_shift; > > + if (!pfb->ram) > + return -ENOMEM; > + > ret = pfb->ram->get(pfb, mem->num_pages << PAGE_SHIFT, > mem->page_alignment << PAGE_SHI...
2013 Aug 07
0
[PATCH] drm/nouveau: require contiguous bo for framebuffer
.../drivers/gpu/drm/nouveau/nouveau_display.c index 73cf240..ddb065c 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c @@ -107,6 +107,11 @@ nouveau_framebuffer_init(struct drm_device *dev, return -EINVAL; } + if (nvbo->tile_flags & NOUVEAU_GEM_TILE_NONCONTIG) { + NV_ERROR(drm, "framebuffer requires contiguous bo\n"); + return -EINVAL; + } + if (nv_device(drm->device)->chipset == 0x50) nv_fb->r_format |= (tile_flags << 8);
2013 Aug 28
0
[PATCH 4/6] drm/nouveau: introduce NOUVEAU_GEM_TILE_WCUS
...git a/include/uapi/drm/nouveau_drm.h b/include/uapi/drm/nouveau_drm.h index 2a5769f..4948eee2 100644 --- a/include/uapi/drm/nouveau_drm.h +++ b/include/uapi/drm/nouveau_drm.h @@ -36,6 +36,7 @@ #define NOUVEAU_GEM_TILE_32BPP 0x00000002 #define NOUVEAU_GEM_TILE_ZETA 0x00000004 #define NOUVEAU_GEM_TILE_NONCONTIG 0x00000008 +#define NOUVEAU_GEM_TILE_WCUS 0x00000010 /* write-combined, unsnooped */ struct drm_nouveau_gem_info { uint32_t handle; -- 1.8.3.1
2013 Nov 11
0
drm/nouveau contiguous bo check produces lots of output
...in the 3.12 rc kernels and is in 3.12.0 >>> >>> If there is anything I can do to help you debug this please let me know. >>> I don't understand the drm code well enough to dive in deep on my own. >> It's a paranoia patch and any bo should not be created with NOUVEAU_GEM_TILE_NONCONTIG flag. >> Even if it happens to work it will fail on any sufficiently fragmented vram. >> >> What driver versions do you use? >> >> ~Maarten >> >> > > I'm just using vanilla 3.12 kernel. Been using the nouveau driver > for a long time, no proble...
2015 Mar 13
0
[PATCH] nouveau: add coherent BO attribute
...info->domain |= NOUVEAU_GEM_DOMAIN_MAPPABLE; > > + if (bo->flags & NOUVEAU_BO_COHERENT) > + info->domain |= NOUVEAU_GEM_DOMAIN_COHERENT; > + > if (!(bo->flags & NOUVEAU_BO_CONTIG)) > info->tile_flags = NOUVEAU_GEM_TILE_NONCONTIG; > > diff --git a/nouveau/nouveau.h b/nouveau/nouveau.h > index a55e2b020778..4adda0e3594c 100644 > --- a/nouveau/nouveau.h > +++ b/nouveau/nouveau.h > @@ -127,6 +127,7 @@ union nouveau_bo_config { > #define NOUVEAU_BO_MAP 0x80000000 > #define NOUVEAU_BO_CONTIG 0x4000...
2013 Nov 11
0
drm/nouveau contiguous bo check produces lots of output
...; This appeared in the 3.12 rc kernels and is in 3.12.0 >> >> If there is anything I can do to help you debug this please let me know. >> I don't understand the drm code well enough to dive in deep on my own. > It's a paranoia patch and any bo should not be created with NOUVEAU_GEM_TILE_NONCONTIG flag. > Even if it happens to work it will fail on any sufficiently fragmented vram. > > What driver versions do you use? > > ~Maarten > > I'm just using vanilla 3.12 kernel. Been using the nouveau driver for a long time, no problems until this printout due to the contiguo...
2013 Aug 28
11
[PATCH 0/6] Nouveau on ARM fixes
This is the first set of patches to make Nouveau work on Tegra. Those are only the obvious correctness fixes, a lot of optimization work remains to be done, but at least it's enough to get accel working and let the machine survive a piglit run. A new BO flag is introduced to allow userspace to hint the kernel about possible optimizations. Lucas Stach (6): drm/ttm: recognize ARM arch in
2015 Feb 17
0
[PATCH v3 1/6] make RAM device optional
...t) return ret; diff --git a/drm/nouveau/nouveau_ttm.c b/drm/nouveau/nouveau_ttm.c index 273e50110ec3..a3c2e9b4d937 100644 --- a/drm/nouveau/nouveau_ttm.c +++ b/drm/nouveau/nouveau_ttm.c @@ -85,6 +85,9 @@ nouveau_vram_manager_new(struct ttm_mem_type_manager *man, if (nvbo->tile_flags & NOUVEAU_GEM_TILE_NONCONTIG) size_nc = 1 << nvbo->page_shift; + if (!pfb->ram) + return -ENOMEM; + ret = pfb->ram->get(pfb, mem->num_pages << PAGE_SHIFT, mem->page_alignment << PAGE_SHIFT, size_nc, (nvbo->tile_flags >> 8) & 0x3ff, &node); diff --git a/...
2015 Jan 23
0
[PATCH 1/6] make RAM device optional
...; if (ret) return ret; diff --git a/drm/nouveau/nouveau_ttm.c b/drm/nouveau/nouveau_ttm.c index 273e501..a3c2e9b 100644 --- a/drm/nouveau/nouveau_ttm.c +++ b/drm/nouveau/nouveau_ttm.c @@ -85,6 +85,9 @@ nouveau_vram_manager_new(struct ttm_mem_type_manager *man, if (nvbo->tile_flags & NOUVEAU_GEM_TILE_NONCONTIG) size_nc = 1 << nvbo->page_shift; + if (!pfb->ram) + return -ENOMEM; + ret = pfb->ram->get(pfb, mem->num_pages << PAGE_SHIFT, mem->page_alignment << PAGE_SHIFT, size_nc, (nvbo->tile_flags >> 8) & 0x3ff, &node); diff --git a/...
2015 Feb 11
0
[PATCH v2 1/6] make RAM device optional
...; if (ret) return ret; diff --git a/drm/nouveau/nouveau_ttm.c b/drm/nouveau/nouveau_ttm.c index 273e501..a3c2e9b 100644 --- a/drm/nouveau/nouveau_ttm.c +++ b/drm/nouveau/nouveau_ttm.c @@ -85,6 +85,9 @@ nouveau_vram_manager_new(struct ttm_mem_type_manager *man, if (nvbo->tile_flags & NOUVEAU_GEM_TILE_NONCONTIG) size_nc = 1 << nvbo->page_shift; + if (!pfb->ram) + return -ENOMEM; + ret = pfb->ram->get(pfb, mem->num_pages << PAGE_SHIFT, mem->page_alignment << PAGE_SHIFT, size_nc, (nvbo->tile_flags >> 8) & 0x3ff, &node); diff --git a/...
2019 Aug 02
0
[PATCH v4 08/17] drm/ttm: use gem vma_node
...ep->size = nvbo->bo.mem.num_pages << PAGE_SHIFT; - rep->map_handle = drm_vma_node_offset_addr(&nvbo->bo.vma_node); + rep->map_handle = drm_vma_node_offset_addr(&nvbo->bo.base.vma_node); rep->tile_mode = nvbo->mode; rep->tile_flags = nvbo->contig ? 0 : NOUVEAU_GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 36738f1a486d..2ff09d2bfddb 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(stru...
2019 Aug 02
0
[PATCH v4 08/17] drm/ttm: use gem vma_node
...ep->size = nvbo->bo.mem.num_pages << PAGE_SHIFT; - rep->map_handle = drm_vma_node_offset_addr(&nvbo->bo.vma_node); + rep->map_handle = drm_vma_node_offset_addr(&nvbo->bo.base.vma_node); rep->tile_mode = nvbo->mode; rep->tile_flags = nvbo->contig ? 0 : NOUVEAU_GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 36738f1a486d..2ff09d2bfddb 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(stru...
2019 Aug 05
0
[PATCH v5 08/18] drm/ttm: use gem vma_node
...ep->size = nvbo->bo.mem.num_pages << PAGE_SHIFT; - rep->map_handle = drm_vma_node_offset_addr(&nvbo->bo.vma_node); + rep->map_handle = drm_vma_node_offset_addr(&nvbo->bo.base.vma_node); rep->tile_mode = nvbo->mode; rep->tile_flags = nvbo->contig ? 0 : NOUVEAU_GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index ceff153f7e68..3e0a0cbc410e 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(stru...