summaryrefslogtreecommitdiff
path: root/nvif
Commit message (Collapse)AuthorAgeFilesLines
* drm: remove symlinks from build, use Kbuild files for lib buildBen Skeggs2015-01-1917-2147/+1
| | | | | | | | | | | | | | | | | 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>
* lib: add null backendBen Skeggs2014-12-022-0/+2
| | | | | | | For the moment, just used to speed up vbios-only testing. Have some ideas for extending in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* core: add some forgotten subdevs to disable maskBen Skeggs2014-12-021-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp/gm204: initial supportBen Skeggs2014-12-021-0/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* v3.18-rc1Ben Skeggs2014-10-201-2/+2
|
* disp/nv50-: add support for completion eventsBen Skeggs2014-10-021-0/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nvif: fix dac load detect method definitionBen Skeggs2014-08-151-2/+2
| | | | | | | | A thinko made me turn this into a u16 when cleaning up. Spotted by coverity. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nvif: return null pointers on failure, in addition to ret != 0Ben Skeggs2014-08-152-2/+6
| | | | | | | | Reported by Coverity. The intention is that the return value is checked, but let's be more paranoid and make it extremely obvious if something forgets to. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nvif: fix a number of notify thinkosBen Skeggs2014-08-151-8/+17
| | | | | | Note to self: more sleep Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm: expose the full object/event interfaces to userspaceBen Skeggs2014-08-102-0/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* gr/gf100-: implement the proper SetShaderExceptions methodBen Skeggs2014-08-101-0/+8
| | | | | | | | | | We have another version of it implemented in SW, however, that version isn't serialised with normal PGRAPH operation and can possibly clobber the enables for another context. This is the same method that's implemented by the NVIDIA binary driver. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* gr/gf100-: add support for zero bandwidth clearBen Skeggs2014-08-101-0/+56
| | | | | | | | | | Default ZBC table is compatible with binary driver defaults. Userspace will need to be updated to take full advantage of this feature, however, some applications will see a performance boost without updated drivers. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm: use ram info from nvif_deviceBen Skeggs2014-08-101-2/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp: implement nvif event sources for vblank/connector notifiersBen Skeggs2014-08-102-3/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp: audit and version display classesBen Skeggs2014-08-101-0/+86
| | | | | | | | 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-102-1/+23
| | | | | | | | 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-0/+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/nv50-: audit and version SOR_DP_PWR methodBen Skeggs2014-08-101-0/+6
| | | | | | | | 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-0/+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/nv50-: audit and version SOR_HDMI_PWR methodBen Skeggs2014-08-101-0/+8
| | | | | | | | 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_HDA_ELD methodBen Skeggs2014-08-101-0/+6
| | | | | | | | 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-0/+6
| | | | | | | | 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-0/+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/nv50-: audit and version DAC_PWR methodBen Skeggs2014-08-101-0/+43
| | | | | | | | 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>
* fifo: implement nvif event sourceBen Skeggs2014-08-102-0/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* fifo: audit and version fifo channel classesBen Skeggs2014-08-101-0/+56
| | | | | | | | 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>
* device: audit and version NVIF_CONTROL class and methodsBen Skeggs2014-08-102-0/+49
| | | | | | | | 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>
* pm: audit and version NVIF_PERFMON class and methodsBen Skeggs2014-08-102-0/+36
| | | | | | | | 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>
* dma: audit and version NV_DMA classesBen Skeggs2014-08-101-0/+72
| | | | | | | | 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>
* device: audit and version NV_DEVICE classBen Skeggs2014-08-101-0/+25
| | | | | | | | 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>
* drm: port to nvif client/device/objectsBen Skeggs2014-08-101-2/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm: initial pass at moving to struct nvif_deviceBen Skeggs2014-08-101-1/+0
| | | | | | | This is an attempt at isolating some of the changes necessary to port to NVIF in a separate commit. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nvif: import library functions for the ioctl/event interfacesBen Skeggs2014-08-1012-0/+1354
| | | | | | | | | | | | This is a wrapper around the interfaces defined in an earlier commit, and is also used by various userspace (either by a libdrm backend, or libpciaccess) tools/tests. In the future this will be extended to handle channels, replacing some long-unloved code we currently use, and allow fifo/display/mpeg (hi Ilia ;)) engines to all be exposed in the same way. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* client: add method to retrieve device listBen Skeggs2014-08-101-0/+14
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* device: add method to retrieve some basic device infoBen Skeggs2014-08-101-0/+43
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* core: import ioctl/event interfacesBen Skeggs2014-08-102-0/+151
| | | | | | | | | | | | | | | | | | This forms the basis for the new APIs that will be exposed to userspace, giving it access to: - Object method calls, the immediately useful of which is performance counters and the abiity to manipulate the ZBC tables. - Information on the child classes an object supports, in order to avoid having to try all supported classes until successful. - Notifications, which will be used in the future to inform the client if its channel was killed due to a lockup, etc. This commit imports the interfaces, but are not currently used. The DRM portion of the driver will be ported to speak to the core using these interfaces as much as possible. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* core: rework event interfaceBen Skeggs2014-08-102-0/+52
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>