summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-11-29drm/nve0/fifo: allow for future binding of ppp contextsBen Skeggs1-0/+2
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-29drm/nve0/vp: implement initial support for engineBen Skeggs6-0/+118
Will allow use of the engine if firmware (nvXX_fuc085) provided. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nve0/bsp: implement initial support for engineBen Skeggs5-0/+117
Will allow use of the engine if firmware (nvXX_fuc084) provided. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nve0: allow specification of channel engine type in abi16 callBen Skeggs3-11/+18
Previously, if either vram/gart handles were specified as ~0, the ioctl call would fail. In order to hack engine selection into the ioctl for kepler, we now define (fb_ctxdma_handle == ~0) to mean "engine mask is in tt_ctxdma_handle". This approach also allows new userspace to detect lack of support for non-PGRAPH channels on older kernels. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/core: implement shortcut for simple engctx constructionBen Skeggs8-115/+24
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvc0/copy: share interrupt handler with nva3Ben Skeggs3-59/+16
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50/fb: implement trap handler as subdev interrupt handlerBen Skeggs10-111/+104
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-29drm/nouveau/mc: allow calling of multiple handlers for a give intr bitBen Skeggs1-4/+4
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/copy: remove nouveau_copy base classBen Skeggs2-56/+19
nva3/nvc0 are using falcon, nve0 is now using engine directly. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvc0/copy: use nouveau_falcon base classBen Skeggs1-73/+53
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nva3/copy: use nouveau_falcon base classBen Skeggs1-59/+22
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv98/crypt: use nouveau_falcon base classBen Skeggs3-95/+35
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: initial falcon (fuc) engine base class implementationBen Skeggs3-0/+328
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: convert to dev_pm_opsDave Airlie3-31/+71
This is a precursor to dynamic power management support for nouveau, we need to use pm ops for that, so first convert the driver to using pm ops interfaces. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: Add interface to detect optimus and v1 supportDave Airlie2-12/+22
This is required to decide if we can auto-powerdown and how to implement it. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/disp: add support for 10bpc over DisplayPortBen Skeggs3-6/+16
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: rename nvd0_display to nv50_display to reflect reality since mergeBen Skeggs9-279/+268
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50-nvc0: switch to common disp impl, removing previous versionBen Skeggs17-2700/+31
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: implement support for colour vibrance controlBen Skeggs2-1/+36
Ported from original nv50 commit by Christoph, with added support for the setting on later chipsets. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: remove fetching of capabilities reportBen Skeggs1-7/+1
Unused, and caused a race with evo_sync(). Will revisit using it properly later on. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: enable support for older display classesBen Skeggs1-1/+10
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: support creation of fb dma objects on older chipsetsBen Skeggs1-36/+131
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: implement support for older DISP_SYNC classesBen Skeggs1-20/+44
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: implement sor support for older display classesBen Skeggs1-45/+61
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: implement dac support for older display classesBen Skeggs1-25/+48
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: start implementing support for older display classesBen Skeggs1-87/+233
Currently unused, but checkpointing the merged head handling routines. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/dp: remove last bits of VBIOS parsing from DRM codeBen Skeggs12-121/+111
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/dp: move core link training calls to common codeBen Skeggs4-94/+30
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: remove (now obsolete) BIT U table parsing from DRM codeBen Skeggs3-215/+34
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50/disp: move remaining interrupt handling into coreBen Skeggs5-576/+461
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: calculate U script id in supervisor interruptBen Skeggs9-34/+59
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-29drm/nv84/disp: move hdmi control into coreBen Skeggs9-145/+152
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nva3/disp: move hda codec handling to coreBen Skeggs5-20/+66
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50/disp: move dp link training helpers into coreBen Skeggs6-72/+161
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50/disp: call into core for dac load detectionBen Skeggs9-51/+22
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50/disp: call into core to handle dac/sor power state changesBen Skeggs8-47/+62
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50/disp: allocate display from driver coreBen Skeggs3-73/+22
EVO channels still handled "manually", this won't be ported here, and will instead be held off until nv50_display/nvd0_display are merged. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/bios: implement some dcb output entry parsing/matching functionsBen Skeggs4-48/+77
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: handle DP transfer unit setup from second supervisor interruptBen Skeggs2-51/+50
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-29drm/nvd0/disp: move HDMI control to coreBen Skeggs9-29/+86
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: move HDA codec setup to coreBen Skeggs9-18/+70
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: call into core to handle dac power state changesBen Skeggs8-20/+132
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: call into core to handle sor power state changesBen Skeggs7-9/+27
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: move link training helpers into core as display methodsBen Skeggs9-84/+295
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/core: allow representing method ranges in nouveau_omthdsBen Skeggs8-115/+116
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/core: expose full method calling capabilities with nv_execBen Skeggs1-2/+8
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-29drm/nouveau/bios: implement "full" BIT 'd' table (and subtable) parsing in coreBen Skeggs4-64/+192
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: move remaining interrupt handling to coreBen Skeggs4-263/+270
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/core: add some missing subdev/engine disable flagsBen Skeggs2-4/+10
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/bios: implement BIT 'U' table (and subtable) parsing in coreBen Skeggs3-0/+227
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>