search for: nouveau_gem_ioctl_cpu_prep

Displaying 20 results from an estimated 75 matches for "nouveau_gem_ioctl_cpu_prep".

2014 May 14
0
[RFC PATCH v1 03/16] drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep
...+++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c index c90c0dc0afe8..6e1c58a880fe 100644 --- a/drivers/gpu/drm/nouveau/nouveau_gem.c +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c @@ -886,17 +886,31 @@ nouveau_gem_ioctl_cpu_prep(struct drm_device *dev, void *data, struct drm_gem_object *gem; struct nouveau_bo *nvbo; bool no_wait = !!(req->flags & NOUVEAU_GEM_CPU_PREP_NOWAIT); - int ret = -EINVAL; + int ret; + struct nouveau_fence *fence = NULL; gem = drm_gem_object_lookup(dev, file_priv, req->handle);...
2014 May 19
2
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...-linefetch (0x1008) at 0xf0036010 ... (nouveau_bo_rd32) from [<c0357d00>] (nouveau_fence_update+0x5c/0x80) (nouveau_fence_update) from [<c0357d40>] (nouveau_fence_done+0x1c/0x38) (nouveau_fence_done) from [<c02c3d00>] (ttm_bo_wait+0xec/0x168) (ttm_bo_wait) from [<c035e334>] (nouveau_gem_ioctl_cpu_prep+0x44/0x100) (nouveau_gem_ioctl_cpu_prep) from [<c02aaa84>] (drm_ioctl+0x1d8/0x4f4) (drm_ioctl) from [<c0355394>] (nouveau_drm_ioctl+0x54/0x80) (nouveau_drm_ioctl) from [<c00ee7b0>] (do_vfs_ioctl+0x3dc/0x5a0) (do_vfs_ioctl) from [<c00ee9a8>] (SyS_ioctl+0x34/0x5c) (SyS_ioctl)...
2014 May 19
2
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
.... >> (nouveau_bo_rd32) from [<c0357d00>] (nouveau_fence_update+0x5c/0x80) >> (nouveau_fence_update) from [<c0357d40>] (nouveau_fence_done+0x1c/0x38) >> (nouveau_fence_done) from [<c02c3d00>] (ttm_bo_wait+0xec/0x168) >> (ttm_bo_wait) from [<c035e334>] (nouveau_gem_ioctl_cpu_prep+0x44/0x100) >> (nouveau_gem_ioctl_cpu_prep) from [<c02aaa84>] (drm_ioctl+0x1d8/0x4f4) >> (drm_ioctl) from [<c0355394>] (nouveau_drm_ioctl+0x54/0x80) >> (nouveau_drm_ioctl) from [<c00ee7b0>] (do_vfs_ioctl+0x3dc/0x5a0) >> (do_vfs_ioctl) from [<c00ee9a8>...
2019 May 27
2
[PATCH 08/13] drm/nouveau: drop DRM_AUTH from DRM_RENDER_ALLOW ioctls
..._DEF_DRV(NOUVEAU_SVM_BIND, nouveau_svmm_bind, DRM_AUTH|DRM_RENDER_ALLOW), - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_NEW, nouveau_gem_ioctl_new, DRM_AUTH|DRM_RENDER_ALLOW), - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_PUSHBUF, nouveau_gem_ioctl_pushbuf, DRM_AUTH|DRM_RENDER_ALLOW), - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_CPU_PREP, nouveau_gem_ioctl_cpu_prep, DRM_AUTH|DRM_RENDER_ALLOW), - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_CPU_FINI, nouveau_gem_ioctl_cpu_fini, DRM_AUTH|DRM_RENDER_ALLOW), - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_INFO, nouveau_gem_ioctl_info, DRM_AUTH|DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(NOUVEAU_CHANNEL_ALLOC, nouveau_abi16_ioctl_channel_alloc, DRM_...
2014 May 23
3
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...) from [<c0357d00>] (nouveau_fence_update+0x5c/0x80) >> >> (nouveau_fence_update) from [<c0357d40>] (nouveau_fence_done+0x1c/0x38) >> >> (nouveau_fence_done) from [<c02c3d00>] (ttm_bo_wait+0xec/0x168) >> >> (ttm_bo_wait) from [<c035e334>] (nouveau_gem_ioctl_cpu_prep+0x44/0x100) >> >> (nouveau_gem_ioctl_cpu_prep) from [<c02aaa84>] (drm_ioctl+0x1d8/0x4f4) >> >> (drm_ioctl) from [<c0355394>] (nouveau_drm_ioctl+0x54/0x80) >> >> (nouveau_drm_ioctl) from [<c00ee7b0>] (do_vfs_ioctl+0x3dc/0x5a0) >> >> (...
2014 May 19
2
[PATCH 3/4] drm/nouveau: hook up cache sync functions
...;s a gratuituous blank line here. > diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c > index c90c0dc0afe8..b7e42fdc9634 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_gem.c > +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c > @@ -897,7 +897,13 @@ nouveau_gem_ioctl_cpu_prep(struct drm_device *dev, void *data, > ret = ttm_bo_wait(&nvbo->bo, true, true, no_wait); > spin_unlock(&nvbo->bo.bdev->fence_lock); > drm_gem_object_unreference_unlocked(gem); > - return ret; > + > + if (ret) > + return ret; > + > + nouveau_bo_sync...
2014 May 23
2
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...gt;] (nouveau_fence_update+0x5c/0x80) >>>>>> (nouveau_fence_update) from [<c0357d40>] (nouveau_fence_done+0x1c/0x38) >>>>>> (nouveau_fence_done) from [<c02c3d00>] (ttm_bo_wait+0xec/0x168) >>>>>> (ttm_bo_wait) from [<c035e334>] (nouveau_gem_ioctl_cpu_prep+0x44/0x100) >>>>>> (nouveau_gem_ioctl_cpu_prep) from [<c02aaa84>] (drm_ioctl+0x1d8/0x4f4) >>>>>> (drm_ioctl) from [<c0355394>] (nouveau_drm_ioctl+0x54/0x80) >>>>>> (nouveau_drm_ioctl) from [<c00ee7b0>] (do_vfs_ioctl+0x3dc/0x5a0...
2014 Mar 26
2
[PATCH 00/12] drm/nouveau: support for GK20A, cont'd
...x5c/0x80) [ 78.352536] [<c0346374>] (nouveau_fence_update) from [<c03463b0>] (nouveau_fence_done+0x18/0x28) [ 78.367531] [<c03463b0>] (nouveau_fence_done) from [<c02b852c>] (ttm_bo_wait+0x104/0x184) [ 78.381915] [<c02b852c>] (ttm_bo_wait) from [<c034c718>] (nouveau_gem_ioctl_cpu_prep+0x40/0xe8) [ 78.396849] [<c034c718>] (nouveau_gem_ioctl_cpu_prep) from [<c029fd5c>] (drm_ioctl+0x404/0x4b8) [ 78.411790] [<c029fd5c>] (drm_ioctl) from [<c0343960>] (nouveau_drm_ioctl+0x54/0x80) [ 78.425805] [<c0343960>] (nouveau_drm_ioctl) from [<c00ea5ec>]...
2013 Aug 28
2
[PATCH 3/6] drm/nouveau: hook up cache sync functions
...interruptible, no_wait_gpu); > if (ret) > diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c > index 830cb7b..f632b92 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_gem.c > +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c > @@ -901,6 +901,11 @@ nouveau_gem_ioctl_cpu_prep(struct drm_device *dev, void *data, > ret = ttm_bo_wait(&nvbo->bo, true, true, no_wait); > spin_unlock(&nvbo->bo.bdev->fence_lock); > drm_gem_object_unreference_unlocked(gem); > + > + if (!ret && nvbo->bo.ttm && nvbo->bo.ttm->caching_st...
2023 Apr 15
2
[PATCH v2] drm/nouveau: fix incorrect conversion to dma_resv_wait_timeout()
..._wait") converted from ttm_bo_wait_ctx() to dma_resv_wait_timeout(). However, dma_resv_wait_timeout() returns greater than zero on success as opposed to ttm_bo_wait_ctx(). As a result, relocs will fail and log errors even when it was a success. Change the return code handling to match that of nouveau_gem_ioctl_cpu_prep(), which was already using dma_resv_wait_timeout() correctly. Fixes: 41d351f29528 ("drm/nouveau: stop using ttm_bo_wait") Reported-by: Tanmay Bhushan <007047221b at gmail.com> Link: https://lore.kernel.org/lkml/20230119225351.71657-1-007047221b at gmail.com Signed-off-by: John Ogne...
2016 Mar 02
0
[REGRESSION] nouveau: 30 second boot hang after commit 2b700825e
...ove device irq handling to platform-specific code > > The hang only occurs with CONFIG_DEBUG_SHIRQ=y, which is why I didn't notice it > sooner (I don't usually compile my kernels with that option). > > Based on the log output with drm_debug=0x3f, the hang is occurring in > nouveau_gem_ioctl_cpu_prep(), where there is a 30 second timeout. > > This is on an "Optimus" laptop which has both an Intel and an Nvidia card. I > understand that the Nvidia card is being disabled automatically, and only the > Intel one is used; but the nouveau driver obviously still does a few thing...
2019 Jun 06
0
[PATCH 08/13] drm/nouveau: drop DRM_AUTH from DRM_RENDER_ALLOW ioctls
...u_svmm_bind, DRM_AUTH|DRM_RENDER_ALLOW), > - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_NEW, nouveau_gem_ioctl_new, DRM_AUTH|DRM_RENDER_ALLOW), > - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_PUSHBUF, nouveau_gem_ioctl_pushbuf, DRM_AUTH|DRM_RENDER_ALLOW), > - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_CPU_PREP, nouveau_gem_ioctl_cpu_prep, DRM_AUTH|DRM_RENDER_ALLOW), > - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_CPU_FINI, nouveau_gem_ioctl_cpu_fini, DRM_AUTH|DRM_RENDER_ALLOW), > - DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_INFO, nouveau_gem_ioctl_info, DRM_AUTH|DRM_RENDER_ALLOW), > + DRM_IOCTL_DEF_DRV(NOUVEAU_CHANNEL_ALLOC, nouvea...
2014 May 19
0
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...f0036010 > ... > (nouveau_bo_rd32) from [<c0357d00>] (nouveau_fence_update+0x5c/0x80) > (nouveau_fence_update) from [<c0357d40>] (nouveau_fence_done+0x1c/0x38) > (nouveau_fence_done) from [<c02c3d00>] (ttm_bo_wait+0xec/0x168) > (ttm_bo_wait) from [<c035e334>] (nouveau_gem_ioctl_cpu_prep+0x44/0x100) > (nouveau_gem_ioctl_cpu_prep) from [<c02aaa84>] (drm_ioctl+0x1d8/0x4f4) > (drm_ioctl) from [<c0355394>] (nouveau_drm_ioctl+0x54/0x80) > (nouveau_drm_ioctl) from [<c00ee7b0>] (do_vfs_ioctl+0x3dc/0x5a0) > (do_vfs_ioctl) from [<c00ee9a8>] (SyS_ioctl+0x3...
2014 May 19
0
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...veau_bo_rd32) from [<c0357d00>] (nouveau_fence_update+0x5c/0x80) > >> (nouveau_fence_update) from [<c0357d40>] (nouveau_fence_done+0x1c/0x38) > >> (nouveau_fence_done) from [<c02c3d00>] (ttm_bo_wait+0xec/0x168) > >> (ttm_bo_wait) from [<c035e334>] (nouveau_gem_ioctl_cpu_prep+0x44/0x100) > >> (nouveau_gem_ioctl_cpu_prep) from [<c02aaa84>] (drm_ioctl+0x1d8/0x4f4) > >> (drm_ioctl) from [<c0355394>] (nouveau_drm_ioctl+0x54/0x80) > >> (nouveau_drm_ioctl) from [<c00ee7b0>] (do_vfs_ioctl+0x3dc/0x5a0) > >> (do_vfs_ioctl) fr...
2010 Jan 18
1
[PATCH] drm: remove UMS leftover
...t drm_file *); -extern int nouveau_gem_ioctl_pin(struct drm_device *, void *, - struct drm_file *); -extern int nouveau_gem_ioctl_unpin(struct drm_device *, void *, - struct drm_file *); extern int nouveau_gem_ioctl_tile(struct drm_device *, void *, struct drm_file *); extern int nouveau_gem_ioctl_cpu_prep(struct drm_device *, void *, diff -Naur a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c --- a/drivers/gpu/drm/nouveau/nouveau_gem.c 2010-01-18 12:48:52.592873539 +0100 +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c 2010-01-18 12:53:02.136129301 +0100 @@ -817,74 +817,6 @...
2014 May 23
0
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...57d00>] (nouveau_fence_update+0x5c/0x80) > >> >> (nouveau_fence_update) from [<c0357d40>] (nouveau_fence_done+0x1c/0x38) > >> >> (nouveau_fence_done) from [<c02c3d00>] (ttm_bo_wait+0xec/0x168) > >> >> (ttm_bo_wait) from [<c035e334>] (nouveau_gem_ioctl_cpu_prep+0x44/0x100) > >> >> (nouveau_gem_ioctl_cpu_prep) from [<c02aaa84>] (drm_ioctl+0x1d8/0x4f4) > >> >> (drm_ioctl) from [<c0355394>] (nouveau_drm_ioctl+0x54/0x80) > >> >> (nouveau_drm_ioctl) from [<c00ee7b0>] (do_vfs_ioctl+0x3dc/0x5a0) >...
2014 Mar 26
0
[PATCH 00/12] drm/nouveau: support for GK20A, cont'd
...[<c0346374>] (nouveau_fence_update) from [<c03463b0>] > (nouveau_fence_done+0x18/0x28) > [ 78.367531] [<c03463b0>] (nouveau_fence_done) from [<c02b852c>] > (ttm_bo_wait+0x104/0x184) > [ 78.381915] [<c02b852c>] (ttm_bo_wait) from [<c034c718>] > (nouveau_gem_ioctl_cpu_prep+0x40/0xe8) > [ 78.396849] [<c034c718>] (nouveau_gem_ioctl_cpu_prep) from > [<c029fd5c>] (drm_ioctl+0x404/0x4b8) > [ 78.411790] [<c029fd5c>] (drm_ioctl) from [<c0343960>] > (nouveau_drm_ioctl+0x54/0x80) > [ 78.425805] [<c0343960>] (nouveau_drm_ioctl...
2015 Dec 05
1
[Bug 93267] New: BUG: unable to handle kernel paging request in reservation_object_wait_timeout_rcu
...01817432f1 ffff880033000a50 00000002016c7d30 00000000fffffff0 0000000000000000 ffff880033000800 ffff880033000bf0 ffffffffa03cd4f0 ffff8801346c7d68 ffffffffa035dced ffffffffa035dd23 Call Trace: [<ffffffff815337cd>] ? reservation_object_wait_timeout_rcu+0x9d/0x510 [<ffffffffa035dced>] nouveau_gem_ioctl_cpu_prep+0x6d/0x160 [nouveau] [<ffffffffa035dd23>] ? nouveau_gem_ioctl_cpu_prep+0xa3/0x160 [nouveau] [<ffffffffa0072a2b>] drm_ioctl+0x14b/0x530 [drm] [<ffffffffa035dc80>] ? nouveau_gem_ioctl_pushbuf+0xce0/0xce0 [nouveau] [<ffffffff814e98a0>] ? rpm_resume+0xf0/0x7b0 [<ffffffff...
2015 May 21
2
[PATCH 1/2] drm/nouveau: add staging module option
...+module_param_named(staging, nouveau_staging, int, 0400); > + > static struct drm_driver driver_stub; > static struct drm_driver driver_pci; > static struct drm_driver driver_platform; > @@ -895,6 +899,7 @@ nouveau_ioctls[] = { > DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_CPU_PREP, nouveau_gem_ioctl_cpu_prep, DRM_UNLOCKED|DRM_AUTH|DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_CPU_FINI, nouveau_gem_ioctl_cpu_fini, DRM_UNLOCKED|DRM_AUTH|DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(NOUVEAU_GEM_INFO, nouveau_gem_ioctl_info, DRM_UNLOCKED|DRM_AUTH|DRM_RENDER_ALLOW), > + /* Stagi...
2014 Jul 09
0
[PATCH 00/17] Convert TTM to the new fence interface.
...onverted > at some point, but more testing is definitely welcomed! > > --- > > Maarten Lankhorst (17): > drm/ttm: add interruptible parameter to ttm_eu_reserve_buffers > drm/ttm: kill off some members to ttm_validate_buffer > drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep > drm/nouveau: require reservations for nouveau_fence_sync and > nouveau_bo_fence > drm/ttm: call ttm_bo_wait while inside a reservation > drm/ttm: kill fence_lock > drm/nouveau: rework to new fence interface > drm/radeon: add timeout argument to rade...