Displaying 20 results from an estimated 94 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...