Ben Skeggs
f9895e6dbe
drm/nouveau/disp: clear notify intr status when enabling, to prevent races
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:58 +10:00
Ben Skeggs
2832271d64
drm/nv50-/disp: rename class members to match nvidia channel names
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:57 +10:00
Ben Skeggs
868e34f784
drm/nouveau/core: remove some dead code that got forgotten
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:57 +10:00
Roy Spliet
f67a8ff533
drm/nouveau/pwr/fuc: Fix thinko in nouveau_memx_wait()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:56 +10:00
Roy Spliet
f10e55c9fc
drm/nva3/clock: Allow user reclocking
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:56 +10:00
Roy Spliet
598a39e79a
drm/nouveau/fb/ramnva3: Reclocking script for GDDR3
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:55 +10:00
Roy Spliet
b0c7336b1a
drm/nouveau/fb/ramnva3: Reclocking script for DDR2
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:55 +10:00
Roy Spliet
b6a7907f6b
drm/nouveau/fb/ramnva3: Reclocking script for DDR3
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:54 +10:00
Roy Spliet
bf504b3fbb
drm/nouveau/fb/ramnva3: Ressurect timing calculation code
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:54 +10:00
Roy Spliet
7f4b961618
drm/nouveau/fb/ramnva3: Link training for DDR3
...
V2: fix whitespace errors in memx.fuc
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:54 +10:00
Roy Spliet
f648cab0ad
drm/nouveau/fb/gddr3: Generate MR values
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:53 +10:00
Roy Spliet
13a757dbc7
drm/nouveau/bios/ramcfg: 10_02_40 -> DLLoff
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:53 +10:00
Ben Skeggs
7bb6d4428d
drm/nouveau: move the (far too many...) different s/r paths to the same place
...
No code changes.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:52 +10:00
Ben Skeggs
70b2cc8e9a
drm/gk104-/fifo: handle copy engine class errors
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:52 +10:00
Ben Skeggs
9b4de93bc9
drm/nouveau/bios: stop after NV+NPDS+ISBN image
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:51 +10:00
Ben Skeggs
798dda5528
drm/nouveau/bios: add some more signatures as seen on my gtx660
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:51 +10:00
Ben Skeggs
dbbd6bcfd4
drm/nouveau: add support for gm204
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:50 +10:00
Ben Skeggs
083dba0294
drm/nouveau/device: recognise GM204
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:50 +10:00
Ben Skeggs
c21e6b302a
drm/gm204/disp: some magic that fixes bringup of uninitialised outputs
...
Probably missing something here, doesn't make a lot of sense to write
or+link data into a register whose offset is calculated by the same
or+link info..
This is the all I've witnessed the binary driver and vbios doing so
far, so it'll do.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:49 +10:00
Ben Skeggs
1f89b4756f
drm/gm204/disp: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:49 +10:00
Ben Skeggs
e16cc45c7d
drm/gf110-/disp: magic that might help some tmds issues
...
The binary driver has been doing this since GF119, and we've somehow
gotten away with it. But, TMDS that hasn't been initialised already
by the x86 vbios code is distorted without it on GM204.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:49 +10:00
Ben Skeggs
c79965d8fa
drm/nouveau/bios: support for opcodes 0x47/0x48
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:48 +10:00
Ben Skeggs
17187c81a6
drm/nouveau/bios: add support for udisp 2.2
...
Not entirely sure why this got bumped at all yet.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:48 +10:00
Ben Skeggs
f467dc1839
drm/nouveau/bios: add support for dp 4.1
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:47 +10:00
Ben Skeggs
5620c01dfc
drm/nouveau/i2c: add support for DCB_I2C_PMGR port type
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:47 +10:00
Ben Skeggs
c5a09c8116
drm/nouveau/bios: add support for ccb 4.1
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:46 +10:00
Ben Skeggs
dae2043976
drm/nouveau/bios: add support for dcb 4.1
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:46 +10:00
Ben Skeggs
c908357786
drm/gm204/i2c: add aux channel driver
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:45 +10:00
Ben Skeggs
f105aa3715
drm/gm204/i2c: add pad driver
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:45 +10:00
Ben Skeggs
5b34cebe99
drm/nouveau/i2c: segregate aux channel adapter indices from bit-banged i2c
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:45 +10:00
Ben Skeggs
309a5702c2
drm/nouveau/bios: store aux addr independently of i2c
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:44 +10:00
Ben Skeggs
a7468451e3
drm/nv50-/i2c: kill some unused struct members
...
Left-over from before a rework a while back.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:44 +10:00
Ben Skeggs
6ef4ead1b2
drm/nouveau/bios: log if auxch accesses fail, also return 0x00 from rd when it does
...
Logging at trace level, rather than as en error, as it seems conceivable
that failure could be normal under certain circumstances (new bios,
older sink that doesn't support a particular DPCD address)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:43 +10:00
Ben Skeggs
ba6e34e612
drm/gm204/devinit: initial implementation
...
Starting from GM204, certain registers are no longer accessible by the host
(or unsigned PMU firmware).
This commit implements devinit on PMU, using a signed microcode image, and
devinit data, from the VBIOS.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:43 +10:00
Ben Skeggs
e21fd7c4d3
drm/nouveau/devinit: allow impl to select its own cold-boot method
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:42 +10:00
Ben Skeggs
50e216d6e7
drm/nouveau/bios: add parsing of pmu image tables
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:42 +10:00
Ben Skeggs
a1a86aabd0
drm/nouveau/bios: recognise nv-specific rom/pcir signatures
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:41 +10:00
Ben Skeggs
7205875d09
drm/nouveau/bios: use NPDE to locate images beyond those defined by PCIR
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:41 +10:00
Ben Skeggs
b71a1344ec
drm/nouveau/bios: add NPDE parsing
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:40 +10:00
Ben Skeggs
c2c2f6cb79
drm/nouveau/bios: fetch images beyond the first one in the rom
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:40 +10:00
Ben Skeggs
7af4dec166
drm/nouveau/bios: use size/type from pci data structure
...
The field at +0x2 is technically processor specific, though I don't know
that it's ever mattered in practice (yet).
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:40 +10:00
Ben Skeggs
8d85e06b5e
drm/nouveau/bios: add pci data structure parsing
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:39 +10:00
Ben Skeggs
ad4a362635
drm/nouveau/bios: split out shadow methods
...
We're about to need to be able to fetch additional chunks of data beyond
the primary bios image, which makes fetching a lot more complicated.
This splits out the verious shadowing routines to be nothing more than
very dumb "fetch this much data from this offset" routines, and leaves
the logic of what and how much to fetch in common code.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:39 +10:00
Ben Skeggs
e897242162
drm/nouveau/bios: fix thinko when parsing extdev table
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:38 +10:00
Ben Skeggs
4894f6628e
drm/nouveau: a, somehow, missed hunk of "fix regression on agp boards"
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:43:38 +10:00
Dave Airlie
d87c0e3d9f
Merge branch 'linux-3.18' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes
...
Just a couple of fixes for the fallout from the fence rework.
* 'linux-3.18' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
drm/nouveau/gf116: remove copy1 engine
drm/nouveau: prevent stale fence->channel pointers, and protect with rcu
drm/nouveau/fifo/g84-: ack non-stall interrupt before handling it
2014-12-02 15:40:16 +10:00
Ilia Mirkin
226d63a1ad
drm/nouveau/gf116: remove copy1 engine
...
Indications are that no GF116's actually have a copy engine there, but
actually have the decompression engine. This engine can be made to do
copies, but that should be done separately.
Unclear why this didn't turn up on all GF116's, but perhaps the
non-mobile ones came with enough VRAM to not trigger ttm migrations in
test scenarios.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=85465
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=59168
Cc: stable@vger.kernel.org
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:36:47 +10:00
Maarten Lankhorst
0ec5f02f0e
drm/nouveau: prevent stale fence->channel pointers, and protect with rcu
...
Tested-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:33:22 +10:00
Ben Skeggs
19a1082881
drm/nouveau/fifo/g84-: ack non-stall interrupt before handling it
...
Closes a very unlikely race that can occur if another NonStallInterrupt
method passes between checking fences and acking the previous interrupt.
With this change, the interrupt will re-fire under such conditions.
Tested-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2014-12-02 15:33:22 +10:00
Jan Safrata
5a52b1f2f6
drm/gma500: add support for atom e6xx lpc lvds i2c
...
add gpio bitbanging i2c adapter on LPC device of atom e6xx
gpu chipset to access lvds EDID
tested on SECO QuadMo747-E6xx-EXTREME Qseven platform
Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com >
Signed-off-by: Jan Safrata <jan.nikitenko@gmail.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
2014-12-02 13:42:49 +10:00