Ben Skeggs
bdb8c212be
drm/nvd0/disp: init display sync channels
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:36 +10:00
Ben Skeggs
9285462273
drm/nvd0/disp: scaler updates, overscan compensation etc
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:35 +10:00
Ben Skeggs
2d1d898b46
drm/nvd0/disp: update crtc timing calculations for interlace/doublescan
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:35 +10:00
Ben Skeggs
f62b27db6b
drm/nouveau: shutdown display on suspend/hibernate
...
Known to fix some serious issues with hibernate on a couple of systems.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:35 +10:00
Ben Skeggs
1772fcc6f8
drm/nv50/disp: fix evo for create/init + destroy/fini split
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:34 +10:00
Ben Skeggs
cf41d53bf5
drm/nouveau: re-jig fbcon suspend/resume process a little
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:34 +10:00
Ben Skeggs
2a44e4997c
drm/nouveau/disp: introduce proper init/fini, separate from create/destroy
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:33 +10:00
Ben Skeggs
d2edab4acf
drm/nouveau/pm: fix missing volt changes when boot voltage is undefined
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:33 +10:00
Martin Peres
d4676461a7
drm/nv50/pm: fix a typo in clock calculation
...
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:33 +10:00
Ben Skeggs
091e40cd95
drm/nvd0/disp: enable hdmi audio
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:32 +10:00
Ben Skeggs
27517ddbdc
drm/nvd0/disp: hook evo up to debugging
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:32 +10:00
Ben Skeggs
64d9cc04ec
drm/nvd0/disp: enable hdmi on sor if hdmi monitor present
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:32 +10:00
Ben Skeggs
78951d2226
drm/nvd0/disp: send eld to the audio codec
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:31 +10:00
Ben Skeggs
50a01fe06e
drm/nouveau/hdmi: enable audio for nva3:nvd0 chipsets
...
Pre-nva3 will likely require far more extensive setup, and nvd9 needs to
be checked to find its SOR_HDMI/SOR_AUDIO blocks.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:31 +10:00
Marcin Slusarz
9e7f96aa3a
drm/nv50: fix page faulting for 128MB page table sizes
...
This seems to be a typo...
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:31 +10:00
Marcin Slusarz
13f90122e8
drm/nouveau: print correct engine number which failed to unload/idle
...
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:30 +10:00
Ben Skeggs
0f0f7be8bd
drm/nva3/copy: fix typo in fuc which caused host to not recieve exceptions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:30 +10:00
Ben Skeggs
971fa6b46d
drm/nva3/copy: update fuc source for latest envytools
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:30 +10:00
Ben Skeggs
d2491567cd
drm/nv50/pm: only touch 0x611200 on nv92-
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:29 +10:00
Ben Skeggs
8b5f4d0def
drm/nv50/pm: stabilise transition to 100MHz mclk a bit
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:29 +10:00
Ben Skeggs
973e861657
drm/nv50/pm: avoid touching dom6/vdec clocks if perflvl doesn't define it
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:28 +10:00
Ben Skeggs
463464eb9b
drm/nv50/pm: fix thinko which lead to clocks being slightly off sometimes
...
read_pll_ref() needs to take into account the refclk src bits in 0xc040 on
some chipsets, it wasn't doing this.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:27 +10:00
Ben Skeggs
6805979fa9
drm/nv50/pm: 0x84/0x86 can't use "1" for nvclk src, need 0x50 method
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:27 +10:00
Ben Skeggs
06784090ec
drm/nvc0/gr: add initial support for nvd9, not quite there yet..
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:27 +10:00
Ben Skeggs
be7f2615d7
drm/nvc0/gr: update fuc source to assemble with latest envyas
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:26 +10:00
Ben Skeggs
020c6bf394
drm/nv50/disp: stricter check for evo being active on init
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Tested-by: Martin Peres <martin.peres@labri.fr>
2011-12-21 19:01:26 +10:00
Ben Skeggs
19fa224f8a
drm/nv50/pm: free state struct after setting clocks
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:26 +10:00
Ben Skeggs
0b627a0b23
drm/nouveau/pm: change volt/fan before upclock, but after downclock
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:25 +10:00
Ben Skeggs
ff2b6c6e58
drm/nouveau/pm: remove the older interfaces completely
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:25 +10:00
Ben Skeggs
36f1317ed0
drm/nv04-nv30/pm: port to newer interfaces
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:24 +10:00
Ben Skeggs
f3fbaf34e2
drm/nv50/pm: rewrite clock management, and switch to the new pm hooks
...
This area is horrifically complicated on these chipsets, and it's likely we
will need at least a few more tweaks yet.
Oh yes, and it's completely disabled on IGPs for the moment. From traces,
things look potentially different there yet again. Sigh...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:24 +10:00
Martin Peres
d4cca9e1fc
drm/nv50/pm: s/PLL_UNK05/PLL_VDEC/
...
Following to "drm/nv50/pm: s/unk05/vdec/", let's rename the PLL to PLL_VDEC
PLL names are purely indicative and are based on the most important engine
it clocks.
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:24 +10:00
Martin Peres
dd1da8de17
drm/nouveau/pm: make clocks_set return an error code clocks_set can fail.
...
Reporting an error is better than silently refusing to reclock.
V2: Use the same logic on nv40
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:23 +10:00
Martin Peres
6109183794
drm/nvd0: read temperature as we did on nv84+ boards
...
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:23 +10:00
Ben Skeggs
1cb9469ee7
drm/nv50/disp: fix scaling of doublescan modes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:23 +10:00
Ben Skeggs
616a5f57b6
drm/nv50/disp: rewrite crtc timing calculation, with proper names and fixes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:22 +10:00
Ben Skeggs
a03a8623ad
drm/nouveau/disp: kill off nouveau_crtc.mode
...
This hasn't been necessary for a long time now..
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:22 +10:00
Ben Skeggs
c833442306
drm/nv50/disp: allow interlaced and doublescan modes on digital outputs
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:22 +10:00
Ben Skeggs
4ceca5f864
drm/nouveau: don't pretend to support the DVI-I 'select subconnector' prop
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:21 +10:00
Ben Skeggs
de69185573
drm/nouveau: improve dithering properties, and implement proper auto mode
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:21 +10:00
Ben Skeggs
488ff207f9
drm/nouveau: no need to pass parameters into set_scale/dither
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:20 +10:00
Ben Skeggs
6322175530
drm/nouveau: determine a value for display_info.bpc if edid doesn't
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:20 +10:00
Ben Skeggs
9976f15c27
drm/nv50/disp: wait for encoder disconnect to complete before link training
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:20 +10:00
Ben Skeggs
7ae494e80c
drm/nv50/disp: disconnect encoders before reprogramming them
...
Fixes a case where we don't get separate supervisor interrupt sequences for
disconnect and modeset events.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:19 +10:00
Ben Skeggs
0f6ea564de
drm/nv50/disp: completely reset disp if master evo channel active at init
...
Should fix issues with kexec, and as a nice side bonus, the code to avoid
having PDISP disappear will also fix hibernate on those effected systems.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:19 +10:00
Ben Skeggs
b98e3f5c9e
drm/nv50/disp: synchronise display right after init
...
This has the effect of ensuring the encoders which were active before we
loaded get disconnected properly before we start reprogramming them.
Also removing a bit of cargo-cult from the initial evo pushbuf.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:18 +10:00
Ben Skeggs
e6e039d10d
drm/nv50/disp: move sync routine to where it can be used by other modules
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:18 +10:00
Maxim Levitsky
a4eaa0a042
drm/nouveau: restore cursors after restoring mode
...
PDISP doesn't like it when disabled CRTCs are poked.
Fixes external output not coming to life when it has cursor on.
https://bugs.freedesktop.org/show_bug.cgi?id=41608
Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:18 +10:00
Maxim Levitsky
71d91f655e
drm/nouveau: restore performance mode a bit later.
...
Otherwice code that responsible for idling the card can't work.
BIOS init tables are supposed to init the clocks to correct values,
so that shouldn't cause any problems (we don't reclock by default anyway)
Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:17 +10:00
Maxim Levitsky
4bfb94a1b4
drm/nouveau: disable output polling through suspend.
...
Because doing polling while hardware is disabled is a bad idea...
Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2011-12-21 19:01:17 +10:00