nouveau
15 years agonv50_exa.c had no license statement.
Maarten Maathuis [Mon, 5 May 2008 09:02:07 +0000 (11:02 +0200)] 
nv50_exa.c had no license statement.

15 years agoNV50: Rework the modesetting code into a different model.
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.

15 years agoxv: nv10 double-buffered overlay mode was getting set on nv04
Stuart Bennett [Fri, 2 May 2008 19:36:59 +0000 (20:36 +0100)] 
xv: nv10 double-buffered overlay mode was getting set on nv04

16 years agoUse the actual number of BIT table entries
Stuart Bennett [Tue, 29 Apr 2008 23:59:47 +0000 (00:59 +0100)] 
Use the actual number of BIT table entries

16 years agorandr12, xv: manual overlay clipping for randr12 (see #12825)
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

16 years agorandr12: remove unneeded separate dcb_entry and "or" members
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

16 years agoPass DCB entry structs in bios functions, rather than index
Stuart Bennett [Tue, 29 Apr 2008 21:08:01 +0000 (22:08 +0100)] 
Pass DCB entry structs in bios functions, rather than index

16 years agoPass output field, rather than dcb indices, for tmds access functions
Stuart Bennett [Tue, 29 Apr 2008 20:53:22 +0000 (21:53 +0100)] 
Pass output field, rather than dcb indices, for tmds access functions

16 years agoAdd an index field to dcb entries, and carry pointer to dcb entry in output struct
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

16 years agorandr12, xv: oops, transform_in_use doesn't exist on xserver 1.3
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

16 years agorandr12: C51 I2C
Stuart Bennett [Mon, 28 Apr 2008 01:12:17 +0000 (02:12 +0100)] 
randr12: C51 I2C

16 years agorandr12: only set cr59 to 1 for tmds (fixes nv34 issue)
Stuart Bennett [Tue, 29 Apr 2008 17:46:24 +0000 (18:46 +0100)] 
randr12: only set cr59 to 1 for tmds (fixes nv34 issue)

16 years agorandr12, xv: no overlay when the crtc is transformed
Stuart Bennett [Mon, 28 Apr 2008 16:00:27 +0000 (17:00 +0100)] 
randr12, xv: no overlay when the crtc is transformed

16 years agorandr12: fix spread spectrum setting for lvds and turn it off during dpms off
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

16 years agorandr12: make nv50 code depend on Architecture
Stuart Bennett [Sat, 26 Apr 2008 18:59:58 +0000 (19:59 +0100)] 
randr12: make nv50 code depend on Architecture

16 years agoCR27 appears to contain the chip revision
Stuart Bennett [Sat, 26 Apr 2008 00:21:50 +0000 (01:21 +0100)] 
CR27 appears to contain the chip revision

16 years agoNV50: A little bit more information, no functional change.
Maarten Maathuis [Sun, 27 Apr 2008 17:52:41 +0000 (19:52 +0200)] 
NV50: A little bit more information, no functional change.

16 years agorandr12: sel_clk binding fix
Stuart Bennett [Fri, 25 Apr 2008 21:09:46 +0000 (22:09 +0100)] 
randr12: sel_clk binding fix

16 years agorandr12: unified mode validation
Stuart Bennett [Fri, 25 Apr 2008 01:09:18 +0000 (02:09 +0100)] 
randr12: unified mode validation

doublescan/interlace limits applied too

16 years agorandr12: only set up one spread spectrum clock on pre nv40
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

16 years agorandr12: deny doublescan modes to digital outputs
Stuart Bennett [Thu, 24 Apr 2008 21:23:50 +0000 (22:23 +0100)] 
randr12: deny doublescan modes to digital outputs

16 years agorandr12: off-chip dvi dpms and fp_control dpms fixed properly
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

16 years agorandr12: set CRTCX_LCD in nv_output
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.

16 years agoThese made up defines are more misleading than helpful
Stuart Bennett [Wed, 23 Apr 2008 23:01:50 +0000 (00:01 +0100)] 
These made up defines are more misleading than helpful

16 years agorandr12: remove FPP setting and other FSEL changes
Stuart Bennett [Tue, 22 Apr 2008 21:42:12 +0000 (22:42 +0100)] 
randr12: remove FPP setting and other FSEL changes

16 years agorandr12: oops (fix to 9edf6d60)
Stuart Bennett [Tue, 22 Apr 2008 22:25:40 +0000 (23:25 +0100)] 
randr12: oops (fix to 9edf6d60)

16 years agorandr12: RAMDAC_OUTPUT is only for analogue outputs
Stuart Bennett [Tue, 22 Apr 2008 20:34:52 +0000 (21:34 +0100)] 
randr12: RAMDAC_OUTPUT is only for analogue outputs

16 years agoRevert "randr12: correct SEL_CLK register beheaviour for outputs with or=2"
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

16 years agoNV50: Another few regs.
Maarten Maathuis [Sun, 13 Apr 2008 00:40:55 +0000 (02:40 +0200)] 
NV50: Another few regs.

16 years agoNV50: Some more regs.
Maarten Maathuis [Sun, 13 Apr 2008 00:16:27 +0000 (02:16 +0200)] 
NV50: Some more regs.

16 years agoNV50: I now know what UNK8A8 is, so update the value register as well.
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.

16 years agoNV50: Re-implement output status caching.
Maarten Maathuis [Sat, 12 Apr 2008 00:11:32 +0000 (02:11 +0200)] 
NV50: Re-implement output status caching.

16 years agorandr12: separate pll and arbitration stages of calc_state_ext, and call from mode_se...
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

16 years agostate->config is not used
Stuart Bennett [Fri, 11 Apr 2008 15:20:21 +0000 (16:20 +0100)] 
state->config is not used

16 years agorandr12: unite pre nv40 and nv40 pll restore
Stuart Bennett [Fri, 4 Apr 2008 17:59:29 +0000 (18:59 +0100)] 
randr12: unite pre nv40 and nv40 pll restore

16 years agoUse the correct reference clock when reading (V)PLLs
Stuart Bennett [Tue, 8 Apr 2008 01:25:34 +0000 (02:25 +0100)] 
Use the correct reference clock when reading (V)PLLs

16 years agoVarious PLL code improvements
Stuart Bennett [Tue, 8 Apr 2008 01:25:22 +0000 (02:25 +0100)] 
Various PLL code improvements

16 years agoNV50: Some misc stuff.
Maarten Maathuis [Wed, 9 Apr 2008 16:55:06 +0000 (18:55 +0200)] 
NV50: Some misc stuff.

16 years agonv50: fix distcheck since header removal
Dave Airlie [Tue, 8 Apr 2008 06:48:37 +0000 (16:48 +1000)] 
nv50: fix distcheck since header removal

16 years agoMCP67 does not do the second stage gain tests
Stuart Bennett [Mon, 7 Apr 2008 23:28:03 +0000 (00:28 +0100)] 
MCP67 does not do the second stage gain tests

16 years agoPLL stuff
Stuart Bennett [Tue, 8 Apr 2008 00:31:14 +0000 (01:31 +0100)] 
PLL stuff

16 years agoIf no PLL coefficients compatible with the constraints exist, don't brick the hardware
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

16 years agoNV50: Scaling works fine on VGA connectors, so support that as well.
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.

16 years agoNV50: Deobfuscate some more commands.
Maarten Maathuis [Mon, 7 Apr 2008 19:18:54 +0000 (21:18 +0200)] 
NV50: Deobfuscate some more commands.

16 years agoMake some CARD32 die.
Maarten Maathuis [Mon, 7 Apr 2008 17:29:55 +0000 (19:29 +0200)] 
Make some CARD32 die.

16 years agoNV50: Give a few registers an UNK label.
Maarten Maathuis [Mon, 7 Apr 2008 17:09:35 +0000 (19:09 +0200)] 
NV50: Give a few registers an UNK label.

16 years agorandr12: NV04/05/06 can't accelerate rotation, so it's better to disable it.
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.

16 years agoNV50: Some more stuff.
Maarten Maathuis [Sun, 6 Apr 2008 21:36:15 +0000 (23:36 +0200)] 
NV50: Some more stuff.

16 years agoNV50: minor rename to avoid confusion
Maarten Maathuis [Sun, 6 Apr 2008 17:49:11 +0000 (19:49 +0200)] 
NV50: minor rename to avoid confusion

16 years agoNV50: Deobfuscate another register (partially).
Maarten Maathuis [Sun, 6 Apr 2008 13:16:40 +0000 (15:16 +0200)] 
NV50: Deobfuscate another register (partially).

16 years agoNV50: Fix another deadlock in the clock setting code.
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.

16 years agoForgot a few things.
Maarten Maathuis [Sat, 5 Apr 2008 21:33:22 +0000 (23:33 +0200)] 
Forgot a few things.

16 years agoNV50: rename randr-1.2 functions to be nv50_something_function
Maarten Maathuis [Sat, 5 Apr 2008 21:23:22 +0000 (23:23 +0200)] 
NV50: rename randr-1.2 functions to be nv50_something_function

16 years agoNV50: Some more cleanup.
Maarten Maathuis [Sat, 5 Apr 2008 21:00:39 +0000 (23:00 +0200)] 
NV50: Some more cleanup.

16 years agoNV50: Some reordering.
Maarten Maathuis [Sat, 5 Apr 2008 20:52:58 +0000 (22:52 +0200)] 
NV50: Some reordering.

16 years agoSome minor corrections.
Maarten Maathuis [Sat, 5 Apr 2008 19:17:23 +0000 (21:17 +0200)] 
Some minor corrections.

16 years agoNV50: Document dvi hotplug detection.
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.

16 years agoNV50: Remove some questionable guesses.
Maarten Maathuis [Sat, 5 Apr 2008 14:16:26 +0000 (16:16 +0200)] 
NV50: Remove some questionable guesses.

16 years agonvbios: Drop a N2/M2 requirement on NV5x hardware, as it prevents getting a mode...
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).

16 years agonvbios: Add some valid register ranges for nv50.
Maarten Maathuis [Fri, 4 Apr 2008 20:49:06 +0000 (22:49 +0200)] 
nvbios: Add some valid register ranges for nv50.

16 years agoNV50: Switch to common pll calculator function.
Maarten Maathuis [Fri, 4 Apr 2008 20:38:30 +0000 (22:38 +0200)] 
NV50: Switch to common pll calculator function.

16 years agorandr12: delete stuff commented out a week ago that no one's complained about
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

16 years agoNV50: Minor comment updates.
Maarten Maathuis [Fri, 4 Apr 2008 15:13:25 +0000 (17:13 +0200)] 
NV50: Minor comment updates.

16 years agoNV50: Some more stuff.
Maarten Maathuis [Fri, 4 Apr 2008 15:04:49 +0000 (17:04 +0200)] 
NV50: Some more stuff.

16 years agoNV50: Some more registers.
Maarten Maathuis [Fri, 4 Apr 2008 14:49:00 +0000 (16:49 +0200)] 
NV50: Some more registers.

16 years agoNV50: Update my knowledge of interrupts.
Maarten Maathuis [Thu, 3 Apr 2008 20:42:31 +0000 (22:42 +0200)] 
NV50: Update my knowledge of interrupts.

16 years agoSmall declaration reordering
Stuart Bennett [Thu, 3 Apr 2008 02:00:13 +0000 (03:00 +0100)] 
Small declaration reordering

16 years agoMove some variable declarations in the bios parser
Stuart Bennett [Thu, 3 Apr 2008 00:03:38 +0000 (01:03 +0100)] 
Move some variable declarations in the bios parser

16 years agorandr12: some fixes to dithering property
Stuart Bennett [Wed, 2 Apr 2008 23:11:31 +0000 (00:11 +0100)] 
randr12: some fixes to dithering property

16 years agorandr12: better analogue clock limits (taken from pNv->{Min,Max}VClockFreqKHz)
Stuart Bennett [Wed, 2 Apr 2008 18:45:43 +0000 (19:45 +0100)] 
randr12: better analogue clock limits (taken from pNv->{Min,Max}VClockFreqKHz)

16 years agoNV50: Some minor changes to the display supervisor (mostly comment).
Maarten Maathuis [Wed, 2 Apr 2008 19:31:07 +0000 (21:31 +0200)] 
NV50: Some minor changes to the display supervisor (mostly comment).

16 years agoSome bios parser PLL writing improvements
Stuart Bennett [Wed, 2 Apr 2008 18:03:07 +0000 (19:03 +0100)] 
Some bios parser PLL writing improvements

16 years agoNV50: Add my name to some files.
Maarten Maathuis [Wed, 2 Apr 2008 16:21:01 +0000 (18:21 +0200)] 
NV50: Add my name to some files.

16 years agorandr12: since the crtc function records are now mutable, unify pre nv50 templates
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

16 years agorandr12: don't provide rotation functions in NoAccel case
Stuart Bennett [Wed, 2 Apr 2008 15:02:43 +0000 (16:02 +0100)] 
randr12: don't provide rotation functions in NoAccel case

16 years agoRevert "randr12: Fail rotation 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.

16 years agoAdd quirks for Apple *book backlight
Stuart Bennett [Wed, 2 Apr 2008 14:46:50 +0000 (15:46 +0100)] 
Add quirks for Apple *book backlight

16 years agoNV50: Some more things.
Maarten Maathuis [Wed, 2 Apr 2008 12:54:16 +0000 (14:54 +0200)] 
NV50: Some more things.

16 years agorandr12: Fail rotation in NoAccel case.
Maarten Maathuis [Wed, 2 Apr 2008 07:28:45 +0000 (09:28 +0200)] 
randr12: Fail rotation in NoAccel case.

16 years agoNV30/35 setPLL bios support
Stuart Bennett [Tue, 1 Apr 2008 20:23:35 +0000 (21:23 +0100)] 
NV30/35 setPLL bios support

16 years agoNV50: Fix a minor cursor issue.
Maarten Maathuis [Tue, 1 Apr 2008 20:33:15 +0000 (22:33 +0200)] 
NV50: Fix a minor cursor issue.

16 years agoNV50: Add some debugging statements to important functions.
Maarten Maathuis [Tue, 1 Apr 2008 20:20:04 +0000 (22:20 +0200)] 
NV50: Add some debugging statements to important functions.

16 years agoNV50: Some i2c stuff.
Maarten Maathuis [Tue, 1 Apr 2008 18:33:16 +0000 (20:33 +0200)] 
NV50: Some i2c stuff.

16 years agoUse new PLL reading code
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 :-/

16 years agoUnified PLL reading
Stuart Bennett [Tue, 1 Apr 2008 04:03:14 +0000 (05:03 +0100)] 
Unified PLL reading

16 years agorandr12: get_clock_from_crtc only necessary for TMDS
Stuart Bennett [Tue, 1 Apr 2008 04:29:05 +0000 (05:29 +0100)] 
randr12: get_clock_from_crtc only necessary for TMDS

16 years agoBetter PLL limits for some nv3x
Stuart Bennett [Mon, 31 Mar 2008 23:23:06 +0000 (00:23 +0100)] 
Better PLL limits for some nv3x

16 years agorandr12: deal with nv30 and nv35 PLLs individually
Stuart Bennett [Tue, 1 Apr 2008 00:00:16 +0000 (01:00 +0100)] 
randr12: deal with nv30 and nv35 PLLs individually

16 years agoInit global gamma on all crtc's, even if they are currently not in use.
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.

16 years agoNV50: Some clock related cleanups + minor changes.
Maarten Maathuis [Mon, 31 Mar 2008 17:17:50 +0000 (19:17 +0200)] 
NV50: Some clock related cleanups + minor changes.

16 years agoNV50: Some misc cleanup.
Maarten Maathuis [Mon, 31 Mar 2008 12:10:42 +0000 (14:10 +0200)] 
NV50: Some misc cleanup.

16 years agorandr12: different handling for sel_clk for pre and post nv40
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

16 years agoMinor tidyup to output merging
Stuart Bennett [Sat, 29 Mar 2008 21:26:37 +0000 (21:26 +0000)] 
Minor tidyup to output merging

16 years agoKill a useless register offset.
Maarten Maathuis [Sun, 30 Mar 2008 20:42:47 +0000 (22:42 +0200)] 
Kill a useless register offset.

16 years agoNV50: remove unneeded function
Maarten Maathuis [Sun, 30 Mar 2008 13:18:09 +0000 (15:18 +0200)] 
NV50: remove unneeded function

16 years agoNV50: Some minor cursor cleanups.
Maarten Maathuis [Sun, 30 Mar 2008 10:21:29 +0000 (12:21 +0200)] 
NV50: Some minor cursor cleanups.

16 years agoNV50: Deobfuscate some of the modesetting, a few things were hidden away in innocent...
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.

16 years agorandr12: make sel_clk behaviour match comment (which seems to be correct)
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

16 years agoFix Apple backlight code, broken in pci-rework conversion
Stuart Bennett [Sat, 29 Mar 2008 00:03:27 +0000 (00:03 +0000)] 
Fix Apple backlight code, broken in pci-rework conversion

16 years agoConsistency fix
Stuart Bennett [Fri, 28 Mar 2008 01:10:31 +0000 (01:10 +0000)] 
Consistency fix

+ constify