Displaying 5 results from an estimated 5 matches for "nvc0_software_chan".
2012 Jul 27
0
[PATCH 3/3] nouveau: add vblank methods on newer cards
...ftware.c
+++ b/drivers/gpu/drm/nouveau/nvc0_software.c
@@ -48,6 +48,63 @@ nvc0_software_crtc(struct nouveau_channel *chan, int crtc)
return pch->dispc_vma[crtc].offset;
}
+static int
+nvc0_swmthd_vblsem_offset_high(struct nouveau_channel *chan,
+ u32 class, u32 mthd, u32 data)
+{
+ struct nvc0_software_chan *pch = chan->engctx[NVOBJ_ENGINE_SW];
+
+ pch->base.vblank.ctxdma = data;
+ return 0;
+}
+
+static int
+nvc0_swmthd_vblsem_offset_low(struct nouveau_channel *chan,
+ u32 class, u32 mthd, u32 data)
+{
+ struct nvc0_software_chan *pch = chan->engctx[NVOBJ_ENGINE_SW];
+
+ pch->base.vblan...
2012 Jul 27
0
[PATCH 2/3] nouveau: add software methods to e0
...2, u32, u32, u32);
#endif
diff --git a/drivers/gpu/drm/nouveau/nvc0_software.c b/drivers/gpu/drm/nouveau/nvc0_software.c
index a029de5..4fd14cf 100644
--- a/drivers/gpu/drm/nouveau/nvc0_software.c
+++ b/drivers/gpu/drm/nouveau/nvc0_software.c
@@ -38,6 +38,7 @@ struct nvc0_software_priv {
struct nvc0_software_chan {
struct nouveau_software_chan base;
struct nouveau_vma dispc_vma[4];
+ u32 class[8];
};
u64
@@ -67,6 +68,40 @@ nvc0_software_method(struct drm_device *dev, u32 chid, u32 class, u32 mthd, u32
return handled;
}
+bool
+nve0_software_method(struct drm_device *dev, u32 chid, u32 subc, u32...
2013 Aug 27
0
[PATCH 5/9] drm/nouveau: Add install/remove semantics for event handlers
...ruct nouveau_software_chan, vblank.event[head]);
struct nvc0_software_priv *priv = (void *)nv_object(chan)->engine;
struct nouveau_bar *bar = nouveau_bar(priv);
@@ -167,7 +167,8 @@ nvc0_software_context_ctor(struct nouveau_object *parent,
struct nouveau_object **pobject)
{
struct nvc0_software_chan *chan;
- int ret;
+ struct nouveau_disp *disp = nouveau_disp(engine);
+ int ret, i;
ret = nouveau_software_context_create(parent, engine, oclass, &chan);
*pobject = nv_object(chan);
@@ -175,16 +176,36 @@ nvc0_software_context_ctor(struct nouveau_object *parent,
return ret;
chan->...
2013 Aug 27
11
[PATCH 0/9] drm/nouveau: Cleanup event/handler design
This series was originally motivated by a deadlock, introduced in
commit 1d7c71a3e2f77336df536855b0efd2dc5bdeb41b
'drm/nouveau/disp: port vblank handling to event interface',
due to inverted lock order between nouveau_drm_vblank_enable()
and nouveau_drm_vblank_handler() (the complete
lockdep report is included in the patch 4/5 changelog).
Because this series fixes the vblank event
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