search for: va_len

Displaying 8 results from an estimated 8 matches for "va_len".

Did you mean: sa_len
2023 Aug 23
1
[PATCH drm-misc-next v2] drm/nouveau: uapi: don't pass NO_PREFETCH flag implicitly
Currently, NO_PREFETCH is passed implicitly through drm_nouveau_gem_pushbuf_push::length and drm_nouveau_exec_push::va_len. Since this is a direct representation of how the HW is programmed it isn't really future proof for a uAPI. Hence, fix this up for the new uAPI and split up the va_len field of struct drm_nouveau_exec_push, such that we keep 32bit for va_len and 32bit for flags. For drm_nouveau_gem_pushbuf_pu...
2023 Aug 22
2
[PATCH drm-misc-next] drm/nouveau: uapi: don't pass NO_PREFETCH flag implicitly
Currently, NO_PREFETCH is passed implicitly through drm_nouveau_gem_pushbuf_push::length and drm_nouveau_exec_push::va_len. Since this is a direct representation of how the HW is programmed it isn't really future proof for a uAPI. Hence, fix this up for the new uAPI and split up the va_len field of struct drm_nouveau_exec_push, such that we keep 32bit for va_len and 32bit for flags. For drm_nouveau_gem_pushbuf_pu...
2023 Aug 23
1
[PATCH drm-misc-next] drm/nouveau: uapi: don't pass NO_PREFETCH flag implicitly
On Tue, Aug 22, 2023 at 6:41?PM Danilo Krummrich <dakr at redhat.com> wrote: > Currently, NO_PREFETCH is passed implicitly through > drm_nouveau_gem_pushbuf_push::length and drm_nouveau_exec_push::va_len. > > Since this is a direct representation of how the HW is programmed it > isn't really future proof for a uAPI. Hence, fix this up for the new > uAPI and split up the va_len field of struct drm_nouveau_exec_push, > such that we keep 32bit for va_len and 32bit for flags. > &g...
2023 Jan 27
1
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...ss an >> + * array of this structure via struct drm_nouveau_exec's &push_ptr field. >> + */ >> +struct drm_nouveau_exec_push { >> + /** >> + * @va: the virtual address of the push buffer mapping >> + */ >> + __u64 va; >> + /** >> + * @va_len: the length of the push buffer mapping >> + */ >> + __u64 va_len; >> +}; >> + >> +/** >> + * struct drm_nouveau_exec - structure for DRM_IOCTL_NOUVEAU_EXEC >> + */ >> +struct drm_nouveau_exec { >> + /** >> + * @channel: the channel to ex...
2023 Jan 27
1
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...u_exec's &push_ptr >>> field. >>> + */ >>> +struct drm_nouveau_exec_push { >>> +??? /** >>> +???? * @va: the virtual address of the push buffer mapping >>> +???? */ >>> +??? __u64 va; >>> +??? /** >>> +???? * @va_len: the length of the push buffer mapping >>> +???? */ >>> +??? __u64 va_len; >>> +}; >>> + >>> +/** >>> + * struct drm_nouveau_exec - structure for DRM_IOCTL_NOUVEAU_EXEC >>> + */ >>> +struct drm_nouveau_exec { >>> +???...
2023 Jul 25
1
[PATCH drm-misc-next v8 03/12] drm/nouveau: new VM_BIND uapi interfaces
...a struct drm_nouveau_exec's &push_ptr > field. > + */ > +struct drm_nouveau_exec_push { > +? ? ? ?/** > +? ? ? ? * @va: the virtual address of the push buffer mapping > +? ? ? ? */ > +? ? ? ?__u64 va; > +? ? ? ?/** > +? ? ? ? * @va_len: the length of the push buffer mapping > +? ? ? ? */ > +? ? ? ?__u64 va_len; > +}; > + > +/** > + * struct drm_nouveau_exec - structure for DRM_IOCTL_NOUVEAU_EXEC > + */ > +struct drm_nouveau_exec { > +? ? ? ?/** > +? ? ? ? * @ch...
2023 Jan 27
0
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...u_exec's &push_ptr field. >>>> + */ >>>> +struct drm_nouveau_exec_push { >>>> + /** >>>> + * @va: the virtual address of the push buffer mapping >>>> + */ >>>> + __u64 va; >>>> + /** >>>> + * @va_len: the length of the push buffer mapping >>>> + */ >>>> + __u64 va_len; >>>> +}; >>>> + >>>> +/** >>>> + * struct drm_nouveau_exec - structure for DRM_IOCTL_NOUVEAU_EXEC >>>> + */ >>>> +struct drm_nouveau...
2023 Aug 29
1
[PATCH drm-misc-next] drm/nouveau: fence: fix undefined fence state after emit
...uveau_fence_new(&exec_job->fence); + /* Create a new fence, but do not emit yet. */ + ret = nouveau_fence_create(&exec_job->fence, exec_job->chan); if (ret) return ret; @@ -143,13 +144,17 @@ nouveau_exec_job_run(struct nouveau_job *job) nv50_dma_push(chan, p->va, p->va_len, no_prefetch); } - ret = nouveau_fence_emit(fence, chan); + ret = nouveau_fence_emit(fence); if (ret) { + nouveau_fence_unref(&exec_job->fence); NV_PRINTK(err, job->cli, "error fencing pushbuf: %d\n", ret); WIND_RING(chan); return ERR_PTR(ret); } + /* The fen...