search for: nouveau_bo_wrap_locked

Displaying 17 results from an estimated 17 matches for "nouveau_bo_wrap_locked".

2015 Feb 24
4
[PATCH 1/2] nouveau: make nouveau importing global buffers completely thread-safe, with tests
...ally while re-importing. - */ - drmIoctl(bo->device->fd, DRM_IOCTL_GEM_CLOSE, &req); pthread_mutex_unlock(&nvdev->lock); } else { DRMLISTDEL(&nvbo->head); @@ -418,7 +407,7 @@ nouveau_bo_new(struct nouveau_device *dev, uint32_t flags, uint32_t align, static int nouveau_bo_wrap_locked(struct nouveau_device *dev, uint32_t handle, - struct nouveau_bo **pbo) + struct nouveau_bo **pbo, int name) { struct nouveau_device_priv *nvdev = nouveau_device(dev); struct drm_nouveau_gem_info req = { .handle = handle }; @@ -427,8 +416,24 @@ nouveau_bo_wrap_locked(struct nou...
2015 Feb 26
4
[PATCH v2 1/4] Add atomic_inc_return to atomics.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at ubuntu.com> --- xf86atomic.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xf86atomic.h b/xf86atomic.h index 8c4b696..17fb088 100644 --- a/xf86atomic.h +++ b/xf86atomic.h @@ -49,6 +49,7 @@ typedef struct { # define atomic_read(x) ((x)->atomic) # define atomic_set(x, val) ((x)->atomic = (val)) # define atomic_inc(x)
2015 Feb 25
0
[PATCH 1/2] nouveau: make nouveau importing global buffers completely thread-safe, with tests
...DRM_IOCTL_GEM_CLOSE, &req); > pthread_mutex_unlock(&nvdev->lock); > } else { > DRMLISTDEL(&nvbo->head); > @@ -418,7 +407,7 @@ nouveau_bo_new(struct nouveau_device *dev, uint32_t flags, uint32_t align, > > static int > nouveau_bo_wrap_locked(struct nouveau_device *dev, uint32_t handle, > - struct nouveau_bo **pbo) > + struct nouveau_bo **pbo, int name) > { > struct nouveau_device_priv *nvdev = nouveau_device(dev); > struct drm_nouveau_gem_info req = { .handle = h...
2015 Feb 25
1
[PATCH 1/2] nouveau: make nouveau importing global buffers completely thread-safe, with tests
...eq); >> pthread_mutex_unlock(&nvdev->lock); >> } else { >> DRMLISTDEL(&nvbo->head); >> @@ -418,7 +407,7 @@ nouveau_bo_new(struct nouveau_device *dev, uint32_t flags, uint32_t align, >> >> static int >> nouveau_bo_wrap_locked(struct nouveau_device *dev, uint32_t handle, >> - struct nouveau_bo **pbo) >> + struct nouveau_bo **pbo, int name) >> { >> struct nouveau_device_priv *nvdev = nouveau_device(dev); >> struct drm_nouveau_gem_info...
2014 Apr 08
0
[PATCH] libdrm/nouveau: safen up nouveau libdrm against concurrent access
...eturn ret; } + pthread_mutex_lock(&nvdev->lock); DRMLISTADD(&nvbo->head, &nvdev->bo_list); + pthread_mutex_unlock(&nvdev->lock); *pbo = bo; return 0; } int -nouveau_bo_wrap(struct nouveau_device *dev, uint32_t handle, - struct nouveau_bo **pbo) +nouveau_bo_wrap_locked(struct nouveau_device *dev, uint32_t handle, + struct nouveau_bo **pbo) { struct nouveau_device_priv *nvdev = nouveau_device(dev); struct drm_nouveau_gem_info req = { .handle = handle }; @@ -405,6 +452,18 @@ nouveau_bo_wrap(struct nouveau_device *dev, uint32_t handle, } int +...
2015 Nov 26
0
[libdrm 08/13] nouveau: make use of nouveau_drm::fd instead of nouveau_device::fd
...GEM_CLOSE, &req); } pthread_mutex_unlock(&nvdev->lock); } else { - drmIoctl(bo->device->fd, DRM_IOCTL_GEM_CLOSE, &req); + drmIoctl(drm->fd, DRM_IOCTL_GEM_CLOSE, &req); } if (bo->map) drm_munmap(bo->map, bo->size); @@ -474,6 +466,7 @@ static int nouveau_bo_wrap_locked(struct nouveau_device *dev, uint32_t handle, struct nouveau_bo **pbo, int name) { + struct nouveau_drm *drm = nouveau_drm(&dev->object); struct nouveau_device_priv *nvdev = nouveau_device(dev); struct drm_nouveau_gem_info req = { .handle = handle }; struct nouveau_bo_priv *n...
2015 Feb 25
2
[PATCH 2/2] nouveau: Do not add most bo's to the global bo list.
...return ret; > } > > - pthread_mutex_lock(&nvdev->lock); > - DRMLISTADD(&nvbo->head, &nvdev->bo_list); > - pthread_mutex_unlock(&nvdev->lock); > - > *pbo = bo; > return 0; > } > @@ -457,6 +450,18 @@ nouveau_bo_wrap_locked(struct nouveau_device *dev, uint32_t handle, > return -ENOMEM; > } > > +static void > +nouveau_bo_make_global(struct nouveau_bo_priv *nvbo) > +{ > + if (!nvbo->head.next) { > + struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.d...
2015 Feb 24
0
[PATCH 2/2] nouveau: Do not add most bo's to the global bo list.
...4,6 @@ nouveau_bo_new(struct nouveau_device *dev, uint32_t flags, uint32_t align, return ret; } - pthread_mutex_lock(&nvdev->lock); - DRMLISTADD(&nvbo->head, &nvdev->bo_list); - pthread_mutex_unlock(&nvdev->lock); - *pbo = bo; return 0; } @@ -457,6 +450,18 @@ nouveau_bo_wrap_locked(struct nouveau_device *dev, uint32_t handle, return -ENOMEM; } +static void +nouveau_bo_make_global(struct nouveau_bo_priv *nvbo) +{ + if (!nvbo->head.next) { + struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.device); + pthread_mutex_lock(&nvdev->lock); + if (!nvb...
2015 Feb 25
2
[PATCH 2/2] nouveau: Do not add most bo's to the global bo list.
...k(&nvdev->lock); > >> - DRMLISTADD(&nvbo->head, &nvdev->bo_list); > >> - pthread_mutex_unlock(&nvdev->lock); > >> - > >> *pbo = bo; > >> return 0; > >> } > >> @@ -457,6 +450,18 @@ nouveau_bo_wrap_locked(struct nouveau_device *dev, > uint32_t handle, > >> return -ENOMEM; > >> } > >> > >> +static void > >> +nouveau_bo_make_global(struct nouveau_bo_priv *nvbo) > >> +{ > >> + if (!nvbo->head.next) { > >> +...
2015 Feb 25
3
[PATCH 2/2] nouveau: Do not add most bo's to the global bo list.
...MLISTADD(&nvbo->head, &nvdev->bo_list); > >>>> - pthread_mutex_unlock(&nvdev->lock); > >>>> - > >>>> *pbo = bo; > >>>> return 0; > >>>> } > >>>> @@ -457,6 +450,18 @@ nouveau_bo_wrap_locked(struct nouveau_device > *dev, > >> uint32_t handle, > >>>> return -ENOMEM; > >>>> } > >>>> > >>>> +static void > >>>> +nouveau_bo_make_global(struct nouveau_bo_priv *nvbo) > >>>> +{ > &...
2015 Feb 25
0
[PATCH 2/2] nouveau: Do not add most bo's to the global bo list.
...>> - pthread_mutex_lock(&nvdev->lock); >> - DRMLISTADD(&nvbo->head, &nvdev->bo_list); >> - pthread_mutex_unlock(&nvdev->lock); >> - >> *pbo = bo; >> return 0; >> } >> @@ -457,6 +450,18 @@ nouveau_bo_wrap_locked(struct nouveau_device *dev, uint32_t handle, >> return -ENOMEM; >> } >> >> +static void >> +nouveau_bo_make_global(struct nouveau_bo_priv *nvbo) >> +{ >> + if (!nvbo->head.next) { >> + struct nouveau_device_priv *nvdev...
2015 Feb 25
0
[PATCH 2/2] nouveau: Do not add most bo's to the global bo list.
...); >>>> - DRMLISTADD(&nvbo->head, &nvdev->bo_list); >>>> - pthread_mutex_unlock(&nvdev->lock); >>>> - >>>> *pbo = bo; >>>> return 0; >>>> } >>>> @@ -457,6 +450,18 @@ nouveau_bo_wrap_locked(struct nouveau_device *dev, >> uint32_t handle, >>>> return -ENOMEM; >>>> } >>>> >>>> +static void >>>> +nouveau_bo_make_global(struct nouveau_bo_priv *nvbo) >>>> +{ >>>> + if (!nvbo->head.ne...
2015 Feb 25
0
[PATCH 2/2] nouveau: Do not add most bo's to the global bo list.
...->head, &nvdev->bo_list); >>>>>> - pthread_mutex_unlock(&nvdev->lock); >>>>>> - >>>>>> *pbo = bo; >>>>>> return 0; >>>>>> } >>>>>> @@ -457,6 +450,18 @@ nouveau_bo_wrap_locked(struct nouveau_device >> *dev, >>>> uint32_t handle, >>>>>> return -ENOMEM; >>>>>> } >>>>>> >>>>>> +static void >>>>>> +nouveau_bo_make_global(struct nouveau_bo_priv *nvbo) >>&...
2014 Jul 31
1
[libdrm PATCH 1/3] nouveau: Only export public functions.
...s != pclass) { @@ -385,7 +385,7 @@ nouveau_bo_del(struct nouveau_bo *bo) free(nvbo); } -int +drm_public int nouveau_bo_new(struct nouveau_device *dev, uint32_t flags, uint32_t align, uint64_t size, union nouveau_bo_config *config, struct nouveau_bo **pbo) @@ -451,7 +451,7 @@ nouveau_bo_wrap_locked(struct nouveau_device *dev, uint32_t handle, return -ENOMEM; } -int +drm_public int nouveau_bo_wrap(struct nouveau_device *dev, uint32_t handle, struct nouveau_bo **pbo) { @@ -463,7 +463,7 @@ nouveau_bo_wrap(struct nouveau_device *dev, uint32_t handle, return ret; } -int +drm_public...
2015 Nov 27
14
[libdrm v2 01/14] nouveau: import and install a selection of nvif headers from the kernel
From: Ben Skeggs <bskeggs at redhat.com> This commit also modifies the install path of the main libdrm_nouveau header to be under a nouveau/ subdirectory. Signed-off-by: Ben Skeggs <bskeggs at redhat.com> --- include/drm/nouveau_drm.h | 1 + nouveau/Makefile.am | 11 +++- nouveau/libdrm_nouveau.pc.in | 2 +- nouveau/nvif/cl0080.h | 45 ++++++++++++++
2015 Nov 26
18
[libdrm 01/13] nouveau: move more abi16-specific logic into abi16.c
From: Ben Skeggs <bskeggs at redhat.com> Signed-off-by: Ben Skeggs <bskeggs at redhat.com> --- nouveau/abi16.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++----- nouveau/nouveau.c | 56 +++++++------------------------------------------ nouveau/private.h | 7 ++----- 3 files changed, 67 insertions(+), 58 deletions(-) diff --git a/nouveau/abi16.c b/nouveau/abi16.c index
2015 Dec 16
16
[libdrm v3 01/14] nouveau: import and install a selection of nvif headers from the kernel
From: Ben Skeggs <bskeggs at redhat.com> This commit also modifies the install path of the main libdrm_nouveau header to be under a nouveau/ subdirectory. Signed-off-by: Ben Skeggs <bskeggs at redhat.com> --- include/drm/nouveau_drm.h | 1 + nouveau/Makefile.am | 11 +++- nouveau/libdrm_nouveau.pc.in | 2 +- nouveau/nvif/cl0080.h | 45 ++++++++++++++