Displaying 7 results from an estimated 7 matches for "nv84_graph_tlb_flush".
2012 Nov 06
1
[PATCH] drm/nv50: decode PGRAPH status registers on TLB flush fail
...s[], u32 status)
+{
+ int i;
+ u32 tmp = status;
+ for (i = 0; units[i] && tmp; i++) {
+ if ((tmp & 7) == 1)
+ pr_cont("%s ", units[i]);
+ tmp >>= 3;
+ }
+ if (tmp)
+ pr_cont("invalid: %x ", tmp);
+ pr_cont("(0x%08x) ", status);
+}
+
static int
nv84_graph_tlb_flush(struct nouveau_engine *engine)
{
@@ -219,10 +275,21 @@ nv84_graph_tlb_flush(struct nouveau_engine *engine)
!(timeout = ptimer->read(ptimer) - start > 2000000000));
if (timeout) {
- nv_error(priv, "PGRAPH TLB flush idle timeout fail: "
- "0x%08x 0x%08x 0x%08x 0...
2012 Aug 19
1
[PATCH 01/10] drm/nv50: decode PGRAPH status registers on TLB flush fail
...[], u32 status)
+{
+ int i;
+ u32 tmp = status;
+ for (i = 0; units[i] && tmp; i++) {
+ if ((tmp & 7) == 1)
+ pr_cont("%s ", units[i]);
+ tmp >>= 3;
+ }
+ if (tmp)
+ pr_cont("invalid: %x ", tmp);
+ pr_cont("(0x%08x)\n", status);
+}
+
static int
nv84_graph_tlb_flush(struct nouveau_engine *engine)
{
@@ -219,10 +275,24 @@ nv84_graph_tlb_flush(struct nouveau_engine *engine)
!(timeout = ptimer->read(ptimer) - start > 2000000000));
if (timeout) {
- nv_error(priv, "PGRAPH TLB flush idle timeout fail: "
- "0x%08x 0x%08x 0x%08x 0...
2012 Apr 22
1
[PATCH 4/5] drm/nv50: let applications hanging on vm flush to be killed
...0_graph.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c
index 6899547..a61853f 100644
--- a/drivers/gpu/drm/nouveau/nv50_graph.c
+++ b/drivers/gpu/drm/nouveau/nv50_graph.c
@@ -435,6 +435,11 @@ nv84_graph_tlb_flush(struct drm_device *dev, int engine)
if ((tmp & 7) == 1)
idle = false;
}
+
+ if (fatal_signal_pending(current)) {
+ ret = -ERESTARTSYS;
+ break;
+ }
} while (!idle && !(timeout = ptimer->read(dev) - start > 2000000000));
if (timeout) {
--
1.7.8.5
2014 Jan 17
0
[PATCH] drm/nv50/graph: update list of mp errors, make it a bitfield
...ions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c b/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c
index a489ac2..0f8d18a 100644
--- a/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c
+++ b/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c
@@ -304,12 +304,14 @@ nv84_graph_tlb_flush(struct nouveau_engine *engine)
return timeout ? -EBUSY : 0;
}
-static const struct nouveau_enum nv50_mp_exec_error_names[] = {
- { 3, "STACK_UNDERFLOW", NULL },
- { 4, "QUADON_ACTIVE", NULL },
- { 8, "TIMEOUT", NULL },
- { 0x10, "INVALID_OPCODE", NULL },...
2013 Jun 18
1
kernel bug nouveau, total system hang, X crashed
...04:23:09.916369+02:00 linux-zxd7 kernel: [305129.599208]
ffff88061b3419b0 ffff880034815400 ffffffffa01c311a ffff88061b341980
2013-06-14T04:23:09.916370+02:00 linux-zxd7 kernel: [305129.599209] Call
Trace:
2013-06-14T04:23:09.916371+02:00 linux-zxd7 kernel: [305129.599248]
[<ffffffffa01b4c6d>] nv84_graph_tlb_flush+0x28d/0x2c0 [nouveau]
2013-06-14T04:23:09.916372+02:00 linux-zxd7 kernel: [305129.599370]
[<ffffffffa016cec8>] nv50_vm_flush+0x78/0x90 [nouveau]
2013-06-14T04:23:09.916373+02:00 linux-zxd7 kernel: [305129.599457]
[<ffffffffa01c311a>] nouveau_bo_vma_del+0x9a/0xa0 [nouveau]
2013-06-14T04:...
2012 Apr 25
5
[PATCH v2 4/4] drm/nouveau: gpu lockup recovery
...v_priv->gpureset_in_progress, 0);
pci_set_master(dev->pdev);
diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c
index a61853f..d0a2e50 100644
--- a/drivers/gpu/drm/nouveau/nv50_graph.c
+++ b/drivers/gpu/drm/nouveau/nv50_graph.c
@@ -440,13 +440,14 @@ nv84_graph_tlb_flush(struct drm_device *dev, int engine)
ret = -ERESTARTSYS;
break;
}
- } while (!idle && !(timeout = ptimer->read(dev) - start > 2000000000));
+ } while (!idle && !(timeout = ptimer->read(dev) - start > nv_timeout(dev)));
if (timeout) {
- NV_ERROR(dev, "...
2012 Apr 22
2
[RFC PATCH 5/5] drm/nouveau: gpu lockup recovery
...v_priv->gpureset_in_progress, 0);
pci_set_master(dev->pdev);
diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c
index a61853f..d0a2e50 100644
--- a/drivers/gpu/drm/nouveau/nv50_graph.c
+++ b/drivers/gpu/drm/nouveau/nv50_graph.c
@@ -440,13 +440,14 @@ nv84_graph_tlb_flush(struct drm_device *dev, int engine)
ret = -ERESTARTSYS;
break;
}
- } while (!idle && !(timeout = ptimer->read(dev) - start > 2000000000));
+ } while (!idle && !(timeout = ptimer->read(dev) - start > nv_timeout(dev)));
if (timeout) {
- NV_ERROR(dev, "...