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
Stuart Bennett [Wed, 2 Apr 2008 15:02:43 +0000 (16:02 +0100)]
randr12: don't provide rotation functions in NoAccel case
Stuart Bennett [Wed, 2 Apr 2008 15:05:30 +0000 (16:05 +0100)]
Revert "randr12: Fail rotation in NoAccel case."
This reverts commit
b33317ed98957db42691f5f9c41c119c10c91be6.
Stuart Bennett [Wed, 2 Apr 2008 14:46:50 +0000 (15:46 +0100)]
Add quirks for Apple *book backlight
Maarten Maathuis [Wed, 2 Apr 2008 12:54:16 +0000 (14:54 +0200)]
NV50: Some more things.
Maarten Maathuis [Wed, 2 Apr 2008 07:28:45 +0000 (09:28 +0200)]
randr12: Fail rotation in NoAccel case.
Stuart Bennett [Tue, 1 Apr 2008 20:23:35 +0000 (21:23 +0100)]
NV30/35 setPLL bios support
Maarten Maathuis [Tue, 1 Apr 2008 20:33:15 +0000 (22:33 +0200)]
NV50: Fix a minor cursor issue.
Maarten Maathuis [Tue, 1 Apr 2008 20:20:04 +0000 (22:20 +0200)]
NV50: Add some debugging statements to important functions.
Maarten Maathuis [Tue, 1 Apr 2008 18:33:16 +0000 (20:33 +0200)]
NV50: Some i2c stuff.
Stuart Bennett [Tue, 1 Apr 2008 04:16:29 +0000 (05:16 +0100)]
Use new PLL reading code
Of course, having spent some time perfecting the reading of NVPLL and MPLL,
it turns out to be totally unnecessary on >= nv30 :-/
Stuart Bennett [Tue, 1 Apr 2008 04:03:14 +0000 (05:03 +0100)]
Unified PLL reading
Stuart Bennett [Tue, 1 Apr 2008 04:29:05 +0000 (05:29 +0100)]
randr12: get_clock_from_crtc only necessary for TMDS
Stuart Bennett [Mon, 31 Mar 2008 23:23:06 +0000 (00:23 +0100)]
Better PLL limits for some nv3x
Stuart Bennett [Tue, 1 Apr 2008 00:00:16 +0000 (01:00 +0100)]
randr12: deal with nv30 and nv35 PLLs individually
Maarten Maathuis [Mon, 31 Mar 2008 17:27:28 +0000 (19:27 +0200)]
Init global gamma on all crtc's, even if they are currently not in use.
Maarten Maathuis [Mon, 31 Mar 2008 17:17:50 +0000 (19:17 +0200)]
NV50: Some clock related cleanups + minor changes.
Maarten Maathuis [Mon, 31 Mar 2008 12:10:42 +0000 (14:10 +0200)]
NV50: Some misc cleanup.
Stuart Bennett [Sun, 30 Mar 2008 20:48:13 +0000 (21:48 +0100)]
randr12: different handling for sel_clk for pre and post nv40
This won't set the spread spectrum bits for pre nv40 from null initial state, but that's not a major concern right now
Stuart Bennett [Sat, 29 Mar 2008 21:26:37 +0000 (21:26 +0000)]
Minor tidyup to output merging
Maarten Maathuis [Sun, 30 Mar 2008 20:42:47 +0000 (22:42 +0200)]
Kill a useless register offset.
Maarten Maathuis [Sun, 30 Mar 2008 13:18:09 +0000 (15:18 +0200)]
NV50: remove unneeded function
Maarten Maathuis [Sun, 30 Mar 2008 10:21:29 +0000 (12:21 +0200)]
NV50: Some minor cursor cleanups.
Maarten Maathuis [Sun, 30 Mar 2008 01:37:16 +0000 (03:37 +0200)]
NV50: Deobfuscate some of the modesetting, a few things were hidden away in innocent looking variables.
- Some mode variables were overridden and didn't represent their name anymore.
Stuart Bennett [Sat, 29 Mar 2008 19:01:30 +0000 (19:01 +0000)]
randr12: make sel_clk behaviour match comment (which seems to be correct)
If nv40 breaks, this whole thing will need another look
Stuart Bennett [Sat, 29 Mar 2008 00:03:27 +0000 (00:03 +0000)]
Fix Apple backlight code, broken in pci-rework conversion
Stuart Bennett [Fri, 28 Mar 2008 01:10:31 +0000 (01:10 +0000)]
Consistency fix
+ constify