Displaying 18 results from an estimated 18 matches for "engctx".
2012 Dec 05
2
[RFC PATCH] drm/nouveau: report channel owner in error messages
...nouveau/core/engine/fifo/nv04.c
index 76944c4..f5d4d28 100644
--- a/drivers/gpu/drm/nouveau/core/engine/fifo/nv04.c
+++ b/drivers/gpu/drm/nouveau/core/engine/fifo/nv04.c
@@ -24,6 +24,7 @@
#include <core/os.h>
#include <core/class.h>
+#include <core/client.h>
#include <core/engctx.h>
#include <core/namedb.h>
#include <core/handle.h>
@@ -398,10 +399,29 @@ out:
return handled;
}
+static struct nouveau_client *
+nv04_fifo_client_for_chid(struct nv04_fifo_priv *priv, u32 chid)
+{
+ struct nouveau_fifo_chan *chan;
+ struct nouveau_client *client = NULL;
+ un...
2013 Feb 05
0
[PATCH] drm/nouveau: fix lockdep splat in display
Add a flag NVOBJ_FLAG_CREAT_EXCL, which will make sure that only 1 engctx will be created.
This removes the need of having multiple
Fixes the following lockdep splat:
=============================================
[ INFO: possible recursive locking detected ]
3.8.0-rc6-ninja+ #1 Not tainted
---------------------------------------------
modprobe/585 is trying to acquire...
2013 Sep 08
5
[PATCH 1/5] drm/nv31/mpeg: no need to set compat mode differently for nv44 gr
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
drivers/gpu/drm/nouveau/core/engine/mpeg/nv31.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/core/engine/mpeg/nv31.c b/drivers/gpu/drm/nouveau/core/engine/mpeg/nv31.c
index c190043..5c54aa1 100644
--- a/drivers/gpu/drm/nouveau/core/engine/mpeg/nv31.c
+++
2012 Jul 27
0
[PATCH 3/3] nouveau: add vblank methods on newer cards
...rs/gpu/drm/nouveau/nv50_software.c
index df554d9..1f3ef11 100644
--- a/drivers/gpu/drm/nouveau/nv50_software.c
+++ b/drivers/gpu/drm/nouveau/nv50_software.c
@@ -75,7 +75,7 @@ mthd_vblsem_release(struct nouveau_channel *chan, u32 class, u32 mthd, u32 data)
struct nv50_software_chan *pch = chan->engctx[NVOBJ_ENGINE_SW];
struct drm_device *dev = chan->dev;
- if (data > 1)
+ if (data > 1 || !list_empty(&pch->base.vblank.list))
return -EINVAL;
drm_vblank_get(dev, data);
diff --git a/drivers/gpu/drm/nouveau/nvc0_software.c b/drivers/gpu/drm/nouveau/nvc0_software.c
index 4fd...
2015 Feb 26
0
[PATCH] gr/gf100: Clear notify interrupt
...changed, 9 insertions(+)
diff --git a/drm/nouveau/nvkm/engine/gr/gf100.c b/drm/nouveau/nvkm/engine/gr/gf100.c
index 34b6d4baea16..15620c716195 100644
--- a/drm/nouveau/nvkm/engine/gr/gf100.c
+++ b/drm/nouveau/nvkm/engine/gr/gf100.c
@@ -1108,6 +1108,15 @@ gf100_gr_intr(struct nvkm_subdev *subdev)
engctx = nvkm_engctx_get(engine, inst);
chid = pfifo->chid(pfifo, engctx);
+ if (stat & 0x00000001) {
+ /*
+ * notifier interrupt, only needed for cyclestats
+ * can be safely ignored
+ */
+ nv_wr32(priv, 0x400100, 0x00000001);
+ stat &= ~0x00000001;
+ }
+
if (stat & 0x0000...
2013 Aug 27
0
[PATCH] drm/nv31-nv43/mpeg: inst not available on pre-nv44
The inst variable (and thus engctx) will not be properly populated for
pre-NV44 cards. The dma setter method didn't need it anyways, so call it
directly instead of the nv_call indirection.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
Tested on NV42. Ben, I'm going to guess that you hate this patch,
since...
2013 Sep 05
6
[PATCH 1/7] drm/nouveau: remove prototype for non-existent nouveau_connector_bpp
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
drivers/gpu/drm/nouveau/nouveau_connector.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.h b/drivers/gpu/drm/nouveau/nouveau_connector.h
index 6e399aa..4cefce3 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.h
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.h
@@ -107,7 +107,4
2013 Jun 04
0
[PATCH] nouveau: Load firmware for BSP/VP engines on NV84-NV96, NVA0
...nv84_bsp_sclass[] = {
> + { 0x74b0, &nouveau_object_ofuncs },
> {},
> };
>
> @@ -44,11 +49,28 @@ nv84_bsp_sclass[] = {
> * BSP context
> ******************************************************************************/
>
> +static int
> +nv84_bsp_engctx_ctor(struct nouveau_object *parent,
> + struct nouveau_object *engine,
> + struct nouveau_oclass *oclass, void *data, u32 size,
> + struct nouveau_object **pobject)
> +{
> + struct nouveau_engctx *engctx;
> + int...
2013 Jul 27
2
[PATCH 1/3] drm/nv50: include vp in the fb error reporting mask
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
Not 100% sure that this is needed, but BSP/MPEG are in the mask.
drivers/gpu/drm/nouveau/core/subdev/mc/nv50.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nv50.c b/drivers/gpu/drm/nouveau/core/subdev/mc/nv50.c
index 0cb322a..f25fc5f 100644
---
2013 Jun 03
4
[PATCH] nouveau: Load firmware for BSP/VP engines on NV84-NV96, NVA0
...@@ struct nv84_bsp_priv {
static struct nouveau_oclass
nv84_bsp_sclass[] = {
+ { 0x74b0, &nouveau_object_ofuncs },
{},
};
@@ -44,11 +49,28 @@ nv84_bsp_sclass[] = {
* BSP context
******************************************************************************/
+static int
+nv84_bsp_engctx_ctor(struct nouveau_object *parent,
+ struct nouveau_object *engine,
+ struct nouveau_oclass *oclass, void *data, u32 size,
+ struct nouveau_object **pobject)
+{
+ struct nouveau_engctx *engctx;
+ int ret;
+
+ ret = nouveau_engctx_create(parent, engine, oclass, NULL,
+ 0x10...
2013 Jun 23
0
[PATCH v2] nouveau: Load firmware for BSP/VP engines on NV84-NV96, NVA0
...eau_xtensa *xtensa = (void *)object;
+ return nv_rd32(xtensa, xtensa->addr + addr);
+}
+
+void
+_nouveau_xtensa_wr32(struct nouveau_object *object, u64 addr, u32 data)
+{
+ struct nouveau_xtensa *xtensa = (void *)object;
+ nv_wr32(xtensa, xtensa->addr + addr, data);
+}
+
+int
+_nouveau_xtensa_engctx_ctor(struct nouveau_object *parent,
+ struct nouveau_object *engine,
+ struct nouveau_oclass *oclass, void *data, u32 size,
+ struct nouveau_object **pobject)
+{
+ struct nouveau_engctx *engctx;
+ int ret;
+
+ ret = nouveau_engctx_create(parent, engine, oclass, NULL,
+ 0x10...
2013 Jul 29
0
[PATCH] drm/nouveau/vdec: copy nvc0 bsp/vp/ppp to nv98
...nv98.c
+++ b/drivers/gpu/drm/nouveau/core/engine/bsp/nv98.c
@@ -19,16 +19,14 @@
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
- * Authors: Ben Skeggs
+ * Authors: Ben Skeggs, Maarten Lankhorst, Ilia Mirkin
*/
-#include <core/engctx.h>
-#include <core/class.h>
-
+#include <engine/falcon.h>
#include <engine/bsp.h>
struct nv98_bsp_priv {
- struct nouveau_engine base;
+ struct nouveau_falcon base;
};
/*******************************************************************************
@@ -37,31 +35,49 @@ s...
2014 Jan 16
2
[PATCH] drm/nv50/graph: add more trap names to print on error
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
I made the assumption that showing the address is generally useful. Worst
case, it won't make sense but still be displayed. Seems simpler than
special-casing things.
drivers/gpu/drm/nouveau/core/engine/graph/nv50.c | 117 ++++++++++++-----------
1 file changed, 63 insertions(+), 54 deletions(-)
diff --git
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
2017 Mar 19
0
[PATCH] drm/nouveau/mpeg: mthd returns true on success now
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Fixes: 590801c1a3 ("drm/nouveau/mpeg: remove dependence on namedb/engctx lookup")
Cc: stable at vger.kernel.org # v4.3+
---
This is just a nice-to-have, as it only affects an error print afterwards.
drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
dif...
2012 Jul 27
0
[PATCH 2/3] nouveau: add software methods to e0
..._private;
+ struct nvc0_software_chan *pch;
+ struct nouveau_channel *chan;
+ unsigned long flags;
+ bool handled = false;
+
+ spin_lock_irqsave(&dev_priv->channels.lock, flags);
+ if (chid >= pfifo->channels || !(chan = dev_priv->channels.ptr[chid]))
+ goto out;
+
+ pch = chan->engctx[NVOBJ_ENGINE_SW];
+ if (!mthd) {
+ if (data && data != 0x906e)
+ goto out;
+
+ handled = true;
+ pch->class[subc] = data;
+ } else {
+ u32 class = pch->class[subc];
+ if (!class)
+ goto out;
+
+ handled = !nouveau_gpuobj_mthd_call(chan, class, mthd, data);
+ }
+
+out:
+ spin...
2013 Mar 27
3
[PATCH 1/4] drm/nvc0: implement VRAM compression
---
drivers/gpu/drm/nouveau/core/include/subdev/ltcg.h | 7 +
drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c | 55 +++++----
drivers/gpu/drm/nouveau/core/subdev/ltcg/nvc0.c | 129 +++++++++++++++++++-
drivers/gpu/drm/nouveau/core/subdev/vm/nvc0.c | 58 +++++++++-
4 files changed, 220 insertions(+), 29 deletions(-)
diff --git
2015 Nov 10
21
[Bug 92892] New: KDE Plasma locks up: Nouveau reports error "resource sanity check" "unable to handle kernel paging request"
https://bugs.freedesktop.org/show_bug.cgi?id=92892
Bug ID: 92892
Summary: KDE Plasma locks up: Nouveau reports error "resource
sanity check" "unable to handle kernel paging request"
Product: Mesa
Version: 11.0
Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW