Ilia Mirkin
a7f1c1e65b
drm/nv50/disp: use correct register to determine DP display bpp
...
Commit 0a0afd282f ("drm/nv50-/disp: move DP link training to core and
train from supervisor") added code that uses the wrong register for
computing the display bpp, used for bandwidth calculation. Adjust to use
the same register as used by exec_clkcmp and nv50_disp_intr_unk20_2_dp.
Reported-by: Torsten Wagner <torsten.wagner@gmail.com >
Reported-by: Michael Gulick <mgulick@mathworks.com >
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67628
Cc: stable@vger.kernel.org # 3.9+
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-02-18 10:37:12 +10:00
Ilia Mirkin
a8c13aacdc
drm/nv50/gr: add missing nv_error parameter priv
...
Commit ea7dce901 ("drm/nv50/gr: print mpc trap name when it's not an mp
trap") added an nv_error call that was missing the priv parameter. This
causes GPFs if the error is ever hit.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-02-18 10:37:02 +10:00
Alexandre Courbot
bf787d7cdf
drm/nouveau: fix ENG_RUNLIST register address
...
Address of the ENG_RUNLIST register should be 0x002284 + (engine * 8),
not 0x002284 + (engine * 4).
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-02-18 10:36:58 +10:00
Ilia Mirkin
fa8c9ac72f
drm/nv4c/mc: nv4x igp's have a different msi rearm register
...
See https://bugs.freedesktop.org/show_bug.cgi?id=74492
Reported-by: Ronald <ronald645@gmail.com >
Suggested-by: Marcin Kościelnicki <koriakin@0x04.net >
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-02-18 10:36:45 +10:00
Ben Skeggs
d2fa7d32ea
drm/nouveau/disp: add a method to fetch info needed by drm vblank timestamping
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-30 08:18:36 +10:00
Ilia Mirkin
ea7dce9010
drm/nv50/gr: print mpc trap name when it's not an mp trap
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
2014-01-23 13:39:17 +10:00
Ilia Mirkin
f750ecc950
drm/nv50/gr: update list of mp errors, make it a bitfield
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
2014-01-23 13:39:17 +10:00
Ilia Mirkin
e2dd003dfa
drm/nv50/gr: add more trap names to print on error
...
Also avoids printing the errors bitfield if that information has already
been shown.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
2014-01-23 13:39:16 +10:00
Ilia Mirkin
f87cd8b695
drm/nouveau/devinit: lock/unlock crtc regs for all devices, not just pre-nv50
...
Also make nv_lockvgac work for nv50+ devices. This should fix
IO_CONDITION and related VBIOS opcodes that read/write the crtc regs.
See https://bugs.freedesktop.org/show_bug.cgi?id=60680
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:39:15 +10:00
Ilia Mirkin
4019aaa2b3
drm/nv50-/devinit: prevent use of engines marked as disabled by hw/vbios
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:39:13 +10:00
Ben Skeggs
cf336014c6
drm/nouveau/devinit: tidy up the subdev class definition
...
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:39:12 +10:00
Ben Skeggs
52225551dd
drm/nouveau/bar: tidy up the subdev and object class definitions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:39:11 +10:00
Ben Skeggs
24a4ae86de
drm/nouveau/instmem: tidy up the subdev class definition
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:39:09 +10:00
Ben Skeggs
cb1567c286
drm/nve0/fifo: recover from mmu faults on bar1/bar3
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:45 +10:00
Ben Skeggs
649ec925ae
drm/nve0/fifo: keep mmu fault interrupts enabled at all times
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:44 +10:00
Ben Skeggs
e1b6b14ad5
drm/nve0/fifo: update human-readable mmu fault descriptions
...
Ordering from Android GK20A driver, names from binary driver strings.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:44 +10:00
Ben Skeggs
e9fb9805ad
drm/nve0/fifo: document more intr status bits
...
As per Android GK20A driver.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:43 +10:00
Ben Skeggs
9f8459cf06
drm/nve0/fifo: populate PBDMA status bitfield with more definitions
...
As per Android GK20A driver.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:42 +10:00
Ben Skeggs
39b055427e
drm/nve0/fifo: s/subfifo/PBDMA/
...
As per Android GK20A driver.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:41 +10:00
Ben Skeggs
f82c44a78f
drm/nve0/fifo: s/playlist/runlist/
...
As per Android GK20A driver.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:40 +10:00
Ben Skeggs
f76dd80f76
drm/nvf0/gr: enable acceleration with our chsw ucode
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:40 +10:00
Ben Skeggs
aa97cd31b6
drm/nv108/gr: enable acceleration with our chsw ucode
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:39 +10:00
Ben Skeggs
5d91e1916d
drm/nvc0-/gr: handle fwmthd interrupts in ucode
...
Compute code in mesa triggers one of these, hanging the engine. Let's
at least ack the request for now to avoid the hang.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:38 +10:00
Ben Skeggs
e1b22bc148
drm/nvc0-/gr: fiddle some magic around strand init
...
Fixes HUB_INIT timeout on GK110/GK208 when not using NVIDIA's ucode.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:37 +10:00
Ben Skeggs
96616b4caf
drm/nv108/gr: initial support (need external fuc)
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:36 +10:00
Ben Skeggs
daa9ab5821
drm/nv108/ce: enable copy engines
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:35 +10:00
Ben Skeggs
a763951a86
drm/nv108/fifo: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:35 +10:00
Ben Skeggs
a0f95f11a3
drm/nvf0/gr: remove a copy+pasto in ctx reglist
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:34 +10:00
Ben Skeggs
67af60f0aa
drm/nvc0-/gr: bring in some macros to abstract falcon isa differences
...
Need. A. Compiler...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-23 13:38:33 +10:00
Ilia Mirkin
90d6db1635
drm/nouveau/falcon: use vmalloc to create firwmare copies
...
Some firmware images may be large (64K), so using kmalloc memory is
inappropriate for them. Use vmalloc instead, to avoid high-order
allocation failures.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Cc: stable@vger.kernel.org
2014-01-23 13:38:32 +10:00
Sid Boyce
6e9cbb40d2
drm/nvce/mc: fix msi rearm on GF114
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-07 13:37:54 +10:00
Kelly Doran
854cc0e4cb
drm/nvc0/gr: fix mthd data submission
...
If the initial data element is 0, it will never be written, even
though the value from the previous method may be there.
Signed-off-by: Kelly Doran <kel.p.doran@gmail.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-07 13:37:54 +10:00
Ben Skeggs
61b365a505
drm/nouveau: populate master subdev pointer only when fully constructed
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-01-07 13:37:36 +10:00
Ben Skeggs
13cd1a5511
drm/nouveau/sw: fix oops if gpu has its display block disabled
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-12-03 23:28:57 +10:00
Roy Spliet
a7e4201f0f
drm/nouveau/clk: Add support for NVAA/NVAC
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-12-03 23:28:56 +10:00
Roy Spliet
b1cd49763b
drm/nouveau/fifo: Hook up pause and resume for NV50 and NV84+
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-12-03 23:28:55 +10:00
Dan Carpenter
377cfdc6ee
drm/nvc0-/gr: shift wrapping bug in nvc0_grctx_generate_r406800
...
We care about the upper 32 bits here so we have to use 1ULL instead of 1
to avoid a shift wrapping bug.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-14 14:57:03 +10:00
Ben Skeggs
1e303c03af
drm/nvc0-: remove nasty fifo swmthd hack for flip completion method
...
Not required anymore as flips are always done on the kernel's channel,
which means we can use a proper software object class instead.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-14 14:56:51 +10:00
Ben Skeggs
0bae1d61c7
drm/nvc8/mc: msi rearm is via the nvc0 method
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-14 14:55:05 +10:00
Ben Skeggs
aae95ca708
drm/nouveau/fb: implement various bits of work towards memory reclocking
...
Not even remotely ready for the vast majority of the world.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:40:19 +10:00
Ben Skeggs
9838366c15
drm/nouveau/device: initial control object class, with pstate control methods
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:40:18 +10:00
Ben Skeggs
7c85652206
drm/nouveau/clk: implement power state and engine clock control in core
...
User control of this has been hard-coded as disabled for now.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:40:17 +10:00
Ben Skeggs
c9c0ccae48
drm/nouveau/volt: implement voltage control in core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:40:17 +10:00
Ben Skeggs
aa4d7a4d55
drm/nouveau/perfmon: initial infrastructure to expose performance counters
...
Internal use only at this point. Userspace later.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:40:05 +10:00
Ben Skeggs
2984506fb6
drm/nouveau/bus: add interfaces/helpers for sequencer
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:40:05 +10:00
Ben Skeggs
48ae0b355f
drm/nouveau/bus: make external class definitions pointers
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:40:04 +10:00
Ben Skeggs
ff4b42c753
drm/nouveau/pwr: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:40:04 +10:00
Ben Skeggs
16c4f227ff
drm/nouveau/fifo: make external class definitions into pointers
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:39:59 +10:00
Ben Skeggs
aabf19c27f
drm/nouveau/device: recognise GK208
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:39:58 +10:00
Ben Skeggs
13d2b35a06
drm/nvc0-/gr: fix a number of missing explicit array terminators...
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2013-11-08 15:39:58 +10:00