summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-09drm/nouveau/ltc: add zbc driversBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/ltc: s/ltcg/ltc/ + cleanupBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: use ram info from nvif_deviceBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/disp: implement nvif event sources for vblank/connector notifiersBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/disp: allow user direct access to channel control registersBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/disp: audit and version display classesBen Skeggs
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>
2014-08-09drm/nouveau/disp: audit and version SCANOUTPOS methodBen Skeggs
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>
2014-08-09drm/nv50-/disp: audit and version PIOR_PWR methodBen Skeggs
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>
2014-08-09drm/nv50-/disp: audit and version SOR_DP_PWR methodBen Skeggs
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>
2014-08-09drm/nv50-/disp: audit and version LVDS_SCRIPT methodBen Skeggs
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>
2014-08-09drm/nv50-/disp: audit and version SOR_HDMI_PWR methodBen Skeggs
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>
2014-08-09drm/nv50-/disp: audit and version SOR_HDA_ELD methodBen Skeggs
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>
2014-08-09drm/nv50-/disp: audit and version SOR_PWR methodBen Skeggs
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>
2014-08-09drm/nv50-/disp: audit and version DAC_LOAD methodBen Skeggs
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>
2014-08-09drm/nv50-/disp: audit and version DAC_PWR methodBen Skeggs
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>
2014-08-09drm/nv50-/disp: share channel creation between nv50/gf110 implsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nv50/kms: don't assume same class versions for all channelsBen Skeggs
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 <bskeggs@redhat.com>
2014-08-09drm/nouveau/fifo: implement nvif event sourceBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/fifo: allow direct access to channel control registers where ↵Ben Skeggs
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>
2014-08-09drm/nouveau/fifo: audit and version fifo channel classesBen Skeggs
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>
2014-08-09drm/nouveau/device: audit and version NVIF_CONTROL class and methodsBen Skeggs
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>
2014-08-09drm/nouveau/pm: audit and version NVIF_PERFMON class and methodsBen Skeggs
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>
2014-08-09drm/nouveau/dma: audit and version NV_DMA classesBen Skeggs
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>
2014-08-09drm/nouveau/dmaobj: switch to a slightly saner designBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/dmaobj: update to an improved style of class definitionBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/device: audit and version NV_DEVICE classBen Skeggs
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>
2014-08-09drm/nouveau: use ioctl interface for abi16 gpuobj freeBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: use ioctl interface for abi16 ntfy allocBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: use ioctl interface for abi16 grobj allocBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: remove as much direct use of core headers as possibleBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: remove (most) hardcoded object handle usageBen Skeggs
The PFIFO<->EVO sync buffers will be fixed up later when inter-channel sync in general is improved. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: port to nvif client/device/objectsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: initial pass at moving to struct nvif_deviceBen Skeggs
This is an attempt at isolating some of the changes necessary to port to NVIF in a separate commit. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: kill nouveau_dev() + wrap register macrosBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: fix some usages of the wrong print functionBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/nvif: import library functions for the ioctl/event interfacesBen Skeggs
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>
2014-08-09drm/nouveau/client: add method to retrieve device listBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/core: remove NV_D0 familyBen Skeggs
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>
2014-08-09drm/nouveau/device: add method to retrieve some basic device infoBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/core: import ioctl/event interfacesBen Skeggs
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>
2014-08-09drm/nouveau/core: add function to return list of supported childrenBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/core: rework event interfaceBen Skeggs
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>
2014-08-09drm/nouveau/core: move handle-based object apis to handle.cBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau/core: fail creation of zero-argument objects, when arguments are ↵Ben Skeggs
passed Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: store a pointer to vm in nouveau_cliBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: store vblank event handler data in nv_crtcBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nv50/kms: create ctxdma objects for framebuffers as requiredBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nv50/kms: move framebuffer wrangling out of common codeBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nouveau: Bump version from 1.1.1 to 1.1.2Mario Kleiner
Linux 3.16 fixed multiple bugs in kms pageflip completion events and timestamping, which were originally introduced in Linux 3.13. These fixes have been backported to all stable kernels since 3.13. However, the userspace nouveau-ddx needs to be aware if it is running on a kernel on which these bugs are fixed, or not. Bump the patchlevel of the drm driver version to signal this, so backporting this patch to stable 3.13+ kernels will give the ddx the required info. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Cc: <stable@vger.kernel.org> #v3.13+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-08-09drm/nv50-/sw: use nv50_software_context_dtor....Ben Skeggs
You would not believe the troubles this caused me... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>