summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/include
Commit message (Collapse)AuthorAgeFilesLines
...
* drm/nouveau/mmu: protect each vm with its own mutexBen Skeggs2015-08-281-4/+7
| | | | | | | | | | An upcoming commit requires being able to modify the PRAMIN BAR page tables while already holding the MMU subdev mutex. To solve this issue, each VM has been given its own mutex. As a nice side-effect, this also allows separate VMs to be updated concurrently. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: prepare for new-style objectsBen Skeggs2015-08-282-7/+6
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: prepare for new-style subdevsBen Skeggs2015-08-281-2/+48
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: separate construction of pci/tegra devicesBen Skeggs2015-08-285-13/+52
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/engine: implement support for new-style nvkm_engineBen Skeggs2015-08-281-0/+37
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/subdev: implement support for new-style nvkm_subdevBen Skeggs2015-08-282-7/+26
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/object: implement support for new-style nvkm_objectBen Skeggs2015-08-282-5/+65
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/engine: rename some functions to avoid upcoming conflictsBen Skeggs2015-08-285-10/+10
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/subdev: rename some functions to avoid upcoming conflictsBen Skeggs2015-08-288-15/+15
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/object: rename some functions to avoid upcoming conflictsBen Skeggs2015-08-283-9/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: device time mthdBen Skeggs2015-08-282-1/+7
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: replace pushbuf with vm in fermi/kepler gpfifo class argsBen Skeggs2015-08-281-1/+20
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: return chipset/board names from device info methodBen Skeggs2015-08-281-0/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: return min/max versions for supported object classesBen Skeggs2015-08-283-3/+14
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: assign internal class identifiers to sw classesBen Skeggs2015-08-282-1/+5
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: use negative oclass identifier for internal classesBen Skeggs2015-08-286-22/+13
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: extend nop ioctl to return nvif version identifierBen Skeggs2015-08-282-1/+5
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: replace path-based object identificationBen Skeggs2015-08-286-23/+28
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: simplify and tidy library interfacesBen Skeggs2015-08-284-77/+42
| | | | | | | | | | | | | | | | | | 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>
* drm/nouveau/client: store default device by handle, not referenceBen Skeggs2015-08-281-1/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/parent: remove some (now) unnecessary special-case handlingBen Skeggs2015-08-281-7/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/object: store object type data outside of handleBen Skeggs2015-08-285-7/+7
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: decouple from engine machineryBen Skeggs2015-08-281-1/+7
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: simplify subdev constructionBen Skeggs2015-08-282-23/+1
| | | | | | | | | | | | | 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>
* drm/nouveau/device: tidy ctor/dtor interfacesBen Skeggs2015-08-281-6/+4
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/client: tidy ctor/dtor interfacesBen Skeggs2015-08-281-9/+4
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/platform: remove subclassing of nvkm_deviceBen Skeggs2015-08-281-0/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp: transition outp/conn away from being based on nvkm_objectBen Skeggs2015-08-281-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/i2c: transition pad/ports away from being based on nvkm_objectBen Skeggs2015-08-281-52/+73
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fb: transition nvkm_ram away from being based on nvkm_objectBen Skeggs2015-08-282-28/+38
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/vga: require nvkm_device pointer in accessor functionsBen Skeggs2015-08-281-13/+13
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/imem: use object accessor function for suspend/resumeBen Skeggs2015-08-282-48/+1
| | | | | | Very much not ideal, but this will be improved later. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: wrap direct use of object accessor functionsBen Skeggs2015-08-281-0/+7
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gpuobj: type-safe accessor macrosBen Skeggs2015-08-281-0/+16
| | | | | | | | | | | | These require an explicit struct nvkm_gpuobj pointer, unlike the previous macros which take a void *, and work with any nvkm_object. New semantics require acquiring/releasing a gpuobj before accessing them, which will be made use of in later patches to greatly reduce the overhead of accesses, particularly when a direct mmio mapping of the object is not available (suspend/resume, out of ioremap() space, and on GK20A). Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/xtensa: remove object accessor functionsBen Skeggs2015-08-281-2/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/falcon: remove object accessor functionsBen Skeggs2015-08-281-2/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/imem: remove object accessor functionsBen Skeggs2015-08-281-0/+7
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fuse: remove object accessor functionsBen Skeggs2015-08-281-0/+5
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: remove object accessor functionsBen Skeggs2015-08-283-19/+10
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: remove last printksBen Skeggs2015-08-2811-63/+11
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/sec: switch to subdev printk macrosBen Skeggs2015-08-281-1/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr: switch to subdev printk macrosBen Skeggs2015-08-281-1/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: type-safe printk macrosBen Skeggs2015-08-284-5/+42
| | | | | | | | | | | | | | | | These require an explicit pointers to nvkm_object/nvkm_subdev/nvkm_device, depending on which macros are used. This is unlike the previous macros which take a void *, and work for anything derived from nvkm_object (by way of some awful heuristics). The output will be a bit confused until everything has been transitioned, as the logging format used is a more standard style that previously. In addition, usage of pr_cont(), which doesn't work correctly with the dev_*() printk functions (and was potentially racy to begin with), will be replaced. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: switch to new-style timer macrosBen Skeggs2015-08-282-32/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/tmr: type-safe PTIMER-based delay/wait macrosBen Skeggs2015-08-282-3/+76
| | | | | | | | | | | | These require an explicit struct nvkm_device pointer, unlike the previous macros which take a void *, and work for (almost) anything derived from nvkm_object by using some heuristics. These macros are more general than the previous ones, and can be used to handle PTIMER-based busy-waits (will be used in later devinit fixes) as well as more complicated wait conditions. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/kms/nv04: fix incorrect use of register accessorsBen Skeggs2015-08-282-66/+8
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: type-safe register accessor macrosBen Skeggs2015-08-281-0/+14
| | | | | | | These require an explit struct nvkm_device pointer, unlike the previous macros which take a void *, and assume it's any old nvkm_subdev. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/sw: cosmetic changesBen Skeggs2015-08-281-4/+4
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/pm: cosmetic changesBen Skeggs2015-08-281-1/+1
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/mspdec: cosmetic changesBen Skeggs2015-08-281-4/+4
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
OpenPOWER on IntegriCloud