Ben Skeggs [Fri, 14 Nov 2008 03:22:08 +0000 (14:22 +1100)]
Initial DRI2 support.
Ben Skeggs [Mon, 10 Nov 2008 06:26:12 +0000 (17:26 +1100)]
require libnouveau_drm 0.2
Ben Skeggs [Mon, 3 Nov 2008 10:17:32 +0000 (21:17 +1100)]
turn off fallback messages by default..
Ben Skeggs [Mon, 3 Nov 2008 10:16:31 +0000 (21:16 +1100)]
nv50/exa: hide errors for unsupported surface bpp
Ben Skeggs [Mon, 3 Nov 2008 10:12:50 +0000 (21:12 +1100)]
exa: struct nouveau_pixmap doesn't need "mapped" field
Ben Skeggs [Wed, 29 Oct 2008 01:13:36 +0000 (12:13 +1100)]
xv: remove some unnessesary code that snuck in during last merge
Ben Skeggs [Sun, 26 Oct 2008 13:04:37 +0000 (00:04 +1100)]
Merge remote branch 'origin/master' into ng
Conflicts:
src/nouveau_channel.c
src/nouveau_device.c
src/nouveau_xv.c
src/nv30_shaders.c
src/nv_crtc.c
src/nv_driver.c
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
Ben Skeggs [Tue, 14 Oct 2008 13:45:33 +0000 (00:45 +1100)]
require libnouveau_drm 0.0.109.1
Ben Skeggs [Tue, 14 Oct 2008 12:28:25 +0000 (23:28 +1100)]
nv04: slight thinko in last commit..
Ben Skeggs [Tue, 14 Oct 2008 12:17:11 +0000 (23:17 +1100)]
nv04: avoid more nasty METHOD_CNT stuff when using IFC..
Hackish, will cleanup one day.
Ben Skeggs [Tue, 14 Oct 2008 00:49:20 +0000 (11:49 +1100)]
link against libnouveau_drm, "common code" is now actually common..
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
Ben Skeggs [Sun, 12 Oct 2008 06:42:44 +0000 (17:42 +1100)]
exa: small cleanup
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
Ben Skeggs [Mon, 6 Oct 2008 13:44:46 +0000 (00:44 +1100)]
exa: remove NVCopyROP table..
Ben Skeggs [Mon, 6 Oct 2008 13:38:22 +0000 (00:38 +1100)]
remove OUT_PIXMAP? macros
Ben Skeggs [Mon, 6 Oct 2008 12:10:34 +0000 (23:10 +1100)]
old stuff
Ben Skeggs [Mon, 6 Oct 2008 12:03:13 +0000 (23:03 +1100)]
catch relocs that don't specify access mode
Ben Skeggs [Mon, 6 Oct 2008 12:02:27 +0000 (23:02 +1100)]
nv50: use bo access flags
Ben Skeggs [Fri, 3 Oct 2008 02:48:03 +0000 (12:48 +1000)]
exa: MarkSync()/WaitMarker() are unnecessary now
Ben Skeggs [Fri, 3 Oct 2008 02:45:56 +0000 (12:45 +1000)]
bo: remove fence usage for the moment
Ben Skeggs [Fri, 3 Oct 2008 02:43:33 +0000 (12:43 +1000)]
bo: call drm to wait for GPU to finish with buffer before map
Ben Skeggs [Wed, 1 Oct 2008 15:03:32 +0000 (01:03 +1000)]
Merge remote branch 'origin/master' into ng
Conflicts:
src/nv_exa.c
Ben Skeggs [Wed, 1 Oct 2008 11:06:51 +0000 (21:06 +1000)]
fence: remove signal callback code
Was only used previously to delay destruction of buffers until we were
sure they were idle on the GPU, this is handled by the kernel bufmgr
now.
Ben Skeggs [Wed, 1 Oct 2008 11:02:25 +0000 (21:02 +1000)]
bo: change api for shared objects
Ben Skeggs [Wed, 1 Oct 2008 10:56:51 +0000 (20:56 +1000)]
fence: ref could destroy the object it was referencing, fix that!
Ben Skeggs [Wed, 1 Oct 2008 10:54:37 +0000 (20:54 +1000)]
bo: make ref/del work like the rest
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 19:13:39 +0000 (05:13 +1000)]
Merge remote branch 'origin/master' into origin-ng
Conflicts:
src/nv_crtc.c
src/nv_exa.c
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
Ben Skeggs [Thu, 28 Aug 2008 15:35:26 +0000 (01:35 +1000)]
dri: pass GEM handle of front buffer to DRI client
Ben Skeggs [Wed, 27 Aug 2008 14:33:41 +0000 (00:33 +1000)]
gem: separate read/write domains
Ben Skeggs [Tue, 26 Aug 2008 14:51:50 +0000 (00:51 +1000)]
move compile-time header check to nouveau_device.c
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