aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* drm/nve0/bsp: implement initial support for engineBen Skeggs2012-11-28
| | | | | | Will allow use of the engine if firmware (nvXX_fuc084) provided. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nve0: allow specification of channel engine type in abi16 callBen Skeggs2012-11-28
| | | | | | | | | | | | 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>
* drm/nouveau/core: implement shortcut for simple engctx constructionBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvc0/copy: share interrupt handler with nva3Ben Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/fb: implement trap handler as subdev interrupt handlerBen Skeggs2012-11-28
| | | | | | | 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>
* drm/nouveau/mc: allow calling of multiple handlers for a give intr bitBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/copy: remove nouveau_copy base classBen Skeggs2012-11-28
| | | | | | nva3/nvc0 are using falcon, nve0 is now using engine directly. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvc0/copy: use nouveau_falcon base classBen Skeggs2012-11-28
| | | | | Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nva3/copy: use nouveau_falcon base classBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv98/crypt: use nouveau_falcon base classBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: initial falcon (fuc) engine base class implementationBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: convert to dev_pm_opsDave Airlie2012-11-28
| | | | | | | | | | 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>
* drm/nouveau: Add interface to detect optimus and v1 supportDave Airlie2012-11-28
| | | | | | | 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>
* drm/nouveau/disp: add support for 10bpc over DisplayPortBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: rename nvd0_display to nv50_display to reflect reality since mergeBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: switch to common disp impl, removing previous versionBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: implement support for colour vibrance controlBen Skeggs2012-11-28
| | | | | | | Ported from original nv50 commit by Christoph, with added support for the setting on later chipsets. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: remove fetching of capabilities reportBen Skeggs2012-11-28
| | | | | | | Unused, and caused a race with evo_sync(). Will revisit using it properly later on. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: enable support for older display classesBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: support creation of fb dma objects on older chipsetsBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: implement support for older DISP_SYNC classesBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: implement sor support for older display classesBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: implement dac support for older display classesBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: start implementing support for older display classesBen Skeggs2012-11-28
| | | | | | Currently unused, but checkpointing the merged head handling routines. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/dp: remove last bits of VBIOS parsing from DRM codeBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/dp: move core link training calls to common codeBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: remove (now obsolete) BIT U table parsing from DRM codeBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/disp: move remaining interrupt handling into coreBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: calculate U script id in supervisor interruptBen Skeggs2012-11-28
| | | | | | | | 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>
* drm/nv84/disp: move hdmi control into coreBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nva3/disp: move hda codec handling to coreBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/disp: move dp link training helpers into coreBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/disp: call into core for dac load detectionBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/disp: call into core to handle dac/sor power state changesBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/disp: allocate display from driver coreBen Skeggs2012-11-28
| | | | | | | 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>
* drm/nouveau/bios: implement some dcb output entry parsing/matching functionsBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: handle DP transfer unit setup from second supervisor interruptBen Skeggs2012-11-28
| | | | | | | 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>
* drm/nvd0/disp: move HDMI control to coreBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: move HDA codec setup to coreBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: call into core to handle dac power state changesBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: call into core to handle sor power state changesBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: move link training helpers into core as display methodsBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: allow representing method ranges in nouveau_omthdsBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: expose full method calling capabilities with nv_execBen Skeggs2012-11-28
| | | | | | | 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>
* drm/nouveau/bios: implement "full" BIT 'd' table (and subtable) parsing in coreBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: move remaining interrupt handling to coreBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: add some missing subdev/engine disable flagsBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: implement BIT 'U' table (and subtable) parsing in coreBen Skeggs2012-11-28
| | | | | | | 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>
* drm/nvd0/disp: allocate display and evo channels from driver coreBen Skeggs2012-11-28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: run mode_config destructor before destroying internal display stateBen Skeggs2012-11-28
| | | | | | | Later changes will depend on being able to pull down CRTCs etc with the master display state still intact. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>