search for: nouveau_bo_map

Displaying 20 results from an estimated 87 matches for "nouveau_bo_map".

2015 Mar 14
1
[PATCH ddx] Add support for VRAM-less devices to the ddx
...e1a8a12 100644 --- a/src/nv_accel_common.c +++ b/src/nv_accel_common.c @@ -37,7 +37,7 @@ nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height, int bpp, Bool tiled = (usage_hint & NOUVEAU_CREATE_PIXMAP_TILED); Bool shared = FALSE; union nouveau_bo_config cfg = {}; - int flags = NOUVEAU_BO_MAP | (bpp >= 8 ? NOUVEAU_BO_VRAM : 0); + int flags = NOUVEAU_BO_MAP; int cpp = bpp / 8, ret; #ifdef NOUVEAU_PIXMAP_SHARING @@ -46,7 +46,7 @@ nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height, int bpp, flags = NOUVEAU_BO_MAP; if (bpp >= 8) - flags |= shared ? NOUVEAU_BO...
2012 Nov 25
0
[PATCH] drm/nouveau: unpin various bo's before destroying
..._crtc->cursor.nvbo); kfree(nv_crtc); } @@ -1056,8 +1057,11 @@ nv04_crtc_create(struct drm_device *dev, int crtc_num) 0, 0x0000, NULL, &nv_crtc->cursor.nvbo); if (!ret) { ret = nouveau_bo_pin(nv_crtc->cursor.nvbo, TTM_PL_FLAG_VRAM); - if (!ret) + if (!ret) { ret = nouveau_bo_map(nv_crtc->cursor.nvbo); + if (ret) + nouveau_bo_unpin(nv_crtc->cursor.nvbo); + } if (ret) nouveau_bo_ref(NULL, &nv_crtc->cursor.nvbo); } diff --git a/drivers/gpu/drm/nouveau/nv10_fence.c b/drivers/gpu/drm/nouveau/nv10_fence.c index ce752bf..7ae7f97 100644 --- a/drivers/gp...
2015 Nov 02
2
help with push
Hi, sorry if I misunderstood everything... In the file src/gallium/drivers/nouveau/nv30/nv30_screen.c there is loans of PUSH_DATA which is basically *push->curr = data; I'm thinking that somehow push->curr is the bo->map = drm_mmap(...) that is called in nouveau_bo_map. But I cannot see how they are linked... Because when nouveau_bo_map calls nouveau_bo_wait push = cli_push_get(client, bo) returns NULL... Is push->curr the region of memory that we send data to the card? If so, how is it mapped? Has bo->map something to do with it? If so, how are they linke...
2009 Dec 24
1
[PATCH] nouveau: when nouveau_bo_map fails you expect it to not be mapped
...that people fix their code. --- nouveau/nouveau_bo.c | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 deletions(-) diff --git a/nouveau/nouveau_bo.c b/nouveau/nouveau_bo.c index 10cc8a6..9a7c368 100644 --- a/nouveau/nouveau_bo.c +++ b/nouveau/nouveau_bo.c @@ -415,22 +415,28 @@ nouveau_bo_map_range(struct nouveau_bo *bo, uint32_t delta, uint32_t size, uint32_t flags) { struct nouveau_bo_priv *nvbo = nouveau_bo(bo); - int ret; + int ret = 0; - if (!nvbo || bo->map) + if (!nvbo) return -EINVAL; + /* People should not double map, let's make sure they will notice. *...
2013 Jan 20
1
[PATCH] nouveau: put cursor BO in GART
.....ee0805d 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -567,7 +567,7 @@ drmmode_crtc_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num) drmmode->mode_res->crtcs[num]); drmmode_crtc->drmmode = drmmode; - ret = nouveau_bo_new(pNv->dev, NOUVEAU_BO_VRAM | NOUVEAU_BO_MAP, 0, + ret = nouveau_bo_new(pNv->dev, NOUVEAU_BO_GART | NOUVEAU_BO_MAP, 0, 64*64*4, NULL, &drmmode_crtc->cursor); assert(ret == 0); --
2015 Nov 02
2
help with push
...ything... > > > > In the file src/gallium/drivers/nouveau/nv30/nv30_screen.c there is > loans of > > PUSH_DATA which is basically *push->curr = data; > > > > I'm thinking that somehow push->curr is the bo->map = drm_mmap(...) > > that is called in nouveau_bo_map. But I cannot see how they are linked... > > Because when nouveau_bo_map calls nouveau_bo_wait > > push = cli_push_get(client, bo) returns NULL... > > > > Is push->curr the region of memory that we send data to the card? > > If so, how is it mapped? > > Has bo...
2012 Jul 06
0
[PATCH] dri/nouveau: Add AllocTextureImageBuffer() implementation
...+get_teximage_placement(struct gl_texture_image *ti) +{ + if (ti->TexFormat == MESA_FORMAT_A8 || + ti->TexFormat == MESA_FORMAT_L8 || + ti->TexFormat == MESA_FORMAT_I8) + /* 1 cpp formats will have to be swizzled by the CPU, + * so leave them in system RAM for now. */ + return NOUVEAU_BO_MAP; + else + return NOUVEAU_BO_GART | NOUVEAU_BO_MAP; +} + +static GLboolean +nouveau_alloc_texture_image_buffer(struct gl_context *ctx, + struct gl_texture_image *ti, + gl_format format, GLsizei width, + GLsizei height, GLsizei depth) +{ + struct nouveau_teximage *nti = to_nouveau_texima...
2015 May 21
2
[PATCH v2] nouveau: add coherent BO attribute
...T_MASK 0x0000ff00 #define NOUVEAU_GEM_TILE_16BPP 0x00000001 diff --git a/nouveau/abi16.c b/nouveau/abi16.c index 538f3a730dbe..4ca0bfbaf592 100644 --- a/nouveau/abi16.c +++ b/nouveau/abi16.c @@ -195,6 +195,9 @@ abi16_bo_init(struct nouveau_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/nou...
2015 Mar 13
4
[PATCH] nouveau: add coherent BO attribute
...T_MASK 0x0000ff00 #define NOUVEAU_GEM_TILE_16BPP 0x00000001 diff --git a/nouveau/abi16.c b/nouveau/abi16.c index ae13821bc0cc..d2d1d0d1942d 100644 --- a/nouveau/abi16.c +++ b/nouveau/abi16.c @@ -195,6 +195,9 @@ abi16_bo_init(struct nouveau_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/nou...
2009 Aug 17
2
[PATCH] kms: Fix <nv11 hardware cursor.
...isplay.c +++ b/src/drmmode_display.c @@ -333,7 +333,14 @@ done: static void drmmode_set_cursor_colors (xf86CrtcPtr crtc, int bg, int fg) { + NVPtr pNv = NVPTR(crtc->scrn); + drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; + struct nouveau_bo *bo = drmmode_crtc->cursor; + nouveau_bo_map(bo, NOUVEAU_BO_WR); + nv_cursor_convert_cursor(pNv->curImage, bo->map, nv_cursor_width(pNv), + 64, 32, fg | (0xff << 24), bg | (0xff << 24)); + nouveau_bo_unmap(bo); } static void @@ -346,6 +353,24 @@ drmmode_set_cursor_position (xf86CrtcPtr crtc, int x, int y) } stati...
2009 Dec 20
2
[PATCH 1/2] nv50: don't emit reloc markers after a referenced vtxbuf is mapped
...*nscreen = nouveau_screen(pscreen); int ret; + if (nscreen->pre_pipebuffer_map_callback) { + ret = nscreen->pre_pipebuffer_map_callback(pscreen, pb, usage); + if (ret) { + debug_printf("pre_pipebuffer_map_callback failed %d\n", + ret); + return NULL; + } + } + ret = nouveau_bo_map(bo, nouveau_screen_map_flags(usage)); if (ret) { debug_printf("map failed: %d\n", ret); @@ -143,11 +153,22 @@ nouveau_screen_bo_map_range(struct pipe_screen *pscreen, struct pipe_buffer *pb, unsigned offset, unsigned length, unsigned usage) { struct nouveau_bo *bo = nouvea...
2015 Nov 02
0
help with push
...; Hi, sorry if I misunderstood everything... > > In the file src/gallium/drivers/nouveau/nv30/nv30_screen.c there is loans of > PUSH_DATA which is basically *push->curr = data; > > I'm thinking that somehow push->curr is the bo->map = drm_mmap(...) > that is called in nouveau_bo_map. But I cannot see how they are linked... > Because when nouveau_bo_map calls nouveau_bo_wait > push = cli_push_get(client, bo) returns NULL... > > Is push->curr the region of memory that we send data to the card? > If so, how is it mapped? > Has bo->map something to do with...
2015 Nov 02
0
help with push
...> In the file src/gallium/drivers/nouveau/nv30/nv30_screen.c there is >> > loans of >> > PUSH_DATA which is basically *push->curr = data; >> > >> > I'm thinking that somehow push->curr is the bo->map = drm_mmap(...) >> > that is called in nouveau_bo_map. But I cannot see how they are >> > linked... >> > Because when nouveau_bo_map calls nouveau_bo_wait >> > push = cli_push_get(client, bo) returns NULL... >> > >> > Is push->curr the region of memory that we send data to the card? >> > If so,...
2015 Mar 13
0
[PATCH] nouveau: add coherent BO attribute
...EM_TILE_16BPP 0x00000001 > diff --git a/nouveau/abi16.c b/nouveau/abi16.c > index ae13821bc0cc..d2d1d0d1942d 100644 > --- a/nouveau/abi16.c > +++ b/nouveau/abi16.c > @@ -195,6 +195,9 @@ abi16_bo_init(struct nouveau_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->til...
2009 Sep 14
1
[Nouveau-cvs] xf86-video-nv: Branch 'master'
...rmmode_display.c > @@ -215,6 +215,12 @@ drmmode_fbcon_copy(ScrnInfoPtr pScrn) > exa->DoneCopy(pdpix); > FIRE_RING (pNv->chan); > > + /* wait for completion before continuing, avoids seeing a momentary > + * flash of "corruption" on occasion > + */ > + nouveau_bo_map(pNv->scanout, NOUVEAU_BO_RDWR); > + nouveau_bo_unmap(pNv->scanout); > + > pScreen->DestroyPixmap(pdpix); > pScreen->DestroyPixmap(pspix); > } > diff --git a/src/nv_driver.c b/src/nv_driver.c > index 9317b5e..645895d 100644 > --- a/src/nv_driver.c > +++ b/...
2009 Aug 04
5
[PATCH 1/6] drm/nouveau: bo read/write wrappers for nv04_crtc.c
...vers/gpu/drm/nouveau/nouveau_drv.h index c6143b8..44a7ab5 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -926,6 +926,8 @@ extern int nouveau_bo_pin(struct nouveau_bo *, uint32_t flags); extern int nouveau_bo_unpin(struct nouveau_bo *); extern int nouveau_bo_map(struct nouveau_bo *); extern void nouveau_bo_unmap(struct nouveau_bo *); +extern u32 nouveau_bo_rd32(struct nouveau_bo *nvbo, unsigned index); +extern void nouveau_bo_wr32(struct nouveau_bo *nvbo, unsigned index, u32 val); /* nouveau_fence.c */ struct nouveau_fence; diff --git a/drivers/gpu/dr...
2009 Dec 20
1
[PATCH] nv50: remove vtxbuf stateobject after a referenced vtxbuf is mapped
...*nscreen = nouveau_screen(pscreen); int ret; + if (nscreen->pre_pipebuffer_map_callback) { + ret = nscreen->pre_pipebuffer_map_callback(pscreen, pb, usage); + if (ret) { + debug_printf("pre_pipebuffer_map_callback failed %d\n", + ret); + return NULL; + } + } + ret = nouveau_bo_map(bo, nouveau_screen_map_flags(usage)); if (ret) { debug_printf("map failed: %d\n", ret); @@ -143,11 +153,22 @@ nouveau_screen_bo_map_range(struct pipe_screen *pscreen, struct pipe_buffer *pb, unsigned offset, unsigned length, unsigned usage) { struct nouveau_bo *bo = nouvea...
2017 Feb 25
2
[Bug 99966] New: Crash of nouveau - cache related?
...80 [nouveau] [252778.063587] [<ffffffffa08475c4>] nvkm_memory_new+0x44/0x80 [nouveau] [252778.064108] [<ffffffffa0895b3f>] nvkm_vm_get+0x15f/0x250 [nouveau] [252778.064611] [<ffffffffa08f5a52>] nouveau_bo_vma_add+0x32/0xa0 [nouveau] [252778.065124] [<ffffffffa08f3c2a>] ? nouveau_bo_map+0x7a/0xa0 [nouveau] [252778.065627] [<ffffffffa0906f52>] nouveau_channel_prep+0x1d2/0x290 [nouveau] [252778.066136] [<ffffffffa0907067>] nouveau_channel_new+0x57/0x6d0 [nouveau] [252778.066642] [<ffffffffa0844a2d>] ? nvif_device_init+0x2d/0x30 [nouveau] [252778.067144] [<ff...
2009 Aug 17
8
drm bo accessors etc. v2
Revised patch set v2. [PATCH 1/8] drm/nouveau: bo read/write wrappers for nv04_crtc.c [PATCH 2/8] drm/nouveau: use bo accessors for push buffers [PATCH 3/8] drm/nouveau: OUT_RINGp - optimize OUT_RING loops [PATCH 4/8] drm/nv50: proper notifier_bo access in nv50_display_vblank_crtc_handler() [PATCH 5/8] drm/nouveau: access fbcon notifier via bo accessors [PATCH 6/8] drm/nouveau: screen_base and
2010 Jan 18
1
[PATCH] drm: remove UMS leftover
...--- a/drivers/gpu/drm/nouveau/nouveau_dma.c 2010-01-18 12:48:09.193872773 +0100 +++ b/drivers/gpu/drm/nouveau/nouveau_dma.c 2010-01-18 12:50:01.639874519 +0100 @@ -77,11 +77,9 @@ return ret; /* Map M2MF notifier object - fbcon. */ - if (drm_core_check_feature(dev, DRIVER_MODESET)) { - ret = nouveau_bo_map(chan->notifier_bo); - if (ret) - return ret; - } + ret = nouveau_bo_map(chan->notifier_bo); + if (ret) + return ret; /* Insert NOPS for NOUVEAU_DMA_SKIPS */ ret = RING_SPACE(chan, NOUVEAU_DMA_SKIPS); diff -Naur a/drivers/gpu/drm/nouveau/nouveau_drv.c b/drivers/gpu/drm/nouveau/nouvea...