Sachin Kamat
a8f559efb2
drm/nouveau/device: Remove duplicate inclusion of core/device.h
...
core/device.h was included twice.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:13 +10:00
Ben Skeggs
edc260d061
drm/nouveau/fifo: trigger engine context unload before zeroing context pointer
...
Fixes a PCE0 page fault noticed on NVD9 during module unload.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:12 +10:00
Daniel J Blueman
c9aa763fe9
drm/nouveau: prevent log mangling
...
On 3.7-rc6, add missing newline to to prevent the following kernel log
line getting appended to the current one after switching the integrated
GPU and suspending the discrete GPU.
Signed-off-by: Daniel J Blueman <daniel@quora.org>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:12 +10:00
Marcin Slusarz
ae4ba7371c
drm/nouveau: raise reporting levels of some messages
...
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:10 +10:00
Martin Peres
507ceb1518
drm/nouveau/core: fix the assumption that NVDEV_XXXX is always under 32
...
It fixes a bug that would have been introduced when adding more
sudevs/engines.
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:09 +10:00
Ben Skeggs
d1be7e9be1
drm/nouveau/ppp: remove nouveau_ppp base class
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:09 +10:00
Ben Skeggs
fb9bff26f1
nve0/ppp: enable support via nvc0's implementation
...
NVIDIA also appear to use the same class on Fermi/Kepler for PPP.
Will allow use of the engine if firmware (nvXX_fuc086) provided.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:08 +10:00
Maarten Lankhorst
4a7950140b
nvc0/ppp: initial implementation of engine
...
Will allow use of the engine if firmware (nvXX_fuc086) provided.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:08 +10:00
Maarten Lankhorst
7d8bd91bf4
nvc0/vp: initial implementation of engine
...
Will allow use of the engine if firmware (nvXX_fuc085) provided.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:07 +10:00
Maarten Lankhorst
23c14ed2ec
nvc0/bsp: initial implementation of engine
...
Will allow use of the engine if firmware (nvXX_fuc084) provided.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:07 +10:00
Ben Skeggs
66433c2af8
drm/nouveau/vdec: remove nouveau_{bsp,vp} base classes, use nouveau_engine directly
...
Later chipsets use falcon anyway, and I can't currently see a good need
for a shared base class.
PPP will get the same treatment once Maarten's patches are merged.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:07 +10:00
Ben Skeggs
f3295b3c99
drm/nve0/fifo: allow for future binding of ppp contexts
...
No support for the class yet, but will be pulled in with Maarten's Fermi
vdec patches. The Kepler PPP class is identical.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:06 +10:00
Ben Skeggs
a7416d0d8a
drm/nve0/vp: implement initial support for engine
...
Will allow use of the engine if firmware (nvXX_fuc085) provided.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:06 +10:00
Ben Skeggs
b2f04fc6cb
drm/nve0/bsp: implement initial support for engine
...
Will allow use of the engine if firmware (nvXX_fuc084) provided.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:05 +10:00
Ben Skeggs
43598875b3
drm/nouveau/core: implement shortcut for simple engctx construction
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:04 +10:00
Ben Skeggs
e5e454f918
drm/nvc0/copy: share interrupt handler with nva3
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:04 +10:00
Ben Skeggs
874309a5b7
drm/nv50/fb: implement trap handler as subdev interrupt handler
...
nv50_fb_trap() will now be called automagically by the mc intr handler,
rather than each engine's handler having to check for traps manually.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:03 +10:00
Ben Skeggs
e0cdd1e545
drm/nouveau/mc: allow calling of multiple handlers for a give intr bit
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:03 +10:00
Ben Skeggs
3cb0ebddd0
drm/nouveau/copy: remove nouveau_copy base class
...
nva3/nvc0 are using falcon, nve0 is now using engine directly.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:02 +10:00
Ben Skeggs
586ae46d65
drm/nvc0/copy: use nouveau_falcon base class
...
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:02 +10:00
Ben Skeggs
8365f2fd5c
drm/nva3/copy: use nouveau_falcon base class
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:01 +10:00
Ben Skeggs
27abc13e47
drm/nv98/crypt: use nouveau_falcon base class
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:01 +10:00
Ben Skeggs
e3aaa946bd
drm/nouveau: initial falcon (fuc) engine base class implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:58:00 +10:00
Ben Skeggs
bf2c886a85
drm/nouveau/disp: add support for 10bpc over DisplayPort
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:59 +10:00
Ben Skeggs
8f2abc2586
drm/nouveau/dp: remove last bits of VBIOS parsing from DRM code
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:54 +10:00
Ben Skeggs
b6e4ad200a
drm/nouveau: remove (now obsolete) BIT U table parsing from DRM code
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:53 +10:00
Ben Skeggs
186ecad21c
drm/nv50/disp: move remaining interrupt handling into core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:52 +10:00
Ben Skeggs
4a230fa618
drm/nvd0/disp: calculate U script id in supervisor interrupt
...
This is like we do on nv50:nvd9 already. There's been no problems seen
yet with using this *seemingly* scratch register to store the value, but
we won't be able to do this anymore once nv50's code is merged.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:52 +10:00
Ben Skeggs
8e9e3d2dea
drm/nv84/disp: move hdmi control into core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:51 +10:00
Ben Skeggs
a4feaf4ea5
drm/nva3/disp: move hda codec handling to core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:51 +10:00
Ben Skeggs
f7960736d0
drm/nv50/disp: move dp link training helpers into core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:50 +10:00
Ben Skeggs
7ebb38b556
drm/nv50/disp: call into core for dac load detection
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:50 +10:00
Ben Skeggs
ef22c8bb7b
drm/nv50/disp: call into core to handle dac/sor power state changes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:49 +10:00
Ben Skeggs
75f8693f30
drm/nouveau/bios: implement some dcb output entry parsing/matching functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:48 +10:00
Ben Skeggs
ed58aee93c
drm/nvd0/disp: handle DP transfer unit setup from second supervisor interrupt
...
This is what we've done forever in nv50_display.c, and also allows the
last direct MMIO accesses to be removed from nvd0_display.c.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:48 +10:00
Ben Skeggs
1c30cd09e3
drm/nvd0/disp: move HDMI control to core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:47 +10:00
Ben Skeggs
0a9e2b959f
drm/nvd0/disp: move HDA codec setup to core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:47 +10:00
Ben Skeggs
35b21d39a5
drm/nvd0/disp: call into core to handle dac power state changes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:46 +10:00
Ben Skeggs
74b6685089
drm/nvd0/disp: call into core to handle sor power state changes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:46 +10:00
Ben Skeggs
6c5a04249d
drm/nvd0/disp: move link training helpers into core as display methods
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:45 +10:00
Ben Skeggs
fb445b3c23
drm/nouveau/core: allow representing method ranges in nouveau_omthds
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:45 +10:00
Ben Skeggs
cbe7270d48
drm/nouveau/core: expose full method calling capabilities with nv_exec
...
nv_call() just allows mthd+u32 submission, nv_exec() exposes the
mthd+data+size interface which will be used in future commits.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:45 +10:00
Ben Skeggs
65c78660fb
drm/nouveau/bios: implement "full" BIT 'd' table (and subtable) parsing in core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:44 +10:00
Ben Skeggs
14464b8cd6
drm/nvd0/disp: move remaining interrupt handling to core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:44 +10:00
Ben Skeggs
206c38a9f1
drm/nouveau/core: add some missing subdev/engine disable flags
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:43 +10:00
Ben Skeggs
b6caea5058
drm/nouveau/bios: implement BIT 'U' table (and subtable) parsing in core
...
This will, in the near future, replace what's currently in the DRM
nouveau_bios.c code.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:43 +10:00
Ben Skeggs
46654061bb
drm/nvd0-nve0/disp: initial implementation of evo channel classes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:40 +10:00
Ben Skeggs
944234d6a2
drm/nv50/disp: allow PCI_US pushbuf binding
2012-11-29 09:57:40 +10:00
Ben Skeggs
370c00f939
drm/nv50/disp: initial implementation of the various channel object classes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:57:35 +10:00
Ben Skeggs
446b05a077
drm/nv50/disp: enable interrupts and setup memory area
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29 09:56:41 +10:00