Ben Skeggs [Fri, 11 Jul 2008 16:24:54 +0000 (02:24 +1000)]
nv30: more header name changes...
Ben Skeggs [Fri, 11 Jul 2008 16:15:08 +0000 (02:15 +1000)]
nv30: more bustage from header update
Ben Skeggs [Fri, 11 Jul 2008 16:03:58 +0000 (02:03 +1000)]
nv30: un-change something that somehow changed in an earlier commit. oops!
Ben Skeggs [Tue, 8 Jul 2008 02:28:18 +0000 (12:28 +1000)]
nv50: exa/xv share some stuff, punt it out to nv50_accel.[ch]
Ben Skeggs [Tue, 8 Jul 2008 02:09:09 +0000 (12:09 +1000)]
nv50: Xv support
The NV12 YCbCr->RGB shader is hand-written just like the composite shaders,
hopefully correct! I'll probably put a disasm next to each opcode at some
point so it doesn't look like just a bunch of magics.
You'll need to use a composite manager if you want to watch videos, we can't
render directly to the screen for the same reasons as mentioned in the
composite commit. Though, a simple workaround is possible in the Xv case,
so that'll probably come at some point. For now, PutImage() will fail with
BadMatch.
The Y and UV plane upload may not be 100% for what NV50 requires, I want to
rework all that at some point anyway. For now, at least there's some form
of accelerated video to work with.
Enjoy :)
Ben Skeggs [Sun, 6 Jul 2008 10:38:44 +0000 (20:38 +1000)]
nv50: de-magic things before someone accuses me of being an NVIDIA employee
Ben Skeggs [Sat, 5 Jul 2008 15:30:21 +0000 (01:30 +1000)]
nv50: exa composite
Ben Skeggs [Sat, 5 Jul 2008 15:21:39 +0000 (01:21 +1000)]
nv50: tile offscreen pixmaps
Until someone figures out how to make the display engine scan out from
tiled surfaces things will be a bit painful. Future commits for exa
composite and Xv will require the use of the 3D engine, which will *not*
render to linear surfaces.. a composite manager will probably be a must
for it to be usable.
I really don't want the NOUVEAU_MEM_TILE ioctl in the end, but we'll have
to deal with it until we can drop support for <xorg-server-1.5. EXA driver
handled pixmaps are far far nicer :)
Ben Skeggs [Sat, 5 Jul 2008 14:57:08 +0000 (00:57 +1000)]
exa: pass window coords to m2mf-based UTS/DFS
Ben Skeggs [Sun, 6 Jul 2008 15:03:02 +0000 (01:03 +1000)]
xv: remove some disturbing abuses of buffer related things
Also brings to attention a point about the overlay when we use a real
memory manager. We'll need to find a way for the overlay to signal it's
finished with a buffer, or just resort to pinning pPriv->video_mem..
Maarten Maathuis [Sun, 6 Jul 2008 11:45:32 +0000 (13:45 +0200)]
EXA: add a pixmapIsOffscreen hook.
Maarten Maathuis [Sun, 6 Jul 2008 10:52:16 +0000 (12:52 +0200)]
NV50_KMS: support gamma changes
Maarten Maathuis [Sun, 6 Jul 2008 10:29:13 +0000 (12:29 +0200)]
NV50: Unaccelerated rotation support.
- This will need a PixmapIsOffscreen hook before it will be considered for acceleration.
Maarten Maathuis [Sat, 5 Jul 2008 23:03:44 +0000 (01:03 +0200)]
NV50_KMS: Unaccelerated rotation support.
- This will need a PixmapIsOffscreen hook for it to be ever considered for acceleration.
Maarten Maathuis [Sat, 5 Jul 2008 23:02:45 +0000 (01:02 +0200)]
Revert "EXA: Add PixmapIsOffscreen hook for EXA versions that allow it."
This reverts commit
5a5aee10f84fbea70eee69ece17ddf6e797497a6.
This was never supposed to end up here as it's broken.
Maarten Maathuis [Sat, 5 Jul 2008 21:07:58 +0000 (23:07 +0200)]
EXA: Add PixmapIsOffscreen hook for EXA versions that allow it.
- This should allow more flexibility for rotation shadow buffers.
Ben Skeggs [Sat, 5 Jul 2008 17:50:03 +0000 (03:50 +1000)]
xv: remove some defines that are in a header now
Ben Skeggs [Sat, 5 Jul 2008 16:28:26 +0000 (02:28 +1000)]
xv: remove drawable handling from hw-specific PutImage.. it's common...
Ben Skeggs [Sat, 5 Jul 2008 15:57:17 +0000 (01:57 +1000)]
xv: misc cleanups
Maarten Maathuis [Sat, 5 Jul 2008 10:47:48 +0000 (12:47 +0200)]
NV50_KMS: minor change
Maarten Maathuis [Fri, 4 Jul 2008 21:05:20 +0000 (23:05 +0200)]
Fix some compile warnings.
Ben Skeggs [Thu, 3 Jul 2008 13:54:13 +0000 (23:54 +1000)]
xv: reformat source so mere mortals can understand it
Ben Skeggs [Thu, 3 Jul 2008 07:07:45 +0000 (17:07 +1000)]
xv: nv_video.c to nouveau_xv.c
Maarten Maathuis [Thu, 3 Jul 2008 06:30:43 +0000 (08:30 +0200)]
NV50_KMS: autodetect kernel modesetting when active
Maarten Maathuis [Wed, 2 Jul 2008 17:04:58 +0000 (19:04 +0200)]
NV50_KMS: no int10 please
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