aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm
AgeCommit message (Collapse)AuthorFilesLines
2014-08-10drm/gf100-/gr: unhardcode bundle cb configBen Skeggs13-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 <[email protected]>
2014-08-10drm/gf100-/gr: improve initial context patch list helpersBen Skeggs4-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 <[email protected]>
2014-08-10drm/gf100-/gr: add support for zero bandwidth clearBen Skeggs10-11/+313
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 <[email protected]>
2014-08-10drm/nouveau/ltc: add zbc driversBen Skeggs6-1/+108
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/ltc: s/ltcg/ltc/ + cleanupBen Skeggs17-235/+362
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: use ram info from nvif_deviceBen Skeggs8-32/+17
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/disp: implement nvif event sources for vblank/connector notifiersBen Skeggs11-20/+47
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/disp: allow user direct access to channel control registersBen Skeggs4-1/+24
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/disp: audit and version display classesBen Skeggs52-423/+323
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 <[email protected]>
2014-08-10drm/nouveau/disp: audit and version SCANOUTPOS methodBen Skeggs15-172/+204
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 <[email protected]>
2014-08-10drm/nv50-/disp: audit and version PIOR_PWR methodBen Skeggs10-70/+50
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 <[email protected]>
2014-08-10drm/nv50-/disp: audit and version SOR_DP_PWR methodBen Skeggs9-74/+41
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 <[email protected]>
2014-08-10drm/nv50-/disp: audit and version LVDS_SCRIPT methodBen Skeggs9-23/+43
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 <[email protected]>
2014-08-10drm/nv50-/disp: audit and version SOR_HDMI_PWR methodBen Skeggs13-45/+121
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 <[email protected]>
2014-08-10drm/nv50-/disp: audit and version SOR_HDA_ELD methodBen Skeggs10-29/+75
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 <[email protected]>
2014-08-10drm/nv50-/disp: audit and version SOR_PWR methodBen Skeggs10-26/+45
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 <[email protected]>
2014-08-10drm/nv50-/disp: audit and version DAC_LOAD methodBen Skeggs10-51/+48
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 <[email protected]>
2014-08-10drm/nv50-/disp: audit and version DAC_PWR methodBen Skeggs13-41/+171
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 <[email protected]>
2014-08-10drm/nv50-/disp: share channel creation between nv50/gf110 implsBen Skeggs10-302/+204
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50/kms: don't assume same class versions for all channelsBen Skeggs1-48/+166
One of the next commits will remove some of the class IDs, leaving only the ones used by NVIDIA which, presumably, mark where functionality changes actually happened. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/fifo: implement nvif event sourceBen Skeggs13-50/+89
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/fifo: allow direct access to channel control registers where ↵Ben Skeggs11-9/+38
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 <[email protected]>
2014-08-10drm/nouveau/fifo: audit and version fifo channel classesBen Skeggs19-199/+323
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 <[email protected]>
2014-08-10drm/nouveau/device: audit and version NVIF_CONTROL class and methodsBen Skeggs7-112/+174
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 <[email protected]>
2014-08-10drm/nouveau/pm: audit and version NVIF_PERFMON class and methodsBen Skeggs4-78/+116
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 <[email protected]>
2014-08-10drm/nouveau/dma: audit and version NV_DMA classesBen Skeggs15-216/+318
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 <[email protected]>
2014-08-10drm/nouveau/dmaobj: switch to a slightly saner designBen Skeggs8-181/+357
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/dmaobj: update to an improved style of class definitionBen Skeggs16-209/+157
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/device: audit and version NV_DEVICE classBen Skeggs7-105/+135
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 <[email protected]>
2014-08-10drm/nouveau: use ioctl interface for abi16 gpuobj freeBen Skeggs1-3/+15
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: use ioctl interface for abi16 ntfy allocBen Skeggs1-18/+31
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: use ioctl interface for abi16 grobj allocBen Skeggs2-34/+46
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: remove as much direct use of core headers as possibleBen Skeggs23-59/+22
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: remove (most) hardcoded object handle usageBen Skeggs9-58/+45
The PFIFO<->EVO sync buffers will be fixed up later when inter-channel sync in general is improved. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: port to nvif client/device/objectsBen Skeggs40-479/+522
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: initial pass at moving to struct nvif_deviceBen Skeggs41-388/+459
This is an attempt at isolating some of the changes necessary to port to NVIF in a separate commit. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: kill nouveau_dev() + wrap register macrosBen Skeggs17-219/+228
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: fix some usages of the wrong print functionBen Skeggs8-50/+54
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/nvif: import library functions for the ioctl/event interfacesBen Skeggs14-2/+1350
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 <[email protected]>
2014-08-10drm/nouveau/client: add method to retrieve device listBen Skeggs4-0/+72
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/core: remove NV_D0 familyBen Skeggs6-34/+37
The one place where it mattered has been replaced with a class check, which is more appropriate anyway. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/device: add method to retrieve some basic device infoBen Skeggs4-37/+171
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/core: import ioctl/event interfacesBen Skeggs13-4/+831
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 <[email protected]>
2014-08-10drm/nouveau/core: add function to return list of supported childrenBen Skeggs2-0/+34
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/core: rework event interfaceBen Skeggs52-517/+875
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 <[email protected]>
2014-08-10drm/nouveau/core: move handle-based object apis to handle.cBen Skeggs4-120/+135
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/core: fail creation of zero-argument objects, when arguments are ↵Ben Skeggs1-30/+6
passed Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: store a pointer to vm in nouveau_cliBen Skeggs5-19/+24
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: store vblank event handler data in nv_crtcBen Skeggs3-29/+29
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50/kms: create ctxdma objects for framebuffers as requiredBen Skeggs4-163/+126
Signed-off-by: Ben Skeggs <[email protected]>