GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
9 years agodrm/nouveau/tegra: merge platform setup from nouveau drm
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/tegra: merge platform setup from nouveau drm

The copyright header in nvkm/engine/device/platform.c has been replaced
with the NVIDIA one from drm/nouveau_platform.c, as most of the actual
code is now theirs.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/pci: merge agp handling from nouveau drm
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/pci: merge agp handling from nouveau drm

This commit reinstates the pre-DEVINIT AGP fiddling that was broken in
an earlier commit.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: remove pci/platform_device from common struct
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/device: remove pci/platform_device from common struct

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: import pciid list and integrate quirks with it
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/device: import pciid list and integrate quirks with it

PCI IDs taken from the NVIDIA binary driver, with permission.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: cleaner abstraction for device resource functions
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/device: cleaner abstraction for device resource functions

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mc: move device irq handling to platform-specific code
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/mc: move device irq handling to platform-specific code

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mc/gf100-: handle second interrupt tree
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/mc/gf100-: handle second interrupt tree

Doesn't fix any known issue, but best be safe in case control is handed
to us from firmware with these left enabled.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mc: abstract interface to master intr registers
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/mc: abstract interface to master intr registers

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

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

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/core: remove the remainder of the previous style
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/core: remove the remainder of the previous style

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
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>