aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/include
Commit message (Collapse)AuthorAge
...
* drm/nouveau/nvif: replace path-based object identificationBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: simplify and tidy library interfacesBen Skeggs2015-08-27
| | | | | | | | | | | | | | | | | | 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-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/parent: remove some (now) unnecessary special-case handlingBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/object: store object type data outside of handleBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: decouple from engine machineryBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: simplify subdev constructionBen Skeggs2015-08-27
| | | | | | | | | | | | | 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-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/client: tidy ctor/dtor interfacesBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/platform: remove subclassing of nvkm_deviceBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp: transition outp/conn away from being based on nvkm_objectBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/i2c: transition pad/ports away from being based on nvkm_objectBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fb: transition nvkm_ram away from being based on nvkm_objectBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/vga: require nvkm_device pointer in accessor functionsBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/imem: use object accessor function for suspend/resumeBen Skeggs2015-08-27
| | | | | | 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-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gpuobj: type-safe accessor macrosBen Skeggs2015-08-27
| | | | | | | | | | | | 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-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/falcon: remove object accessor functionsBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/imem: remove object accessor functionsBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fuse: remove object accessor functionsBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: remove object accessor functionsBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: remove last printksBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/sec: switch to subdev printk macrosBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr: switch to subdev printk macrosBen Skeggs2015-08-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: type-safe printk macrosBen Skeggs2015-08-27
| | | | | | | | | | | | | | | | 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-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/tmr: type-safe PTIMER-based delay/wait macrosBen Skeggs2015-08-27
| | | | | | | | | | | | 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-27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: type-safe register accessor macrosBen Skeggs2015-08-27
| | | | | | | 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-27
| | | | | | | 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-27
| | | | | | | 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-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/mpeg: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fifo: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/dma: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ce: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/xtensa: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/falcon: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/volt: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/tmr: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/therm: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/pmu: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/mxm: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/mmu: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/mc: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ltc: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/imem: cosmetic changesBen Skeggs2015-08-27
| | | | | | | This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>