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