search for: nouveau_channel_idle

Displaying 20 results from an estimated 26 matches for "nouveau_channel_idle".

2013 Apr 08
1
[PATCH] drm/nouveau: idle all channels before suspending
...t;); ttm_bo_evict_mm(&drm->ttm.bdev, TTM_PL_VRAM); + list_for_each_entry(cli, &drm->clients, head) { + struct nouveau_abi16 *abi16 = cli->abi16; + struct nouveau_abi16_chan *chan; + + if (!abi16) + continue; + + list_for_each_entry(chan, &abi16->channels, head) + nouveau_channel_idle(chan->chan); + } + + if (drm->channel) + nouveau_channel_idle(drm->channel); + + if (drm->cechan) + nouveau_channel_idle(drm->cechan); + if (drm->fence && nouveau_fence(drm)->suspend) { if (!nouveau_fence(drm)->suspend(drm)) return -ENOMEM;
2011 Sep 09
1
[PATCH] drm/nouveau: initialize chan->fence.lock before use
Fence lock needs to be initialized before any call to nouveau_channel_put because it calls nouveau_channel_idle->nouveau_fence_update which uses fence lock. BUG: spinlock bad magic on CPU#0, test/24134 lock: ffff88019f90dba8, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0 Pid: 24134, comm: test Not tainted 3.0.0-nv+ #800 Call Trace: spin_bug+0x9c/0xa3 do_raw_spin_lock+0x29/0x13c _raw_spin_l...
2014 Jan 23
0
[PATCH] drm/nouveau: resume display if any later suspend bits fail
...it a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 466037c..bfd02410 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -503,19 +503,21 @@ nouveau_do_suspend(struct drm_device *dev) if (drm->cechan) { ret = nouveau_channel_idle(drm->cechan); if (ret) - return ret; + goto fail_display; } if (drm->channel) { ret = nouveau_channel_idle(drm->channel); if (ret) - return ret; + goto fail_display; } NV_INFO(drm, "suspending client object trees...\n"); if (drm->fence &&...
2015 Jan 17
0
[PATCH] nouveau: move conditional suspend messages into conditionals
...*dev, bool runtime) NV_INFO(drm, "evicting buffers...\n"); ttm_bo_evict_mm(&drm->ttm.bdev, TTM_PL_VRAM); - NV_INFO(drm, "waiting for kernel channels to go idle...\n"); if (drm->cechan) { + NV_INFO(drm, "waiting for cechan to go idle...\n"); ret = nouveau_channel_idle(drm->cechan); if (ret) goto fail_display; } if (drm->channel) { + NV_INFO(drm, "waiting for kernel channel to go idle...\n"); ret = nouveau_channel_idle(drm->channel); if (ret) goto fail_display; } - NV_INFO(drm, "suspending client object trees......
2014 Jan 14
1
[PATCH 1/2] drm/nouveau: hold mutex while syncing to kernel channel
Not holding the mutex potentially causes corruption of the kernel channel when page flipping. Cc: stable at vger.kernel.org #3.13 Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com> --- diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index 29c3efdfc7dd..76e3cf025c10 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c
2016 Aug 02
0
[PATCH 0203/1285] Replace numeric parameter like 0444 with macro
.../drm/nouveau/nouveau_chan.c @@ -43,7 +43,7 @@ MODULE_PARM_DESC(vram_pushbuf, "Create DMA push buffers in VRAM"); int nouveau_vram_pushbuf; -module_param_named(vram_pushbuf, nouveau_vram_pushbuf, int, 0400); +module_param_named(vram_pushbuf, nouveau_vram_pushbuf, int, S_IRUSR); int nouveau_channel_idle(struct nouveau_channel *chan) -- 2.9.2
2013 Mar 05
0
[PATCH] drm/nouveau: drop redundant channel handle and owner info from nv_channel_idle
...veau_chan.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_chan.c b/drivers/gpu/drm/nouveau/nouveau_chan.c index eaa80a2..c8be059 100644 --- a/drivers/gpu/drm/nouveau/nouveau_chan.c +++ b/drivers/gpu/drm/nouveau/nouveau_chan.c @@ -58,8 +58,7 @@ nouveau_channel_idle(struct nouveau_channel *chan) } if (ret) - NV_ERROR(cli, "failed to idle channel 0x%08x [%s]\n", - chan->handle, cli->base.name); + NV_ERROR(cli, "failed to idle channel: %d\n", ret); return ret; } -- 1.8.1.4
2013 Mar 05
0
[PATCH] drm/nouveau: idle channel before releasing notify object
.../drm/nouveau/nouveau_abi16.c @@ -116,6 +116,11 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16, { struct nouveau_abi16_ntfy *ntfy, *temp; + /* wait for all activity to stop before releasing notify object, which + * may be still in use */ + if (chan->chan && chan->ntfy) + nouveau_channel_idle(chan->chan); + /* cleanup notifier state */ list_for_each_entry_safe(ntfy, temp, &chan->notifiers, head) { nouveau_abi16_ntfy_fini(chan, ntfy); -- 1.8.1.4
2013 Dec 17
0
[Bug 58378] [NV86] Distorted graphics on NVIDIA GeForce 8400M G after upgrade the kernel to 3.7.0 version
https://bugs.freedesktop.org/show_bug.cgi?id=58378 --- Comment #41 from Ilia Mirkin <imirkin at alum.mit.edu> --- The fix for that compilation issue is contained in d1b167e168bdac0b6af11e7a8c601773639fc419 Basically you need to make nouveau_channel_idle return an int, and just stick a 'return ret' at the end. And adjust the prototype in nouveau_drv.h. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/ar...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...t nouveau_channel *chan = drm->channel; - int ret; - - if (!chan || !chan->accel_done || in_interrupt() || - info->state != FBINFO_STATE_RUNNING || - info->flags & FBINFO_HWACCEL_DISABLED) - return 0; - - if (!mutex_trylock(&drm->client.mutex)) - return 0; - - ret = nouveau_channel_idle(chan); - mutex_unlock(&drm->client.mutex); - if (ret) { - nouveau_fbcon_gpu_lockup(info); - return 0; - } - - chan->accel_done = false; - return 0; -} - -static int -nouveau_fbcon_open(struct fb_info *info, int user) -{ - struct nouveau_fbdev *fbcon = info->par; - struct nouveau_drm...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...e || in_interrupt() || > - info->state != FBINFO_STATE_RUNNING || > - info->flags & FBINFO_HWACCEL_DISABLED) > - return 0; > - > - if (!mutex_trylock(&drm->client.mutex)) > - return 0; > - > - ret = nouveau_channel_idle(chan); > - mutex_unlock(&drm->client.mutex); > - if (ret) { > - nouveau_fbcon_gpu_lockup(info); > - return 0; > - } > - > - chan->accel_done = false; > - return 0; > -} > - > -static int > -nouve...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...- info->state != FBINFO_STATE_RUNNING || >> - info->flags & FBINFO_HWACCEL_DISABLED) >> - return 0; >> - >> - if (!mutex_trylock(&drm->client.mutex)) >> - return 0; >> - >> - ret = nouveau_channel_idle(chan); >> - mutex_unlock(&drm->client.mutex); >> - if (ret) { >> - nouveau_fbcon_gpu_lockup(info); >> - return 0; >> - } >> - >> - chan->accel_done = false; >> - return 0; >> -}...
2016 Feb 02
2
[Bug 93968] New: BUG in nouveau_fbcon_sync()
...leep+0x49/0x80 [ 37.438544] [<ffffffff81202dfd>] kmem_cache_alloc_trace+0x20d/0x2e0 [ 37.438600] [<ffffffffa0272e9b>] ? nouveau_fence_new+0x3b/0x90 [nouveau] [ 37.438624] [<ffffffffa0272e9b>] nouveau_fence_new+0x3b/0x90 [nouveau] [ 37.438649] [<ffffffffa02707b2>] nouveau_channel_idle+0x42/0xb0 [nouveau] [ 37.438673] [<ffffffffa026bb3f>] nouveau_fbcon_sync+0x7f/0xb0 [nouveau] [ 37.438677] [<ffffffff8148998a>] cfb_imageblit+0x9a/0x4d0 [ 37.438681] [<ffffffff810d22ef>] ? trace_hardirqs_off_caller+0x1f/0xc0 [ 37.438693] [<ffffffffa013d30e>] drm_f...
2014 Aug 18
0
[PATCH] drm: Display Nouveau boot options at launch
...int, 0400); int diff --git a/drm/nouveau_chan.h b/drm/nouveau_chan.h index 2016370..8309c24 100644 --- a/drm/nouveau_chan.h +++ b/drm/nouveau_chan.h @@ -47,4 +47,6 @@ int nouveau_channel_new(struct nouveau_drm *, struct nvif_device *, void nouveau_channel_del(struct nouveau_channel **); int nouveau_channel_idle(struct nouveau_channel *); +extern int nouveau_vram_pushbuf; + #endif diff --git a/drm/nouveau_connector.c b/drm/nouveau_connector.c index 1ec44c8..c8ac948 100644 --- a/drm/nouveau_connector.c +++ b/drm/nouveau_connector.c @@ -45,15 +45,15 @@ #include <nvif/event.h> MODULE_PARM_DESC(tv...
2024 Feb 02
3
[PATCH 1/2] drm/nouveau: don't fini scheduler if not initialized
...bi16_chan_fini(struct nouveau_abi16 *abi16, struct nouveau_abi16_ntfy *ntfy, *temp; /* Cancel all jobs from the entity's queue. */ - drm_sched_entity_fini(&chan->sched.entity); + if (chan->sched) + drm_sched_entity_fini(&chan->sched->entity); if (chan->chan) nouveau_channel_idle(chan->chan); - nouveau_sched_fini(&chan->sched); + if (chan->sched) + nouveau_sched_destroy(&chan->sched); /* cleanup notifier state */ list_for_each_entry_safe(ntfy, temp, &chan->notifiers, head) { @@ -337,8 +339,8 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCT...
2023 Aug 29
1
[PATCH drm-misc-next] drm/nouveau: fence: fix undefined fence state after emit
...* * wait on the fence here explicitly as going through diff --git a/drivers/gpu/drm/nouveau/nouveau_chan.c b/drivers/gpu/drm/nouveau/nouveau_chan.c index 1fd5ccf41128..bb3d6e5c122f 100644 --- a/drivers/gpu/drm/nouveau/nouveau_chan.c +++ b/drivers/gpu/drm/nouveau/nouveau_chan.c @@ -70,11 +70,9 @@ nouveau_channel_idle(struct nouveau_channel *chan) struct nouveau_fence *fence = NULL; int ret; - ret = nouveau_fence_new(&fence); + ret = nouveau_fence_new(&fence, chan); if (!ret) { - ret = nouveau_fence_emit(fence, chan); - if (!ret) - ret = nouveau_fence_wait(fence, false, false); + re...
2023 Jan 10
1
[PATCH v2] drm/nouveau: Remove file nouveau_fbcon.c
...t nouveau_channel *chan = drm->channel; - int ret; - - if (!chan || !chan->accel_done || in_interrupt() || - info->state != FBINFO_STATE_RUNNING || - info->flags & FBINFO_HWACCEL_DISABLED) - return 0; - - if (!mutex_trylock(&drm->client.mutex)) - return 0; - - ret = nouveau_channel_idle(chan); - mutex_unlock(&drm->client.mutex); - if (ret) { - nouveau_fbcon_gpu_lockup(info); - return 0; - } - - chan->accel_done = false; - return 0; -} - -static int -nouveau_fbcon_open(struct fb_info *info, int user) -{ - struct nouveau_fbdev *fbcon = info->par; - struct nouveau_drm...
2013 Dec 07
3
[Bug 72458] New: Machine freezes when launching Firefox
https://bugs.freedesktop.org/show_bug.cgi?id=72458 Priority: medium Bug ID: 72458 Assignee: nouveau at lists.freedesktop.org Summary: Machine freezes when launching Firefox QA Contact: xorg-team at lists.x.org Severity: normal Classification: Unclassified OS: Linux (All) Reporter: konglomeratum at mpp.hu
2016 Apr 10
1
[PATCH] module parameters: permissions as defines, readable to everyone
.../drm/nouveau/nouveau_chan.c @@ -43,7 +43,7 @@ MODULE_PARM_DESC(vram_pushbuf, "Create DMA push buffers in VRAM"); int nouveau_vram_pushbuf; -module_param_named(vram_pushbuf, nouveau_vram_pushbuf, int, 0400); +module_param_named(vram_pushbuf, nouveau_vram_pushbuf, int, S_IRUGO); int nouveau_channel_idle(struct nouveau_channel *chan) diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c index ae96ebc..30785fb 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -49,19 +49,19 @@ MODULE_PARM_D...
2016 Apr 11
0
[PATCH] nouveau: Switch perms from macros to octal notations, module params readable to everyone
...gpu/drm/nouveau/nouveau_chan.c @@ -43,7 +43,7 @@ MODULE_PARM_DESC(vram_pushbuf, "Create DMA push buffers in VRAM"); int nouveau_vram_pushbuf; -module_param_named(vram_pushbuf, nouveau_vram_pushbuf, int, 0400); +module_param_named(vram_pushbuf, nouveau_vram_pushbuf, int, 0444); int nouveau_channel_idle(struct nouveau_channel *chan) diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c index ae96ebc..1684d22 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -49,19 +49,19 @@ MODULE_PARM_D...