]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/log
mirror_ubuntu-focal-kernel.git
9 years agodrm/nouveau/mc: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/mc: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/ltc: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/ltc: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/imem: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/imem: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/devinit: run devinit scripts right after preinit
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/devinit: run devinit scripts right after preinit

This ensures we have a valid mask of disabled engines before we start
trying to execute fini()/init() on the subdevs, potentially touching
devices that don't exist.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/ibus: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/ibus: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/i2c: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/i2c: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gpio: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/gpio: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fuse: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/fuse: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fb: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/fb: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/devinit: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/devinit: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/clk: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/clk: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/bus: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/bus: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/bios: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/bios: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/bar: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/bar: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/core: kill some (now) dead code
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/core: kill some (now) dead code

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/sw: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/sw: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/pm: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/pm: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mpeg: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/mpeg: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gr: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/gr: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/cipher: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/cipher: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/ce: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/ce: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/xtensa: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/xtensa: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/falcon: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/falcon: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/fifo: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: split user classes out from engine implementations
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/fifo: split user classes out from engine implementations

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/disp: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/disp: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/disp: split user classes out from engine implementations
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/disp: split user classes out from engine implementations

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/dma: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/dma: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/dma: split user classes out from engine implementations
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/dma: split user classes out from engine implementations

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: convert ctrl class to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/device: convert ctrl class to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: convert user class to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/device: convert user class to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/client: convert to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/client: convert to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/sw: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/sw: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mpeg: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/mpeg: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gr: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/gr: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/fifo: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/cipher: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/cipher: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/falcon: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/falcon: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fb: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/fb: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/sw: turn flip completion into an event
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/sw: turn flip completion into an event

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/sw/nv04: replace direct context access with GetRef method
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/sw/nv04: replace direct context access with GetRef method

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/ramht: remove dependence on namedb
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/ramht: remove dependence on namedb

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gpuobj: separate allocation from nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/gpuobj: separate allocation from nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gr: directly use instmem where currently possible
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/gr: directly use instmem where currently possible

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: directly use instmem for runlists and polling areas
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/fifo: directly use instmem for runlists and polling areas

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/xtensa: directly use instmem for ucode image
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/xtensa: directly use instmem for ucode image

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/falcon: directly use instmem for ucode image
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/falcon: directly use instmem for ucode image

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/imem/nv04-nv40: directly use instmem for vbios/ramfc/ramro
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/imem/nv04-nv40: directly use instmem for vbios/ramfc/ramro

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/bar/gf100: directly use instmem for channel descriptors
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/bar/gf100: directly use instmem for channel descriptors

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mmu: directly use instmem for page tables
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/mmu: directly use instmem for page tables

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/imem: improve management of instance memory
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/imem: improve management of instance memory

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mmu: protect each vm with its own mutex
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/mmu: protect each vm with its own mutex

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>
9 years agodrm/nouveau/core: prepare for new-style objects
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/core: prepare for new-style objects

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: prepare for new-style subdevs
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/device: prepare for new-style subdevs

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: separate construction of pci/tegra devices
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/device: separate construction of pci/tegra devices

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/engine: implement support for new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/engine: implement support for new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/subdev: implement support for new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/subdev: implement support for new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/object: implement support for new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/object: implement support for new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/engine: rename some functions to avoid upcoming conflicts
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/engine: rename some functions to avoid upcoming conflicts

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/subdev: rename some functions to avoid upcoming conflicts
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/subdev: rename some functions to avoid upcoming conflicts

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/object: rename some functions to avoid upcoming conflicts
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/object: rename some functions to avoid upcoming conflicts

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: device time mthd
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: device time mthd

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: replace pushbuf with vm in fermi/kepler gpfifo class args
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: replace pushbuf with vm in fermi/kepler gpfifo class args

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: return chipset/board names from device info method
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: return chipset/board names from device info method

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: add supported engines query to kepler gpfifo class
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: add supported engines query to kepler gpfifo class

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: return min/max versions for supported object classes
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: return min/max versions for supported object classes

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: assign internal class identifiers to sw classes
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: assign internal class identifiers to sw classes

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: use negative oclass identifier for internal classes
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: use negative oclass identifier for internal classes

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: return success from sclass even for objects without children
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: return success from sclass even for objects without children

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: extend nop ioctl to return nvif version identifier
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: extend nop ioctl to return nvif version identifier

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: replace path-based object identification
Ben Skeggs [Thu, 20 Aug 2015 04:54:16 +0000 (14:54 +1000)]
drm/nouveau/nvif: replace path-based object identification

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/nvif: simplify and tidy library interfaces
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/nvif: simplify and tidy library interfaces

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>
9 years agodrm/nouveau/client: store default device by handle, not reference
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/client: store default device by handle, not reference

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/parent: remove some (now) unnecessary special-case handling
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/parent: remove some (now) unnecessary special-case handling

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/object: store object type data outside of handle
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/object: store object type data outside of handle

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: decouple from engine machinery
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/device: decouple from engine machinery

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: split user device implementation out on its own
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/device: split user device implementation out on its own

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: simplify subdev construction
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/device: simplify subdev construction

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>
9 years agodrm/nouveau/bin: punt client/device argument handling into a common helper
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/bin: punt client/device argument handling into a common helper

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: tidy ctor/dtor interfaces
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/device: tidy ctor/dtor interfaces

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/client: tidy ctor/dtor interfaces
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/client: tidy ctor/dtor interfaces

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/platform: remove subclassing of nvkm_device
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/platform: remove subclassing of nvkm_device

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/disp: transition outp/conn away from being based on nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/disp: transition outp/conn away from being based on nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/i2c: transition pad/ports away from being based on nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:15 +0000 (14:54 +1000)]
drm/nouveau/i2c: transition pad/ports away from being based on nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fb: transition nvkm_ram away from being based on nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/fb: transition nvkm_ram away from being based on nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/vga: require nvkm_device pointer in accessor functions
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/vga: require nvkm_device pointer in accessor functions

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/imem: use object accessor function for suspend/resume
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/imem: use object accessor function for suspend/resume

Very much not ideal, but this will be improved later.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/core: wrap direct use of object accessor functions
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/core: wrap direct use of object accessor functions

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mpeg: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/mpeg: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gr: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/gr: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/fifo: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/dma: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/dma: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/cipher: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/cipher: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/xtensa: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/xtensa: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/falcon: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/falcon: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mmu: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/mmu: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/bar: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/bar: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/core: switch to gpuobj accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/core: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gpuobj: type-safe accessor macros
Ben Skeggs [Thu, 20 Aug 2015 04:54:14 +0000 (14:54 +1000)]
drm/nouveau/gpuobj: type-safe accessor macros

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>
9 years agodrm/nouveau/xtensa: remove object accessor functions
Ben Skeggs [Thu, 20 Aug 2015 04:54:13 +0000 (14:54 +1000)]
drm/nouveau/xtensa: remove object accessor functions

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>