summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/core
Commit message (Collapse)AuthorAgeFilesLines
* drm/nouveau/gk20a: add LTC deviceAlexandre Courbot2014-08-151-0/+1
| | | | | | | LTC device is now required for PGRAPH to work, add it. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gf100-/gr: fix -ENOSPC detection when allocating zbc table entriesBen Skeggs2014-08-151-0/+6
| | | | | | Spotted by Coverity. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ltc: fix tag base address getting truncated if above 4GiBBen Skeggs2014-08-151-1/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvc0-/fb/ram: fix use of non-existant ram if partitions aren't uniformBen Skeggs2014-08-151-2/+2
| | | | | | Likely a large part of the GK106 woes.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bar: behave better if ioremap failedBen Skeggs2014-08-151-3/+11
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: fix a number of notify thinkosBen Skeggs2014-08-152-3/+3
| | | | | | Note to self: more sleep Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/disp: shhh compilerBen Skeggs2014-08-101-4/+4
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gf100-/gr: implement the proper SetShaderExceptions methodBen Skeggs2014-08-108-17/+45
| | | | | | | | | | We have another version of it implemented in SW, however, that version isn't serialised with normal PGRAPH operation and can possibly clobber the enables for another context. This is the same method that's implemented by the NVIDIA binary driver. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gf100-/gr: remove some broken ltc bashing, for nowBen Skeggs2014-08-1013-58/+0
| | | | | | | | ... and hope that the defaults are good enough. This was always supposed to be a read/modify/write thing anyway, so we're writing very wrong stuff for some boards already. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gf100-/gr: unhardcode attribute cb configBen Skeggs2014-08-1013-166/+199
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gf100-/gr: fetch tpcs-per-ppc info on startupBen Skeggs2014-08-109-1/+16
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gf100-/gr: unhardcode pagepool configBen Skeggs2014-08-1013-41/+75
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gf100-/gr: unhardcode bundle cb configBen Skeggs2014-08-1013-41/+100
| | | | | | | | | Should be the same values as before, except: GF117 has smaller buffer allocated, as per register setup. GK20A now uses values from Tegra driver, not GK104's. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gf100-/gr: improve initial context patch list helpersBen Skeggs2014-08-104-20/+51
| | | | | | | Removes need for fixed buffer indices, and allows the functions utilising them to also be run outside of context generation. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gf100-/gr: add support for zero bandwidth clearBen Skeggs2014-08-109-11/+257
| | | | | | | | | | Default ZBC table is compatible with binary driver defaults. Userspace will need to be updated to take full advantage of this feature, however, some applications will see a performance boost without updated drivers. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ltc: add zbc driversBen Skeggs2014-08-106-1/+108
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ltc: s/ltcg/ltc/ + cleanupBen Skeggs2014-08-1016-233/+358
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp: implement nvif event sources for vblank/connector notifiersBen Skeggs2014-08-105-0/+23
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp: allow user direct access to channel control registersBen Skeggs2014-08-103-0/+21
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp: audit and version display classesBen Skeggs2014-08-1047-319/+155
| | | | | | | | 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>
* drm/nouveau/disp: audit and version SCANOUTPOS methodBen Skeggs2014-08-1012-163/+167
| | | | | | | | 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>
* drm/nv50-/disp: audit and version PIOR_PWR methodBen Skeggs2014-08-108-67/+30
| | | | | | | | 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>
* drm/nv50-/disp: audit and version SOR_DP_PWR methodBen Skeggs2014-08-107-66/+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>
* drm/nv50-/disp: audit and version LVDS_SCRIPT methodBen Skeggs2014-08-107-11/+15
| | | | | | | | 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>
* drm/nv50-/disp: audit and version SOR_HDMI_PWR methodBen Skeggs2014-08-1011-33/+86
| | | | | | | | 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>
* drm/nv50-/disp: audit and version SOR_HDA_ELD methodBen Skeggs2014-08-108-25/+47
| | | | | | | | 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>
* drm/nv50-/disp: audit and version SOR_PWR methodBen Skeggs2014-08-108-18/+23
| | | | | | | | 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>
* drm/nv50-/disp: audit and version DAC_LOAD methodBen Skeggs2014-08-108-45/+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>
* drm/nv50-/disp: audit and version DAC_PWR methodBen Skeggs2014-08-1010-32/+106
| | | | | | | | 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>
* drm/nv50-/disp: share channel creation between nv50/gf110 implsBen Skeggs2014-08-1010-302/+204
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fifo: implement nvif event sourceBen Skeggs2014-08-1010-42/+65
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fifo: allow direct access to channel control registers where ↵Ben Skeggs2014-08-1010-9/+36
| | | | | | | | | | | | | | | possible The indirect method has been left in-place here as a fallback path, as it may not be possible to map the non-PAGE_SIZE aligned control areas across some chipset+interface combinations. This isn't a problem for the primary use-case where the core and drm are linked together in kernel-land, but across a VM or (in the case where it applies now) between the core in the kernel and a userspace test tool. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fifo: audit and version fifo channel classesBen Skeggs2014-08-1012-156/+202
| | | | | | | | 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>
* drm/nouveau/device: audit and version NVIF_CONTROL class and methodsBen Skeggs2014-08-104-100/+110
| | | | | | | | 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>
* drm/nouveau/pm: audit and version NVIF_PERFMON class and methodsBen Skeggs2014-08-102-78/+80
| | | | | | | | 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>
* drm/nouveau/dma: audit and version NV_DMA classesBen Skeggs2014-08-108-144/+154
| | | | | | | | 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>
* drm/nouveau/dmaobj: switch to a slightly saner designBen Skeggs2014-08-108-181/+357
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/dmaobj: update to an improved style of class definitionBen Skeggs2014-08-1016-209/+157
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: audit and version NV_DEVICE classBen Skeggs2014-08-104-93/+96
| | | | | | | | 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>
* drm/nouveau/nvif: import library functions for the ioctl/event interfacesBen Skeggs2014-08-102-2/+2
| | | | | | | | | | | | 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>
* drm/nouveau/client: add method to retrieve device listBen Skeggs2014-08-103-0/+58
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: remove NV_D0 familyBen Skeggs2014-08-102-7/+4
| | | | | | | 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>
* drm/nouveau/device: add method to retrieve some basic device infoBen Skeggs2014-08-103-37/+128
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: import ioctl/event interfacesBen Skeggs2014-08-1010-4/+679
| | | | | | | | | | | | | | | | | | This forms the basis for the new APIs that will be exposed to userspace, giving it access to: - Object method calls, the immediately useful of which is performance counters and the abiity to manipulate the ZBC tables. - Information on the child classes an object supports, in order to avoid having to try all supported classes until successful. - Notifications, which will be used in the future to inform the client if its channel was killed due to a lockup, etc. This commit imports the interfaces, but are not currently used. The DRM portion of the driver will be ported to speak to the core using these interfaces as much as possible. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: add function to return list of supported childrenBen Skeggs2014-08-102-0/+34
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: rework event interfaceBen Skeggs2014-08-1044-471/+768
| | | | | | | | | | | | | | | This is a lot of prep-work for being able to send event notifications back to userspace. Events now contain data, rather than a "something just happened" signal. Handler data is now embedded into a containing structure, rather than being kmalloc()'d, and can optionally have the notify routine handled in a workqueue. Various races between suspend/unload with display HPD/DP IRQ handlers automagically solved as a result. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: move handle-based object apis to handle.cBen Skeggs2014-08-104-120/+135
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: fail creation of zero-argument objects, when arguments are ↵Ben Skeggs2014-08-101-30/+6
| | | | | | passed Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-/sw: use nv50_software_context_dtor....Ben Skeggs2014-08-102-2/+2
| | | | | | You would not believe the troubles this caused me... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-/fb: use dma_mapping_error() to check dma_map_page() resultBen Skeggs2014-08-102-3/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
OpenPOWER on IntegriCloud