Stuart Bennett [Fri, 27 Jun 2008 15:21:19 +0000 (16:21 +0100)]
Backport console font save/restore from nouveau_ms
Stuart Bennett [Thu, 26 Jun 2008 13:44:45 +0000 (14:44 +0100)]
randr12: fix mode detection for when screen size changes
also some mem leaks
Maarten Maathuis [Sat, 28 Jun 2008 13:47:18 +0000 (15:47 +0200)]
NV04-NV4E: Save and restore FB_START
Maarten Maathuis [Fri, 27 Jun 2008 16:49:16 +0000 (18:49 +0200)]
NV50_KMS: switch to output dpms
Maarten Maathuis [Wed, 25 Jun 2008 17:45:12 +0000 (19:45 +0200)]
Properly close drm when exiting + misc cleanup.
Maarten Maathuis [Wed, 25 Jun 2008 17:07:58 +0000 (19:07 +0200)]
Fixup and add some license statements.
- The changed statements are a response to nv commit
2fdcda8ea62eba1b7885f0a75249884715936247.
Ben Skeggs [Tue, 24 Jun 2008 18:01:21 +0000 (04:01 +1000)]
change hack to work with latest drm changes..
Maarten Maathuis [Mon, 23 Jun 2008 22:02:25 +0000 (00:02 +0200)]
NV50: unbreak kms and implement a basic off mode/dpms
Ben Skeggs [Mon, 23 Jun 2008 16:24:42 +0000 (02:24 +1000)]
nv50: stub out NV50SorSetClockMode for LVDS, it doesn't work there
Ben Skeggs [Sun, 22 Jun 2008 16:10:09 +0000 (02:10 +1000)]
nv50: bring in int10-constole-restore hack from nv driver
Lack of console restore has been annoying me personally lately while working
on 3D, I lack the time/modsetting skills to fix it properly at the moment,
so this'll do.
Ben Skeggs [Sun, 22 Jun 2008 15:47:55 +0000 (01:47 +1000)]
fix non-kms build/run
Maarten Maathuis [Sun, 22 Jun 2008 14:34:22 +0000 (16:34 +0200)]
NV50: Some basic code to get kernel modesetting going.
- This will get a cleanup later on.
Stuart Bennett [Fri, 13 Jun 2008 01:11:09 +0000 (02:11 +0100)]
No need for G80+ LVDS conf bits reports
I've got a few already.
Stuart Bennett [Fri, 13 Jun 2008 00:58:41 +0000 (01:58 +0100)]
More DCB 1.5 TV variants (#16252 and #16342)
Stuart Bennett [Fri, 13 Jun 2008 00:40:31 +0000 (01:40 +0100)]
Be a little more discerning about the BIT bios signature
Thank you ABIT
Stuart Bennett [Fri, 13 Jun 2008 00:25:49 +0000 (01:25 +0100)]
LVDS_INIT should not always use head A
While the script doesn't need the head variable set correctly,
link_head_and_output still gets called and will therefore break panels expecting
to be on head B
Fixes Apple NV34 console restore
Maarten Maathuis [Fri, 13 Jun 2008 17:12:38 +0000 (19:12 +0200)]
NV50: lvds is probably still broken, but it's a step in the right direction
- Just something i had lingering around.
- Note that lvds still doesn't run by default, but you're more than welcome to fix it ;-)
Maarten Maathuis [Thu, 22 May 2008 19:08:48 +0000 (21:08 +0200)]
NV50: A small extra piece of init that may prove useful to someone, somewhere, at some point for something.
Maarten Maathuis [Tue, 20 May 2008 17:19:53 +0000 (19:19 +0200)]
NV50: Be consistent with rules-ng.
Maarten Maathuis [Sat, 10 May 2008 19:58:00 +0000 (21:58 +0200)]
NV50: Some misc things.
Stuart Bennett [Thu, 8 May 2008 20:36:05 +0000 (21:36 +0100)]
Cosmetic g80 laptop dcb parsing enhancement
Stuart Bennett [Thu, 8 May 2008 13:17:38 +0000 (14:17 +0100)]
randr12: some reordering, tidying &c
Stuart Bennett [Tue, 29 Apr 2008 18:42:54 +0000 (19:42 +0100)]
Enable RandR 1.2 code-path by default
Stuart Bennett [Wed, 7 May 2008 20:25:03 +0000 (21:25 +0100)]
Don't call call_lvds_script with a null dcbent pointer
Stumbled over by hiyuh :)
Stuart Bennett [Sun, 4 May 2008 23:56:28 +0000 (00:56 +0100)]
randr12: tidy up some nv50 remnants in the pre nv50 code
Maarten Maathuis [Tue, 6 May 2008 17:46:52 +0000 (19:46 +0200)]
NV50: Some misc fixes.
- Even though tv-out is mentioned, it by no means implies that is (nearly) functional.
Maarten Maathuis [Mon, 5 May 2008 09:02:07 +0000 (11:02 +0200)]
nv50_exa.c had no license statement.
Maarten Maathuis [Sun, 4 May 2008 23:26:37 +0000 (01:26 +0200)]
NV50: Rework the modesetting code into a different model.
- There is now interface independent code for most things.
- This structure, although not exclusive, is only used for NV50 atm.
- The change in approach is that the concept of a connector is added to the model (randr12 sucks in this aspect).
- I'm hacking around randr trying to create a single output for each connector, the indices are the bus numbers.
- Limitations: Hot swapping vga and dvi of same monitor will not make randr12 think it changed, so for the moment force a change.
- Concept is largely inspired by the radeonhd driver.
Stuart Bennett [Fri, 2 May 2008 19:36:59 +0000 (20:36 +0100)]
xv: nv10 double-buffered overlay mode was getting set on nv04
Stuart Bennett [Tue, 29 Apr 2008 23:59:47 +0000 (00:59 +0100)]
Use the actual number of BIT table entries
Stuart Bennett [Mon, 28 Apr 2008 15:51:01 +0000 (16:51 +0100)]
randr12, xv: manual overlay clipping for randr12 (see #12825)
There could be something to be said for doing this clipping when using the blitter and texture adapters too
Stuart Bennett [Tue, 29 Apr 2008 21:53:40 +0000 (22:53 +0100)]
randr12: remove unneeded separate dcb_entry and "or" members
Make off-chip outputs clearer too
Stuart Bennett [Tue, 29 Apr 2008 21:08:01 +0000 (22:08 +0100)]
Pass DCB entry structs in bios functions, rather than index
Stuart Bennett [Tue, 29 Apr 2008 20:53:22 +0000 (21:53 +0100)]
Pass output field, rather than dcb indices, for tmds access functions
Stuart Bennett [Tue, 29 Apr 2008 20:58:17 +0000 (21:58 +0100)]
Add an index field to dcb entries, and carry pointer to dcb entry in output struct
Stuart Bennett [Tue, 29 Apr 2008 20:27:07 +0000 (21:27 +0100)]
randr12, xv: oops, transform_in_use doesn't exist on xserver 1.3
Stuart Bennett [Mon, 28 Apr 2008 01:12:17 +0000 (02:12 +0100)]
randr12: C51 I2C
Stuart Bennett [Tue, 29 Apr 2008 17:46:24 +0000 (18:46 +0100)]
randr12: only set cr59 to 1 for tmds (fixes nv34 issue)
Stuart Bennett [Mon, 28 Apr 2008 16:00:27 +0000 (17:00 +0100)]
randr12, xv: no overlay when the crtc is transformed
Stuart Bennett [Sat, 26 Apr 2008 01:08:24 +0000 (02:08 +0100)]
randr12: fix spread spectrum setting for lvds and turn it off during dpms off
Assuming that the bios has set this up correctly for LVDS initially is probably safe
Stuart Bennett [Sat, 26 Apr 2008 18:59:58 +0000 (19:59 +0100)]
randr12: make nv50 code depend on Architecture
Stuart Bennett [Sat, 26 Apr 2008 00:21:50 +0000 (01:21 +0100)]
CR27 appears to contain the chip revision
Maarten Maathuis [Sun, 27 Apr 2008 17:52:41 +0000 (19:52 +0200)]
NV50: A little bit more information, no functional change.
Stuart Bennett [Fri, 25 Apr 2008 21:09:46 +0000 (22:09 +0100)]
randr12: sel_clk binding fix
Stuart Bennett [Fri, 25 Apr 2008 01:09:18 +0000 (02:09 +0100)]
randr12: unified mode validation
doublescan/interlace limits applied too
Stuart Bennett [Thu, 24 Apr 2008 23:03:41 +0000 (00:03 +0100)]
randr12: only set up one spread spectrum clock on pre nv40
avoids inadvertently getting wobbly crt pictures
Stuart Bennett [Thu, 24 Apr 2008 21:23:50 +0000 (22:23 +0100)]
randr12: deny doublescan modes to digital outputs
Stuart Bennett [Thu, 24 Apr 2008 00:22:49 +0000 (01:22 +0100)]
randr12: off-chip dvi dpms and fp_control dpms fixed properly
Also solves output exclusion problem: two crtcs claiming the same output
through cr33 does not work
Stuart Bennett [Wed, 23 Apr 2008 23:24:35 +0000 (00:24 +0100)]
randr12: set CRTCX_LCD in nv_output
This makes my nv28 external dvi work.
Stuart Bennett [Wed, 23 Apr 2008 23:01:50 +0000 (00:01 +0100)]
These made up defines are more misleading than helpful
Stuart Bennett [Tue, 22 Apr 2008 21:42:12 +0000 (22:42 +0100)]
randr12: remove FPP setting and other FSEL changes
Stuart Bennett [Tue, 22 Apr 2008 22:25:40 +0000 (23:25 +0100)]
randr12: oops (fix to
9edf6d60)
Stuart Bennett [Tue, 22 Apr 2008 20:34:52 +0000 (21:34 +0100)]
randr12: RAMDAC_OUTPUT is only for analogue outputs
Stuart Bennett [Tue, 22 Apr 2008 20:29:48 +0000 (21:29 +0100)]
Revert "randr12: correct SEL_CLK register beheaviour for outputs with or=2"
This reverts commit
77af887089be6fef7b793e3c3afdb98ac90a2e8c.
External DVI (which is source of or == 2) do not use SEL_CLK
Maarten Maathuis [Sun, 13 Apr 2008 00:40:55 +0000 (02:40 +0200)]
NV50: Another few regs.
Maarten Maathuis [Sun, 13 Apr 2008 00:16:27 +0000 (02:16 +0200)]
NV50: Some more regs.
Maarten Maathuis [Sat, 12 Apr 2008 23:21:20 +0000 (01:21 +0200)]
NV50: I now know what UNK8A8 is, so update the value register as well.
Maarten Maathuis [Sat, 12 Apr 2008 00:11:32 +0000 (02:11 +0200)]
NV50: Re-implement output status caching.
Stuart Bennett [Fri, 11 Apr 2008 16:28:16 +0000 (17:28 +0100)]
randr12: separate pll and arbitration stages of calc_state_ext, and call from mode_set directly
Stuart Bennett [Fri, 11 Apr 2008 15:20:21 +0000 (16:20 +0100)]
state->config is not used
Stuart Bennett [Fri, 4 Apr 2008 17:59:29 +0000 (18:59 +0100)]
randr12: unite pre nv40 and nv40 pll restore
Stuart Bennett [Tue, 8 Apr 2008 01:25:34 +0000 (02:25 +0100)]
Use the correct reference clock when reading (V)PLLs
Stuart Bennett [Tue, 8 Apr 2008 01:25:22 +0000 (02:25 +0100)]
Various PLL code improvements
Maarten Maathuis [Wed, 9 Apr 2008 16:55:06 +0000 (18:55 +0200)]
NV50: Some misc stuff.
Dave Airlie [Tue, 8 Apr 2008 06:48:37 +0000 (16:48 +1000)]
nv50: fix distcheck since header removal
Stuart Bennett [Mon, 7 Apr 2008 23:28:03 +0000 (00:28 +0100)]
MCP67 does not do the second stage gain tests
Stuart Bennett [Tue, 8 Apr 2008 00:31:14 +0000 (01:31 +0100)]
PLL stuff
Stuart Bennett [Sat, 5 Apr 2008 04:20:54 +0000 (05:20 +0100)]
If no PLL coefficients compatible with the constraints exist, don't brick the hardware
Maarten Maathuis [Mon, 7 Apr 2008 20:12:44 +0000 (22:12 +0200)]
NV50: Scaling works fine on VGA connectors, so support that as well.
- The default is SCALE_PANEL instead of SCALE_ASPECT for obvious reasons.
Maarten Maathuis [Mon, 7 Apr 2008 19:18:54 +0000 (21:18 +0200)]
NV50: Deobfuscate some more commands.
Maarten Maathuis [Mon, 7 Apr 2008 17:29:55 +0000 (19:29 +0200)]
Make some CARD32 die.
Maarten Maathuis [Mon, 7 Apr 2008 17:09:35 +0000 (19:09 +0200)]
NV50: Give a few registers an UNK label.
Maarten Maathuis [Mon, 7 Apr 2008 16:35:18 +0000 (18:35 +0200)]
randr12: NV04/05/06 can't accelerate rotation, so it's better to disable it.
Maarten Maathuis [Sun, 6 Apr 2008 21:36:15 +0000 (23:36 +0200)]
NV50: Some more stuff.
Maarten Maathuis [Sun, 6 Apr 2008 17:49:11 +0000 (19:49 +0200)]
NV50: minor rename to avoid confusion
Maarten Maathuis [Sun, 6 Apr 2008 13:16:40 +0000 (15:16 +0200)]
NV50: Deobfuscate another register (partially).
Maarten Maathuis [Sun, 6 Apr 2008 13:05:33 +0000 (15:05 +0200)]
NV50: Fix another deadlock in the clock setting code.
- Swapping my monitor from dvi to vga causes no mode (=clock) change, but still the supervisor expects a clock change.
- This meant it got stuck in stage 2, with no clock that is supposed to change.
Maarten Maathuis [Sat, 5 Apr 2008 21:33:22 +0000 (23:33 +0200)]
Forgot a few things.
Maarten Maathuis [Sat, 5 Apr 2008 21:23:22 +0000 (23:23 +0200)]
NV50: rename randr-1.2 functions to be nv50_something_function
Maarten Maathuis [Sat, 5 Apr 2008 21:00:39 +0000 (23:00 +0200)]
NV50: Some more cleanup.
Maarten Maathuis [Sat, 5 Apr 2008 20:52:58 +0000 (22:52 +0200)]
NV50: Some reordering.
Maarten Maathuis [Sat, 5 Apr 2008 19:17:23 +0000 (21:17 +0200)]
Some minor corrections.
Maarten Maathuis [Sat, 5 Apr 2008 19:06:03 +0000 (21:06 +0200)]
NV50: Document dvi hotplug detection.
- This can only be used once modesetting is moved to the kernel.
Maarten Maathuis [Sat, 5 Apr 2008 14:16:26 +0000 (16:16 +0200)]
NV50: Remove some questionable guesses.
Maarten Maathuis [Fri, 4 Apr 2008 23:54:06 +0000 (01:54 +0200)]
nvbios: Drop a N2/M2 requirement on NV5x hardware, as it prevents getting a mode on 1024x768'ish and lower.
- Limitations are very strict in nv5x bios tables and N2/M2 can drop below 2 (the blob does this too).
Maarten Maathuis [Fri, 4 Apr 2008 20:49:06 +0000 (22:49 +0200)]
nvbios: Add some valid register ranges for nv50.
Maarten Maathuis [Fri, 4 Apr 2008 20:38:30 +0000 (22:38 +0200)]
NV50: Switch to common pll calculator function.
Stuart Bennett [Wed, 2 Apr 2008 15:58:45 +0000 (16:58 +0100)]
randr12: delete stuff commented out a week ago that no one's complained about
Maarten Maathuis [Fri, 4 Apr 2008 15:13:25 +0000 (17:13 +0200)]
NV50: Minor comment updates.
Maarten Maathuis [Fri, 4 Apr 2008 15:04:49 +0000 (17:04 +0200)]
NV50: Some more stuff.
Maarten Maathuis [Fri, 4 Apr 2008 14:49:00 +0000 (16:49 +0200)]
NV50: Some more registers.
Maarten Maathuis [Thu, 3 Apr 2008 20:42:31 +0000 (22:42 +0200)]
NV50: Update my knowledge of interrupts.
Stuart Bennett [Thu, 3 Apr 2008 02:00:13 +0000 (03:00 +0100)]
Small declaration reordering
Stuart Bennett [Thu, 3 Apr 2008 00:03:38 +0000 (01:03 +0100)]
Move some variable declarations in the bios parser
Stuart Bennett [Wed, 2 Apr 2008 23:11:31 +0000 (00:11 +0100)]
randr12: some fixes to dithering property
Stuart Bennett [Wed, 2 Apr 2008 18:45:43 +0000 (19:45 +0100)]
randr12: better analogue clock limits (taken from pNv->{Min,Max}VClockFreqKHz)
Maarten Maathuis [Wed, 2 Apr 2008 19:31:07 +0000 (21:31 +0200)]
NV50: Some minor changes to the display supervisor (mostly comment).
Stuart Bennett [Wed, 2 Apr 2008 18:03:07 +0000 (19:03 +0100)]
Some bios parser PLL writing improvements
Maarten Maathuis [Wed, 2 Apr 2008 16:21:01 +0000 (18:21 +0200)]
NV50: Add my name to some files.
Stuart Bennett [Wed, 2 Apr 2008 15:16:13 +0000 (16:16 +0100)]
randr12: since the crtc function records are now mutable, unify pre nv50 templates