summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/core/include
Commit message (Collapse)AuthorAgeFilesLines
* drm/nouveau/bios: parse older ramcfg/timing data like we do newer onesBen Skeggs2014-09-152-67/+100
| | | | | | Done after discussion with Roy. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50/fb/ram: Store the number of partitions in the designated fieldsRoy Spliet2014-09-151-0/+1
| | | | | Signed-off-by: Roy Spliet <rspliet@eclipso.eu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/pwr/memx: rename fb off/on to block/unblockBen Skeggs2014-09-151-2/+2
| | | | | | | | More accurate as to the function of the opcodes. Not only is FB disabled, but the host is prevented from touching the GPU. An upcoming patch for Kepler will also halt PFIFO (as NVIDIA does). Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gpio: rename g92 class to g94Emil Velikov2014-09-151-1/+1
| | | | | | | | | | | | | | | | | nv92 hardware has only 16 interrupt lines, while nv94 and later has 32. Accessing 0xe0c{0,4} registers on nv92 can lead to incorrect PDISP setup. This is a regression introduced with commit 9d0f5ec9ee0fd5dc5fc1cc2cf559286431e406e3 Author: Ben Skeggs <bskeggs@redhat.com> Date: Mon May 12 15:22:42 2014 +1000 gpio: split g92 class from nv50 Reported-by: estece on #nouveau Cc: stable@vger.kernel.org # 3.16+ Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: parse another large chunk of random memory config dataBen Skeggs2014-09-151-0/+11
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gk104-/fb/ram: parse ramcfg data for all frequencies up-frontBen Skeggs2014-09-151-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: parse freq ranges and timing id into ramcfg structBen Skeggs2014-09-152-2/+12
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: add support for parsing table at BIT 'M' v2 + 0x09Ben Skeggs2014-09-151-0/+30
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: add support for parsing table at BIT 'M' v2 + 0x05Ben Skeggs2014-09-151-0/+32
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/pwr/memx: Make FB disable and enable explicitRoy Spliet2014-09-151-0/+2
| | | | | | | | | | | | | Needs to be done after wait-for-VBLANK, and NVA3 requires register writes in between. Rather than hard-coding register writes, just split out fb_disable and fb_enable. v2. Squashed "fb/ramnve0: disable fb before reclocking" Signed-off-by: Roy Spliet <rspliet@eclipso.eu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nva3/pwr/memx: Implement "wait for VBLANK"Roy Spliet2014-09-151-0/+1
| | | | | Signed-off-by: Roy Spliet <rspliet@eclipso.eu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/subdev: add a pfuse subdev v2Martin Peres2014-09-152-0/+31
| | | | | | | | | | | | We will use this subdev to disable temperature reading on cards that did not get a sensor calibration in the factory. v2: - rename "nouveau_fuse_rd32" to "gxXXX_fuse_rd32" as adviced by Christian Costa - fold the code a little as adviced by Emil Velikov Signed-off-by: Martin Peres <martin.peres@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nva3/clk: Set intermediate core clock on reclockingRoy Spliet2014-09-151-0/+1
| | | | | Signed-off-by: Roy Spliet <rspliet@eclipso.eu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: Fix duplicate definition of NV04_PFB_BOOT_0_*Pierre Moreau2014-09-151-0/+21
| | | | | Signed-off-by: Pierre Moreau <pierre.morrow@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/gm107/therm: add PWM fan support v2Martin Peres2014-09-151-0/+1
| | | | | | | | v2: change the copyright ownership from "Nouveau Community" to myself, as per Illia's recommendation. Signed-off-by: Martin Peres <martin.peres@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios/fan: add support for maxwell's fan management table v2Martin Peres2014-09-152-1/+17
| | | | | | | | | | | | Re-use the therm-exported fan structure with only two minor modifications: - pwm_freq: u16 -> u32; - add fan_type (toggle or PWM) v2: - Do not memset the table to 0 as it erases the pre-set default values Signed-off-by: Martin Peres <martin.peres@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core/mm: allow allocation to be confined to a specific slice of heapBen Skeggs2014-09-151-4/+6
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core/mm: fill in holes with "allocated" nodesBen Skeggs2014-09-151-0/+1
| | | | | | | | | | | The allocation algorithm doesn't expect there to be holes in the mm, which causes its alignment/cutoff calculations to choke (and go negative) when encountering the last chunk of a block before a hole. The least expensive solution is to simply fill in any holes with nodes that are pre-marked as being allocated. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core/mm: make it clearer what (type == 0) meansBen Skeggs2014-09-151-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: pass related object into notify constructorBen Skeggs2014-09-154-5/+8
| | | | | | The event source types/index might need to be derived from it. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bar: ioremap only the areas that we're actually usingBen Skeggs2014-09-151-1/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvif: fix a number of notify thinkosBen Skeggs2014-08-151-1/+1
| | | | | | Note to self: more sleep Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ltc: add zbc driversBen Skeggs2014-08-101-0/+7
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ltc: s/ltcg/ltc/ + cleanupBen Skeggs2014-08-103-42/+29
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp: audit and version display classesBen Skeggs2014-08-102-166/+0
| | | | | | | | 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-101-21/+0
| | | | | | | | 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-101-17/+0
| | | | | | | | 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-101-11/+0
| | | | | | | | 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-101-2/+0
| | | | | | | | 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-101-6/+0
| | | | | | | | 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-101-1/+0
| | | | | | | | 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-101-4/+0
| | | | | | | | 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-101-7/+0
| | | | | | | | 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-101-14/+0
| | | | | | | | 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/fifo: implement nvif event sourceBen Skeggs2014-08-101-0/+5
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fifo: allow direct access to channel control registers where ↵Ben Skeggs2014-08-101-0/+2
| | | | | | | | | | | | | | | 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-101-56/+0
| | | | | | | | 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-102-43/+4
| | | | | | | | 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-101-31/+0
| | | | | | | | 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-102-68/+0
| | | | | | | | 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-101-2/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/dmaobj: update to an improved style of class definitionBen Skeggs2014-08-101-19/+4
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/device: audit and version NV_DEVICE classBen Skeggs2014-08-101-30/+0
| | | | | | | | 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-101-0/+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-101-0/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: remove NV_D0 familyBen Skeggs2014-08-101-1/+0
| | | | | | | 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-101-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: import ioctl/event interfacesBen Skeggs2014-08-107-1/+27
| | | | | | | | | | | | | | | | | | 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-101-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: rework event interfaceBen Skeggs2014-08-1010-65/+87
| | | | | | | | | | | | | | | 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>
OpenPOWER on IntegriCloud