Stuart Bennett [Mon, 27 Oct 2008 19:20:22 +0000 (19:20 +0000)]
Common function for the bios condition table
Stuart Bennett [Mon, 27 Oct 2008 18:55:28 +0000 (18:55 +0000)]
Allow more time in INIT_CONDITION_TIME (#18234)
Stuart Bennett [Mon, 27 Oct 2008 18:41:43 +0000 (18:41 +0000)]
More warnings for C51's magical unaligned regs
Stuart Bennett [Sat, 25 Oct 2008 16:48:35 +0000 (17:48 +0100)]
Rework bios parser error handling
Stuart Bennett [Fri, 24 Oct 2008 23:38:29 +0000 (00:38 +0100)]
RivaTuner dumps call the `how much memory have I got?' reg NV_PFB_CSTATUS
Stuart Bennett [Fri, 24 Oct 2008 16:42:53 +0000 (17:42 +0100)]
pedantry fix for nv11 locking, and some minor cleanups
Stuart Bennett [Thu, 23 Oct 2008 22:17:15 +0000 (23:17 +0100)]
Add a function to lock/unlock all crtcs, use it in nv_bios code
Also split initial head owner determination into separate function
Stuart Bennett [Thu, 23 Oct 2008 01:35:30 +0000 (02:35 +0100)]
Attempt to make the usage of cr44 rational instead of cargoculted
and a couple of minor cleanups in nv_crtc
Stuart Bennett [Thu, 23 Oct 2008 01:46:03 +0000 (02:46 +0100)]
Robust nv11 head setting (from mmiotrace)
Stuart Bennett [Tue, 21 Oct 2008 01:12:24 +0000 (02:12 +0100)]
randr12: update scrn field on server regen, and emit an error if rotated
(updating the scrn is easier than removing and re-adding outputs)
Stuart Bennett [Mon, 20 Oct 2008 20:47:07 +0000 (21:47 +0100)]
randr12: don't change virtualX/virtualY
all the things in the ddx that use virtual* (setting displayWidth, allocating
the FB, EXA init etc) use the values present before this function is called
these prior values are derived from any Virtual line in xorg.conf and are what
we want to use
setting virtual* to the crtc size here, rather than the desired Virtual size,
breaks everything using them in ScreenInit on server regeneration
as the rhd guys say:
/* This is strange... if we set virtualX/virtualY like the intel driver
* does, we limit ourself in the future to this maximum size.
* The check for this is internally in RandR, no idea why the intel driver
* actually works this way...
* Even more curious: if we DON'T update virtual, everything seems to
* work as expected... */
so I'll take that as precedent.
Stuart Bennett [Mon, 20 Oct 2008 17:59:35 +0000 (18:59 +0100)]
Delete notifiers and grobjs in CloseScreen to avoid channel member becoming stale on server regeneration
Stuart Bennett [Wed, 22 Oct 2008 01:47:45 +0000 (02:47 +0100)]
Remove all object with mmaps in CloseScreen, so that drmClose actually calls the drm release method
(and so subsequently, we can be DRM master on the next drmOpen)
Stuart Bennett [Wed, 22 Oct 2008 02:32:51 +0000 (03:32 +0100)]
No reason to call AccelCommonInit twice in ScreenInit, but calling it in EnterVT helps resume...
Stuart Bennett [Wed, 22 Oct 2008 01:41:17 +0000 (02:41 +0100)]
nouveau_channel_free should remove mmaps made in nouveau_channel_alloc
Stuart Bennett [Wed, 22 Oct 2008 01:15:06 +0000 (02:15 +0100)]
Do frag prog allocation and shader upload in TCL init
Similar in spirit to the nv50 inplementation.
Removes many dependencies on state stored in static variables, which in turn
makes reinitializing shaders on resume / server regeneration tractable.
Stuart Bennett [Wed, 22 Oct 2008 00:44:10 +0000 (01:44 +0100)]
Only hackup shaders once
Stuart Bennett [Sat, 18 Oct 2008 01:23:18 +0000 (02:23 +0100)]
cr26 is just another view of 0x3c0
remove superfluous crtc unlock too
Stuart Bennett [Wed, 15 Oct 2008 02:59:06 +0000 (03:59 +0100)]
Use symbolic define values where known
Stuart Bennett [Tue, 14 Oct 2008 23:25:26 +0000 (00:25 +0100)]
Convert CIO, DIO and VIO use to use defines from nvreg for index and data reg offsets
Stuart Bennett [Tue, 14 Oct 2008 23:12:11 +0000 (00:12 +0100)]
Rename relevant functions, sizes and offsets to PRM.IO from P.IO, in keeping with the nvidia scheme
Stuart Bennett [Tue, 14 Oct 2008 22:58:11 +0000 (23:58 +0100)]
Name crtc index regs according to rules.xml
Stuart Bennett [Tue, 21 Oct 2008 16:46:37 +0000 (17:46 +0100)]
SaveGeneration isn't doing a lot
add another close screen thing too
Stuart Bennett [Tue, 21 Oct 2008 15:27:00 +0000 (16:27 +0100)]
Replace a few memsets with initializers
Stuart Bennett [Sun, 12 Oct 2008 14:52:43 +0000 (15:52 +0100)]
Eliminate separate NVRec ctor and dtor
Stuart Bennett [Sat, 11 Oct 2008 20:05:57 +0000 (21:05 +0100)]
randr12: remove pointless debug in nv_output and nv_crtc
Stuart Bennett [Sat, 11 Oct 2008 17:40:35 +0000 (18:40 +0100)]
randr12: deBoolification and eliminate `override' arg to nv_crtc_load_state_ext
Stuart Bennett [Sat, 11 Oct 2008 17:29:40 +0000 (18:29 +0100)]
Make all CR 57/58 access use the proper functions and defines
Use a define for usleep in bios too
Stuart Bennett [Sat, 11 Oct 2008 16:56:23 +0000 (17:56 +0100)]
Redo bios logging
Stuart Bennett [Sat, 11 Oct 2008 17:04:58 +0000 (18:04 +0100)]
Improve some nv_bios messages, remove others
Stuart Bennett [Sat, 11 Oct 2008 16:59:02 +0000 (17:59 +0100)]
Bios register list is easier to read when sorted numerically
and remove NULL initialization for calloc'd struct
Stuart Bennett [Sat, 11 Oct 2008 01:35:40 +0000 (02:35 +0100)]
randr12: panels with edid have only a constant mode
prove me wrong.
Stuart Bennett [Sat, 11 Oct 2008 01:16:50 +0000 (02:16 +0100)]
Remove unnecessary "Setting owner" message
Maarten Maathuis [Fri, 10 Oct 2008 23:22:35 +0000 (01:22 +0200)]
The fifo channel should be removed along with closing of the fd, so only clear the client memory.
Maarten Maathuis [Fri, 10 Oct 2008 21:37:55 +0000 (23:37 +0200)]
git-log is no longer valid for git 1.6, switch to git log.
Maarten Maathuis [Fri, 10 Oct 2008 21:14:57 +0000 (23:14 +0200)]
Some fixes that bring me closer to surviving to the 2nd X server generation.
- Not quite done, i get a fifo dump when something tries to render.
- Something is keeping an fd, which is preventing a full takedown, but this is not a valid reason for failing (kernel modesetting
for example will never have full takedown).
Stuart Bennett [Thu, 9 Oct 2008 16:09:58 +0000 (17:09 +0100)]
randr12: separate cursor pixmap location setting function
Stuart Bennett [Thu, 9 Oct 2008 16:07:30 +0000 (17:07 +0100)]
Move cursor show/hide funcs to nv_hw, document nv40 bug, and set curctl2 before applying nv40 fix
Stuart Bennett [Thu, 9 Oct 2008 16:24:23 +0000 (17:24 +0100)]
Use correct refclk for nv_get_clock, and use bool type as appropriate in arbitration
Stuart Bennett [Thu, 9 Oct 2008 14:25:16 +0000 (15:25 +0100)]
Tidy arbitration prototypes and split randr12 cursor pixmap setting from arbitration
Also fix ages old warning in nv_hw
Stuart Bennett [Fri, 10 Oct 2008 00:11:46 +0000 (01:11 +0100)]
Merge nv4, nv10 and nForce UpdateArbitrationSettings functions
Stuart Bennett [Thu, 9 Oct 2008 23:57:45 +0000 (00:57 +0100)]
Add PCI slot reading defines, and use them for nForce code
Also move nForce dimm checking code to nv_setup, so it is only tested once
Stuart Bennett [Thu, 9 Oct 2008 19:22:34 +0000 (20:22 +0100)]
Some tidying of arbitration functions
Stuart Bennett [Thu, 9 Oct 2008 18:05:01 +0000 (19:05 +0100)]
Reindent arbitration stuff
Stuart Bennett [Wed, 8 Oct 2008 22:45:13 +0000 (23:45 +0100)]
Wrap usleep when called in bios code
Stuart Bennett [Fri, 10 Oct 2008 15:41:29 +0000 (16:41 +0100)]
randr12: don't use in use (by another vga output) crtc for load detect (avoids flicker)
Stuart Bennett [Tue, 7 Oct 2008 20:39:10 +0000 (21:39 +0100)]
Better behaviour on allocator fail
also fix randr12 code which doesn't know how to call calloc
and be sure to use the number of actually inited crtcs
Stuart Bennett [Tue, 7 Oct 2008 01:35:44 +0000 (02:35 +0100)]
randr12: reorder nv_output functions
roughly into order of use
Stuart Bennett [Thu, 18 Sep 2008 17:32:36 +0000 (18:32 +0100)]
randr12: distinguish detected encoder from active encoder
don't swap output props until a mode is set on new encoder either
Stuart Bennett [Wed, 8 Oct 2008 00:22:17 +0000 (01:22 +0100)]
Reduce includes, everything necessary is in nv_include.h
Stuart Bennett [Sat, 20 Sep 2008 23:52:56 +0000 (00:52 +0100)]
Oops.
Stuart Bennett [Sat, 20 Sep 2008 23:44:50 +0000 (00:44 +0100)]
Optimizing memory usage for unaccelerated case is not interesting
Stuart Bennett [Sat, 20 Sep 2008 23:43:57 +0000 (00:43 +0100)]
randr12: rename mon -> edid
Stuart Bennett [Sat, 20 Sep 2008 23:31:40 +0000 (00:31 +0100)]
randr12: crtc destroy
also alleviate world shortage of curly braces
Stuart Bennett [Sat, 20 Sep 2008 22:57:06 +0000 (23:57 +0100)]
Need to increment dcb entry index when fabricating additional entries
Maarten Maathuis [Fri, 19 Sep 2008 19:23:04 +0000 (21:23 +0200)]
Also remove man page entry.
Maarten Maathuis [Fri, 19 Sep 2008 19:14:09 +0000 (21:14 +0200)]
NV50: remove {Prepare,Finish}Access since i realise now it's not so useful
- despite that the xserver code suggests that pixmaps can be offscreen on this call, that is not done as far as i can tell
- not to mention that there is no way to know for sure if a pixmap is offscreen (exaPixmapIsOffscreen is not exported), making the
offset useless
- this will (obviously) become relevant as soon as driver managed pixmaps come into play, but that is for another day
Maarten Maathuis [Fri, 19 Sep 2008 18:41:59 +0000 (20:41 +0200)]
NV50: The TMDS dual link threshold is meaningless for LVDS
Stuart Bennett [Mon, 25 Aug 2008 00:47:45 +0000 (01:47 +0100)]
randr12: multiple encoders per connector (DVI-I)
that this doesn't break things in subtle and unexpected ways is too much to
hope for. one not-subtle and expected way things will break is that xorg.confs
with specific setups for DVI-A-n and DVI-D-n connections will need renaming (to
DVI-I-n).
as the last patch in the series, this also fixes an issue introduced with
144b04a2 (randr12: fix dpms, detect, destroy, ...), that for a screen connected
to a dvi connector, both the analogue and digital variants were detected as
connected
Ben Skeggs [Wed, 17 Sep 2008 12:12:07 +0000 (22:12 +1000)]
nv50: 0xa0 family uses class 0x8397 for 3D
Stuart Bennett [Sun, 14 Sep 2008 22:01:49 +0000 (23:01 +0100)]
randr12: avoid weirdness when tv-out happens to share i2c_index with another output
Stuart Bennett [Sun, 24 Aug 2008 03:15:20 +0000 (04:15 +0100)]
randr12: fix dpms, detect, destroy, save and restore for multiple encoders per connector
Stuart Bennett [Sun, 24 Aug 2008 03:26:19 +0000 (04:26 +0100)]
randr12: re-do detection of dvi-a vs vga
Stuart Bennett [Sun, 24 Aug 2008 02:56:16 +0000 (03:56 +0100)]
randr12: unify output funcs for analogue and tmds
Stuart Bennett [Sun, 24 Aug 2008 02:12:58 +0000 (03:12 +0100)]
randr12: unified entry path for dpms
Stuart Bennett [Sun, 24 Aug 2008 03:45:48 +0000 (04:45 +0100)]
randr12: nouveau_output -> nouveau_connector
Stuart Bennett [Sun, 24 Aug 2008 01:45:41 +0000 (02:45 +0100)]
randr12: separate encoder struct
Stuart Bennett [Sun, 14 Sep 2008 15:53:12 +0000 (16:53 +0100)]
Another DCB 1.4/1.5 TV (#17471)
I think we've got enough for TVs to no longer be fatal
Stuart Bennett [Sun, 14 Sep 2008 15:44:32 +0000 (16:44 +0100)]
Only use OF bios image on PPC
Ben Skeggs [Wed, 10 Sep 2008 17:29:46 +0000 (03:29 +1000)]
nv50/exa: work around corruption issues (see detailed commit msg)
It's not possible for us to do this properly without using the exa
pixmap hooks, they require a real memory manager, and is being
worked on in the ng branches, which doesn't currently support nv5x
at all.
For a better solution until then:
http://nouveau.freedesktop.org/wiki/NV50Support
Stephane Marchesin [Fri, 5 Sep 2008 21:08:14 +0000 (23:08 +0200)]
Maarten Maathuis [Fri, 5 Sep 2008 20:51:27 +0000 (22:51 +0200)]
exa: align offscreenBase to something sensible
- Aligning virtualY makes no sense whatsoever.
- displayWidth is the "pitch-width" of the framebuffer.
Stephane Marchesin [Thu, 4 Sep 2008 05:51:03 +0000 (07:51 +0200)]
Add 8200 detection.
Maarten Maathuis [Sat, 30 Aug 2008 15:51:05 +0000 (17:51 +0200)]
nv50: solid fill shouldn't use a pattern rop + minor changes
Stuart Bennett [Sat, 23 Aug 2008 23:18:40 +0000 (00:18 +0100)]
randr12: merge output detection functions
Stuart Bennett [Sat, 23 Aug 2008 23:08:41 +0000 (00:08 +0100)]
randr12: remember the edid from detection for getting modes later
also split native mode finding into separate function
Stuart Bennett [Sun, 24 Aug 2008 18:56:24 +0000 (19:56 +0100)]
randr12: detypedef private structs and use a define to get to the privates
Stuart Bennett [Sat, 23 Aug 2008 23:31:35 +0000 (00:31 +0100)]
Remove unused code
Stuart Bennett [Mon, 25 Aug 2008 19:23:05 +0000 (20:23 +0100)]
randr12: make the nouveau experience less green
Maarten Maathuis [Sat, 23 Aug 2008 01:44:28 +0000 (03:44 +0200)]
nv50: micro cleanup
Maarten Maathuis [Sat, 23 Aug 2008 01:39:39 +0000 (03:39 +0200)]
nv50: do ROPs properly this time
- Table should work for pre-nv50 as well, i just don't have a card plugged in to be sure.
Maarten Maathuis [Fri, 22 Aug 2008 15:56:31 +0000 (17:56 +0200)]
nv10: composite is an async operation by default, no need to call exaMarkSync().
Maarten Maathuis [Fri, 22 Aug 2008 15:53:11 +0000 (17:53 +0200)]
exa: FIRE_RING at the end of composite
Maarten Maathuis [Thu, 21 Aug 2008 21:17:06 +0000 (23:17 +0200)]
nv50: move VERTEX_{START,END} to {Prepare,Done}Composite
- If PrepareComposite returns TRUE, then everything upto DoneComposite is required.
Maarten Maathuis [Thu, 21 Aug 2008 20:50:49 +0000 (22:50 +0200)]
nv50: minor tweaks to composite
- Make the blend stuff more consistent with other composite implementations.
- Verified with "rendercheck -f a8r8g8b8,x8r8g8b8,r5g6b5,a8 -t {blend,composite,cacomposite}" for all accelerated ops.
Maarten Maathuis [Thu, 21 Aug 2008 18:01:49 +0000 (20:01 +0200)]
nv50: handle ROPs better
- Handle ROP's more like pre-NV50 code.
- Special case for 32bpp which seems to work.
- This does NOT fix all rendering issues, just an improvement.
Maarten Maathuis [Wed, 20 Aug 2008 17:14:54 +0000 (19:14 +0200)]
nv50: clip SIFC and add {Prepare,Finish}Access hooks.
- when w*cpp is not aligned to a dword, then it's possible to end up with crap at the end of a line, so clip it.
- {Prepare,Finish}Access hooks force tiled memory to be migrated upon cpu access.
- Added an option to disable these hooks in case you hit a xserver bug that existed up until very recently.
Stuart Bennett [Mon, 18 Aug 2008 23:02:00 +0000 (00:02 +0100)]
randr12: don't cache pll values (fixes newrestore removal regression)
for 5ms, it's really not worth it
Stuart Bennett [Mon, 18 Aug 2008 20:50:37 +0000 (21:50 +0100)]
Remove some of the inaccuracies in the manpage
Stuart Bennett [Mon, 18 Aug 2008 20:40:36 +0000 (21:40 +0100)]
NV_ARCH_04 can have rotated output, it's just not accelerated
Stuart Bennett [Mon, 18 Aug 2008 20:39:18 +0000 (21:39 +0100)]
Delete ShadowFB rotation
And nothing of value was lost.
Stuart Bennett [Sun, 17 Aug 2008 23:59:32 +0000 (00:59 +0100)]
Bye bye 8 bit depth
Stuart Bennett [Sun, 17 Aug 2008 22:52:28 +0000 (23:52 +0100)]
CrtcNumber option is long gone
Stuart Bennett [Sun, 17 Aug 2008 22:17:01 +0000 (23:17 +0100)]
Micro-tidyups to nv_driver and nouveau_xv
Stuart Bennett [Sun, 17 Aug 2008 15:57:17 +0000 (16:57 +0100)]
randr12: a few line length improvements
Stephane Marchesin [Sun, 17 Aug 2008 20:44:11 +0000 (22:44 +0200)]
Kill some 8 bit code.
Stephane Marchesin [Sun, 17 Aug 2008 20:25:43 +0000 (22:25 +0200)]
Fix IFC for 16bpp. Also fix the color accuracy of 16bpp solid fills.
Stuart Bennett [Sun, 17 Aug 2008 02:51:39 +0000 (03:51 +0100)]
0x48 exception does not apply on BIT cards
Stuart Bennett [Sun, 17 Aug 2008 01:48:33 +0000 (02:48 +0100)]
randr12: some code simplification, rearrangement and tidying
We don't claim to support a bpp of 15 or 24, so some old calculations can be simplified
Stuart Bennett [Sun, 17 Aug 2008 01:27:42 +0000 (02:27 +0100)]
NewRestore: remove, due to lack of interest
nobody wants to do text modes manually. for any future masochists, it's here in the history