search for: drm_nouveau_channel_alloc

Displaying 16 results from an estimated 16 matches for "drm_nouveau_channel_alloc".

2023 Jul 31
3
[PATCH] drm/nouveau: fixup the uapi header file.
...100644 --- a/drivers/gpu/drm/nouveau/nouveau_abi16.h +++ b/drivers/gpu/drm/nouveau/nouveau_abi16.h @@ -43,28 +43,6 @@ int nouveau_abi16_usif(struct drm_file *, void *data, u32 size); #define NOUVEAU_GEM_DOMAIN_VRAM (1 << 1) #define NOUVEAU_GEM_DOMAIN_GART (1 << 2) -struct drm_nouveau_channel_alloc { - uint32_t fb_ctxdma_handle; - uint32_t tt_ctxdma_handle; - - int channel; - uint32_t pushbuf_domains; - - /* Notifier memory */ - uint32_t notifier_handle; - - /* DRM-enforced subchannel assignments */ - struct { - uint32_t handle; - uint32_t grclass; - } subchan[8]; -...
2015 Nov 26
0
[libdrm 08/13] nouveau: make use of nouveau_drm::fd instead of nouveau_device::fd
...90 100644 --- a/nouveau/abi16.c +++ b/nouveau/abi16.c @@ -37,7 +37,7 @@ static int abi16_chan_nv04(struct nouveau_object *obj) { - struct nouveau_device *dev = (struct nouveau_device *)obj->parent; + struct nouveau_drm *drm = nouveau_drm(obj); struct nv04_fifo *nv04 = obj->data; struct drm_nouveau_channel_alloc req = { .fb_ctxdma_handle = nv04->vram, @@ -45,7 +45,7 @@ abi16_chan_nv04(struct nouveau_object *obj) }; int ret; - ret = drmCommandWriteRead(dev->fd, DRM_NOUVEAU_CHANNEL_ALLOC, + ret = drmCommandWriteRead(drm->fd, DRM_NOUVEAU_CHANNEL_ALLOC, &req, sizeof(req)); if (re...
2020 Aug 28
4
[PATCH] drm/nouveau: bail out of nouveau_channel_new if channel init fails
...ata firewire_ohci firewire_core wmi crc_itu_t dm_mirror dm_region_hash dm_log dm_mod [ 71.365269] CR2: 00000000000000a0 simplified reproducer ---------------------------------8<---------------------------------------- /* * gcc -o crashme crashme.c * ./crashme /dev/dri/renderD128 */ struct drm_nouveau_channel_alloc { uint32_t fb_ctxdma_handle; uint32_t tt_ctxdma_handle; int channel; uint32_t pushbuf_domains; /* Notifier memory */ uint32_t notifier_handle; /* DRM-enforced subchannel assignments */ struct { uint32_t handle; uint32_t grclass; } subchan[8]; uint32_t nr_su...
2020 Nov 15
1
[PATCH] drm/nouveau: bail out of nouveau_channel_new if channel init fails
...71.365269] CR2: 00000000000000a0 > > > > simplified reproducer > > ---------------------------------8<---------------------------------------- > > /* > > * gcc -o crashme crashme.c > > * ./crashme /dev/dri/renderD128 > > */ > > > > struct drm_nouveau_channel_alloc { > > uint32_t fb_ctxdma_handle; > > uint32_t tt_ctxdma_handle; > > > > int channel; > > uint32_t pushbuf_domains; > > > > /* Notifier memory */ > > uint32_t notifier_handle; > > >...
2020 Nov 15
0
[PATCH] drm/nouveau: bail out of nouveau_channel_new if channel init fails
...irror dm_region_hash dm_log dm_mod > [ 71.365269] CR2: 00000000000000a0 > > simplified reproducer > ---------------------------------8<---------------------------------------- > /* > * gcc -o crashme crashme.c > * ./crashme /dev/dri/renderD128 > */ > > struct drm_nouveau_channel_alloc { > uint32_t fb_ctxdma_handle; > uint32_t tt_ctxdma_handle; > > int channel; > uint32_t pushbuf_domains; > > /* Notifier memory */ > uint32_t notifier_handle; > > /* DRM-enforced subchannel assignments */ > struct { > uint32_...
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 ++++++++++++++
2023 Jan 27
1
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
.../** >> + * @push_ptr: pointer to &drm_nouveau_exec_push ops >> + */ >> + __u64 push_ptr; >> +}; >> + >> #define DRM_NOUVEAU_GETPARAM 0x00 /* deprecated */ >> #define DRM_NOUVEAU_SETPARAM 0x01 /* deprecated */ >> #define DRM_NOUVEAU_CHANNEL_ALLOC 0x02 /* deprecated */ >> @@ -136,6 +346,9 @@ struct drm_nouveau_gem_cpu_fini { >> #define DRM_NOUVEAU_NVIF 0x07 >> #define DRM_NOUVEAU_SVM_INIT 0x08 >> #define DRM_NOUVEAU_SVM_BIND 0x09 >> +#define DRM_NOUVEAU_VM_INIT...
2010 Jun 14
0
NV30 (FX 5200 Ultra) OUT_RINGp and initial four GEM objects are mapped to the GART instead of System RAM - is that proper?
...ffset f0000000), and the TT (io offset ec000000). The ec000000 is the GART: [ 3.871709] intel_845_configure: ec000000 [ 3.881255] agpgart-intel 0000:00:00.0: AGP aperture is 64M @ 0xec000000 1). Xorg starts calls the NvInitDma which ends up calling nouveau_channel_alloc which does DRM_NOUVEAU_CHANNEL_ALLOC ioctl. 2). Kernel nouveau driver function nouveau_channel_alloc gets called. During its execution it: a). creates a chan->pushbuf (64kB), which is done by the TTM layer using page_alloc. The TTM layer allocates 16 4K pages from System RAM, and binds them to the GART. b) nouveau...
2023 Jan 27
1
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...er to &drm_nouveau_exec_push ops >>> +???? */ >>> +??? __u64 push_ptr; >>> +}; >>> + >>> ? #define DRM_NOUVEAU_GETPARAM?????????? 0x00 /* deprecated */ >>> ? #define DRM_NOUVEAU_SETPARAM?????????? 0x01 /* deprecated */ >>> ? #define DRM_NOUVEAU_CHANNEL_ALLOC????? 0x02 /* deprecated */ >>> @@ -136,6 +346,9 @@ struct drm_nouveau_gem_cpu_fini { >>> ? #define DRM_NOUVEAU_NVIF?????????????? 0x07 >>> ? #define DRM_NOUVEAU_SVM_INIT?????????? 0x08 >>> ? #define DRM_NOUVEAU_SVM_BIND?????????? 0x09 >>> +#define DRM_NO...
2023 Jul 25
1
[PATCH drm-misc-next v8 03/12] drm/nouveau: new VM_BIND uapi interfaces
...? ? * @push_ptr: pointer to &drm_nouveau_exec_push ops > +? ? ? ? */ > +? ? ? ?__u64 push_ptr; > +}; > + > ?#define DRM_NOUVEAU_GETPARAM? ? ? ? ? ?0x00 /* deprecated */ > ?#define DRM_NOUVEAU_SETPARAM? ? ? ? ? ?0x01 /* deprecated */ > ?#define DRM_NOUVEAU_CHANNEL_ALLOC? ? ? 0x02 /* deprecated */ > @@ -136,6 +339,9 @@ struct drm_nouveau_gem_cpu_fini { > ?#define DRM_NOUVEAU_NVIF? ? ? ? ? ? ? ?0x07 > ?#define DRM_NOUVEAU_SVM_INIT? ? ? ? ? ?0x08 > ?#define DRM_NOUVEAU_SVM_BIND? ? ? ? ? ?0x09 > +#define DRM_NOUVEAU_VM_INIT? ? ? ?...
2010 Jan 29
2
[PATCH 1/2] libdrm/nouveau: new optimized libdrm pushbuffer ABI
...eau_drm.h b/include/drm/nouveau_drm.h index 1e67c44..f764174 100644 --- a/include/drm/nouveau_drm.h +++ b/include/drm/nouveau_drm.h @@ -25,7 +25,7 @@ #ifndef __NOUVEAU_DRM_H__ #define __NOUVEAU_DRM_H__ -#define NOUVEAU_DRM_HEADER_PATCHLEVEL 15 +#define NOUVEAU_DRM_HEADER_PATCHLEVEL 16 struct drm_nouveau_channel_alloc { uint32_t fb_ctxdma_handle; diff --git a/nouveau/nouveau_bo.c b/nouveau/nouveau_bo.c index 10cc8a6..ac1b37f 100644 --- a/nouveau/nouveau_bo.c +++ b/nouveau/nouveau_bo.c @@ -565,7 +565,7 @@ nouveau_bo_pending(struct nouveau_bo *bo) struct drm_nouveau_gem_pushbuf_bo * nouveau_bo_emit_buffer(...
2023 Jan 27
0
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...ec_push ops >>>> + */ >>>> + __u64 push_ptr; >>>> +}; >>>> + >>>> #define DRM_NOUVEAU_GETPARAM 0x00 /* deprecated */ >>>> #define DRM_NOUVEAU_SETPARAM 0x01 /* deprecated */ >>>> #define DRM_NOUVEAU_CHANNEL_ALLOC 0x02 /* deprecated */ >>>> @@ -136,6 +346,9 @@ struct drm_nouveau_gem_cpu_fini { >>>> #define DRM_NOUVEAU_NVIF 0x07 >>>> #define DRM_NOUVEAU_SVM_INIT 0x08 >>>> #define DRM_NOUVEAU_SVM_BIND 0x09 >>&...
2015 Aug 31
8
[RFC PATCH v2 0/5] More explicit pushbuf error handling
Hi there, Resending these now that they've had some more polish and testing, and I heard that Ben's vacation is over :-) These patches work as a starting point for more explicit error mechanisms and better robustness. At the moment, when a job hangs or faults, it seems that nouveau doesn't quite know how to handle the situation and often results in a hang. Some of these situations
2010 Aug 06
4
nv vpe video decoder
Hello, I have my work on the nv vpe video decoder in a functional state. In case you didn't know this decoder accelerates mpeg2 video at the idct/mc level. I have verified that it works on nv40 hardware. I believe it works on nv30 hardware (and maybe some earlier hardware), but I cannot verify since I have none. I will reply with patches against the kernel, drm, ddx and mesa for