summaryrefslogtreecommitdiff
path: root/bin
Commit message (Collapse)AuthorAgeFilesLines
* core: recognise GP100 chipsetBen Skeggs2016-07-148-8/+8
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* bin: add nv_unpack to unpack fw register listsBen Skeggs2016-03-141-0/+94
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* bin: bios depends on pci subdev these daysBen Skeggs2016-01-112-0/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nvif: split out client interface definitionsBen Skeggs2016-01-111-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nvif: split out perfmon interface definitionsBen Skeggs2016-01-111-0/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nvif: move internal class identifiers to class.hBen Skeggs2016-01-111-2/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* device: cleaner abstraction for device resource functionsBen Skeggs2015-08-284-12/+12
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* core: remove the remainder of the previous styleBen Skeggs2015-08-283-6/+6
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nvif: simplify and tidy library interfacesBen Skeggs2015-08-2818-74/+148
| | | | | | | | | | | | | | | | | | A variety of tweaks to the NVIF library interfaces, mostly ripping out things that turned out to be not so useful. - Removed refcounting from nvif_object, callers are expected to not be stupid instead. - nvif_client is directly reachable from anything derived from nvif_object, removing the need for heuristics to locate it - _new() versions of interfaces, that allocate memory for the object they construct, have been removed. The vast majority of callers used the embedded _init() interfaces. - No longer storing constructor arguments (and the data returned from nvkm) inside nvif_object, it's more or less unused and just wastes memory. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* device: simplify subdev constructionBen Skeggs2015-08-281-7/+5
| | | | | | | | | | | | | Replaces the piece-by-piece (in response to NV_DEVICE ctor args) device contruction with a once-off all-or-nothing approach, eliminating some tricky refcounting issues. The partial device init capability was only required by some tools, and has been moved to probe time instead. Temporarily removes a workaround for some boards where we need to fiddle with AGP registers before executing the DEVINIT scripts. A later commit in this series reinstates it. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* bin: punt client/device argument handling into a common helperBen Skeggs2015-08-2817-237/+136
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* i2c: transition pad/ports away from being based on nvkm_objectBen Skeggs2015-08-282-26/+45
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* lib: various tweaksBen Skeggs2015-08-2834-39/+38
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* pm: stack perfdom class under perfmonBen Skeggs2015-08-281-14/+12
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* pm: allow to configure domains instead of simple countersSamuel Pitoiset2015-08-281-46/+147
| | | | | | | | | | | | | | | | | | | Configuring counters from the userspace require the kernel to handle some logic related to performance counters. Basically, it has to find a free slot to assign a counter, to handle extra counting modes like B4/B6 and it must return and error when it can't configure a counter. In my opinion, the kernel should not handle all of that logic but it should only write the configuration sent by the userspace without checking anything. In other words, it should overwrite the configuration even if it's already counting and do not return any errors. This patch allows the userspace to configure a domain instead of separate counters. This has the advantage to move all of the logic to the userspace. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* pm: use hardware signals indexes instead of user-readable namesSamuel Pitoiset2015-08-281-2/+4
| | | | | Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* pm: change signal iter to u16Samuel Pitoiset2015-08-281-2/+2
| | | | | | | | 16 bits is large enough to store the maximum number of signals available for one domain (i.e. 256). Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* pm: allow to query signals by domainSamuel Pitoiset2015-08-281-49/+136
| | | | | | | | This will allow to configure performance counters with hardware signal indexes instead of user-readable names in an upcoming patch. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* pm: reorganize the nvif interfaceSamuel Pitoiset2015-08-281-6/+6
| | | | | | | | | This commit introduces the NVIF_IOCTL_NEW_V0_PERFMON class which will be used in order to query domains, signals and sources. This separates the querying and the counting interface. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* bin: fix some missed search+replacesBen Skeggs2015-04-133-9/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm: finalise nvkm namespace switch (no binary change)Ben Skeggs2015-01-192-6/+6
| | | | | | | | | | | | | | | | The namespace of NVKM is being changed to nvkm_ instead of nouveau_, which will be used for the DRM part of the driver. This is being done in order to make it very clear as to what part of the driver a given symbol belongs to, and as a minor step towards splitting the DRM driver out to be able to stand on its own (for virt). Because there's already a large amount of churn here anyway, this is as good a time as any to also switch to NVIDIA's device and chipset naming to ease collaboration with them. A comparison of objdump disassemblies proves no code changes. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nvif: namespace of nvkm accessors (no binary change)Ben Skeggs2015-01-196-6/+6
| | | | | | | | | | NVKM is having it's namespace switched to nvkm_, which will conflict with these functions (which are workarounds for the fact that as of yet, we still aren't able to split DRM and NVKM completely). A comparison of objdump disassemblies proves no code changes. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* pm: rename from perfmon (no binary change)Ben Skeggs2015-01-191-1/+1
| | | | | | | | | | | | | | | | | | Switch to NVIDIA's name for the device. The namespace of NVKM is being changed to nvkm_ instead of nouveau_, which will be used for the DRM part of the driver. This is being done in order to make it very clear as to what part of the driver a given symbol belongs to, and as a minor step towards splitting the DRM driver out to be able to stand on its own (for virt). Because there's already a large amount of churn here anyway, this is as good a time as any to also switch to NVIDIA's device and chipset naming to ease collaboration with them. A comparison of objdump disassemblies proves no code changes. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm: remove symlinks from build, use Kbuild files for lib buildBen Skeggs2015-01-193-13/+17
| | | | | | | | | | | | | | | | | 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>
* bin: fix nv_init s/rBen Skeggs2015-01-101-3/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* bin: default to libnvkm driver for tools that touch registersBen Skeggs2014-12-025-5/+5
| | | | | | | | The DRM won't allow device registers to be touched by userspace, so it's pointless to even try that backend, and it's annoying to have to pass "-b lib" to everything if the DRM is loaded. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* disp: audit and version display classesBen Skeggs2014-08-106-6/+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>
* pm: audit and version NVIF_PERFMON class and methodsBen Skeggs2014-08-101-25/+24
| | | | | | | | 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-1016-42/+42
| | | | | | | | 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>
* nvif: import library functions for the ioctl/event interfacesBen Skeggs2014-08-1035-209/+243
| | | | | | | | | | | | 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>
* lib: silence some issues reported by valgrindBen Skeggs2014-08-101-0/+1
|
* core: remove NV_D0 familyBen Skeggs2014-08-101-2/+2
| | | | | | | The one place where it mattered has been replaced with a class check, which is more appropriate anyway. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* bin: fix nv_aux wrBen Skeggs2014-06-071-1/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* tools: fix nv_disp for fermiBen Skeggs2014-03-261-1/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* bin: fix pramin access toolsBen Skeggs2014-01-232-0/+2
|
* nv_perfmon: initial toolBen Skeggs2013-11-082-2/+698
| | | | | | Various fixes by Emil Velikov have been squashed into this commit. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* tools: give rdfunc diff-per-second and watch functionalityBen Skeggs2013-11-051-12/+67
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nv_rdfuc: dumb tool to pull back data from fuc enginesBen Skeggs2013-06-132-1/+67
|
* nv_init: trace->infoBen Skeggs2013-04-241-1/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nv_init: optional s/r test and wait flagsBen Skeggs2013-04-241-1/+17
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nv_init: tool to run full init/takedown sequenceBen Skeggs2013-04-152-1/+43
| | | | | | Useful for debugging. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nv_aux: tool to access dp aux channelsBen Skeggs2013-02-202-1/+119
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* nv_i2c: add tool to access i2c bussesBen Skeggs2013-02-202-1/+152
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* initial import of nouveau kernel module core, some simple tools, and drmBen Skeggs2013-01-0942-0/+729
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>