summaryrefslogtreecommitdiff
path: root/nvkm/engine/disp/nv94.c
Commit message (Collapse)AuthorAgeFilesLines
* drm: remove symlinks from build, use Kbuild files for lib buildBen Skeggs2015-01-191-142/+0
| | | | | | | | | | | | | | | | | The DRM build used a separate, symlinked, source tree out of a desire to avoid Kbuild/autotools' object files conflicting. Not only is this very annoying to maintain, but it's made worse by having two entirely separate source file lists to maintain too. Fixes both these issues by ditching automake (it doesn't approve of the kernel's Kbuild syntax) in favour of custom makefiles that can build libnvif.so from the Kbuild files. Like the previous commit, this will never show up in the kernel tree (it has its own version). Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: rename class members to match nvidia channel namesBen Skeggs2014-12-021-15/+15
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: add support for completion eventsBen Skeggs2014-10-021-0/+4
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp: audit and version display classesBen Skeggs2014-08-101-7/+7
| | | | | | | | The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp: audit and version SCANOUTPOS methodBen Skeggs2014-08-101-7/+2
| | | | | | | | The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: audit and version PIOR_PWR methodBen Skeggs2014-08-101-3/+0
| | | | | | | | The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: audit and version SOR_DP_PWR methodBen Skeggs2014-08-101-1/+0
| | | | | | | | The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: audit and version LVDS_SCRIPT methodBen Skeggs2014-08-101-1/+0
| | | | | | | | The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: audit and version SOR_HDMI_PWR methodBen Skeggs2014-08-101-1/+0
| | | | | | | | The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: audit and version SOR_PWR methodBen Skeggs2014-08-101-1/+0
| | | | | | | | The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: audit and version DAC_LOAD methodBen Skeggs2014-08-101-1/+0
| | | | | | | | The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: audit and version DAC_PWR methodBen Skeggs2014-08-101-1/+0
| | | | | | | | The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: share channel creation between nv50/gf110 implsBen Skeggs2014-08-101-5/+5
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* core: rework event interfaceBen Skeggs2014-08-101-0/+1
| | | | | | | | | | | | | | | This is a lot of prep-work for being able to send event notifications back to userspace. Events now contain data, rather than a "something just happened" signal. Handler data is now embedded into a containing structure, rather than being kmalloc()'d, and can optionally have the notify routine handled in a workqueue. Various races between suspend/unload with display HPD/DP IRQ handlers automagically solved as a result. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/g94-: add method to power-off dp lanesBen Skeggs2014-06-111-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/dp: make use of existing output data for link trainingBen Skeggs2014-06-111-2/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/dp: create subclass for dp outputsBen Skeggs2014-06-111-0/+8
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: add method descriptions for debuggingBen Skeggs2014-03-261-0/+32
| | | | | | | Lists of known methods for the DMA channel classes, and mappings to their priv register addresses (where known). Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50: preparation for storing static class dataBen Skeggs2014-03-261-5/+13
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp: add a method to fetch info needed by drm vblank timestampingBen Skeggs2014-01-241-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50: initial work towards supporting external encodersBen Skeggs2013-02-201-0/+6
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: move DP link training to core and train from supervisorBen Skeggs2013-02-201-11/+1
| | | | | | | | | | | | | | | We need to be able to do link training for PIOR-connected ANX9805 from the third supervisor handler (due to script ordering in the bios, can't have the "user" call train because some settings are overwritten from the modesetting bios scripts). This moves link training for SOR-connected DP encoders to the second supervisor interrupt, *before* we call the modesetting scripts (yes, different ordering from PIOR is necessary). This is useful since we should now be able to remove some hacks to workaround races between the supervisor and link training paths. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/nv50-: handle supervisor tasks from workqueueBen Skeggs2013-02-201-0/+1
| | | | | | i2c_algo_bit sleeps... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp: port vblank handling to event interfaceBen Skeggs2013-02-201-4/+1
| | | | | | | | | This removes the nastiness with the interactions between display and software engines when handling vblank semaphore release interrupts. Now, all the semantics are handled in one place (sw) \o/. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* initial import of nouveau kernel module core, some simple tools, and drmBen Skeggs2013-01-091-0/+109
Ignore (or, if you're really keen, fix) any of the horrors that are part of the emulate-linux-on-libpciaccess (lib/) layer. When I started down this path I was only aiming to prototype the reworked driver core, and never actually intended on going quite this far with things, but it turns out that being able to develop and test the nouveau core from userspace is *very* useful. This tree is based on the code available as of Linux 3.8-rc2. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>