Jesse Barnes [Tue, 10 Apr 2007 16:47:37 +0000 (09:47 -0700)]
Finish bringing in LVDS code, re-add to Makefile. Needed other changes too:
- move EDID structures to drm_edid.h
- add EDID info structure to drm_output
- add a few routines to intel_display for getting current mode info
- add some prototypes to intel_drv.h and drm_crtc.h
Jesse Barnes [Tue, 10 Apr 2007 03:46:38 +0000 (20:46 -0700)]
Slam in most of X.Org's i830_lvds (not quite done yet so removed from Makefile.kernel too).
Jesse Barnes [Mon, 9 Apr 2007 15:52:53 +0000 (08:52 -0700)]
Fix refresh calculation (mistakenly removed 1000 factor needed for integer calulations, fixed mode printout debugging routine instead).
Jesse Barnes [Sun, 8 Apr 2007 02:26:55 +0000 (19:26 -0700)]
remove a printk to make things less verbose
Jesse Barnes [Sun, 8 Apr 2007 02:25:25 +0000 (19:25 -0700)]
just codingstyle cleanups
Jesse Barnes [Sun, 8 Apr 2007 02:24:53 +0000 (19:24 -0700)]
document drm_mode_duplicate and fix vrefresh calculation (off by 1000 error)
Jesse Barnes [Sun, 8 Apr 2007 02:24:09 +0000 (19:24 -0700)]
various cleanups to EDID code:
- pull in FB DDC code (we'll have to rewrite it anyway it appears)
- add comments
- note a few FIXMEs
- make it less quiet, and more informative when it actually does print
Jesse Barnes [Sun, 8 Apr 2007 02:22:39 +0000 (19:22 -0700)]
make drmP.h include drm_crtc.h for CRTC related stuff.
fixup drm_crtc.c so it matches VGA and other outputs properly.
make drm_crtc.c less verbose.
add function declarations in drm_crtc.h for other files.
Eric Anholt [Thu, 5 Apr 2007 18:34:11 +0000 (11:34 -0700)]
Add required permission notices for code copied from X.Org source.
Jesse Barnes [Thu, 5 Apr 2007 16:27:12 +0000 (09:27 -0700)]
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Jesse Barnes [Thu, 5 Apr 2007 16:21:31 +0000 (09:21 -0700)]
Add copyrights before I forget
Dave Airlie [Thu, 5 Apr 2007 10:20:33 +0000 (20:20 +1000)]
add back compat for bool
Dave Airlie [Thu, 5 Apr 2007 08:01:02 +0000 (18:01 +1000)]
checkpoint commit: implement SetCrtc so modes can in theory be set from user
This hooks up the userspace mode set it "seems" to work.
Dave Airlie [Thu, 5 Apr 2007 07:06:42 +0000 (17:06 +1000)]
checkpoint commit: added getresources, crtc and output
This adds the user interfaces from Jakob and hooks them up for 3 ioctls
GetResources, GetCrtc and GetOutput.
I've made the ids for everything fbs, crtcs, outputs and modes go via idr as
per krh's suggestion on irc as it make the code nice and consistent.
Dave Airlie [Thu, 5 Apr 2007 03:34:50 +0000 (13:34 +1000)]
initial userspace interface to get modes
Dave Airlie [Thu, 5 Apr 2007 01:21:06 +0000 (11:21 +1000)]
Initial import of modesetting for intel driver in DRM
Dave Airlie [Thu, 5 Apr 2007 01:20:23 +0000 (11:20 +1000)]
borrow edid.h from fb directory
Dave Airlie [Thu, 5 Apr 2007 01:18:00 +0000 (11:18 +1000)]
add an install target to the drm modules makefile
Thomas Hellstrom [Tue, 3 Apr 2007 08:54:23 +0000 (10:54 +0200)]
Fix user object reference when caller is not object creator.
(Reported by Dave Airlie).
Thomas Hellstrom [Tue, 3 Apr 2007 08:24:06 +0000 (10:24 +0200)]
Add a fence flush event to each fence-signaled check when lazy-waiting
to make sure we don't lose any sequence numbers if, for some reason,
they don't generate an IRQ.
Thomas Hellstrom [Tue, 3 Apr 2007 08:21:41 +0000 (10:21 +0200)]
Make sure we ack irqs before we read a breadcrumb so that
breadcrumb updates that occur _AFTER_ we've read the breadcrumb really
generates a new IRQ.
Thomas Hellstrom [Fri, 30 Mar 2007 12:14:26 +0000 (14:14 +0200)]
Evicted no-move buffers can get lost if they end up in another
memory type than local.
Thomas Hellstrom [Fri, 30 Mar 2007 10:23:22 +0000 (12:23 +0200)]
Fix an oops when trying to clean a not yet initialized memory type.
Thomas Hellstrom [Thu, 29 Mar 2007 19:33:41 +0000 (21:33 +0200)]
Make sure CMA (Can't map aperture) pages are mapped uncached.
(Should really make this write-combined using PATs, at some point).
Oliver McFadden [Mon, 2 Apr 2007 19:45:10 +0000 (19:45 +0000)]
r300: Synchronize the register header file again.
It's a good idea to keep these synchronized; even though the DRM doesn't use all
the defines, maintaining two different copies is prone to errors when the diff
gets bigger.
Matthieu Castet [Sun, 1 Apr 2007 12:31:41 +0000 (14:31 +0200)]
nouveau: fix usage of PGRAPH_CTX_CONTROL on nv20+
http://gitweb.freedesktop.org/?p=mesa/drm.git;a=commitdiff;h=
17985f07d68322519919a7f629a6d2d9bf3916ed could have broken some nvxx_graph code : it rename NV03_PGRAPH_CTX_CONTROL to NV10_PGRAPH_CTX_CONTROL, but forgot to update it in nvxx_graph file.
Also when migrating init stuff in http://gitweb.freedesktop.org/?p=mesa/drm.git;a=commitdiff;h=
674cefd4fe4b537a20a10edcb4ec5df55facca8e, NV04_PGRAPH_CTX_CONTROL is used everywhere but the old ddx code use NV_PGRAPH_CTX_CONTROL_NV04 or NV_PGRAPH_CTX_CONTROL.
Matthieu Castet [Sun, 1 Apr 2007 12:21:29 +0000 (14:21 +0200)]
nouveau : nv10 ctx switch fix
restoring NV10_PGRAPH_CTX_SWITCH1 now works
Matthieu Castet [Sat, 31 Mar 2007 22:44:11 +0000 (00:44 +0200)]
nouveau : set the correct PGRAPH_CTX_CONTROL register
"
5a072f32 (Stephane Marchesin 2007-02-03 04:57:06 +0100" broke nv10 ctx switch by setting wrong PGRAPH_CTX_CONTROL reg
Eric Anholt [Fri, 30 Mar 2007 19:56:34 +0000 (12:56 -0700)]
Merge branch 'crestline-qa', adding support for the 965GM chipset.
Eric Anholt [Fri, 30 Mar 2007 19:56:08 +0000 (12:56 -0700)]
Merge branch 'origin'
Dave Airlie [Wed, 28 Mar 2007 23:25:04 +0000 (09:25 +1000)]
drm/bo: avoid oops if the memory manager for this type isn't initialised
Stephane Marchesin [Wed, 28 Mar 2007 22:54:18 +0000 (00:54 +0200)]
nouveau: fix nv04 context switches.
Dave Airlie [Tue, 27 Mar 2007 08:01:31 +0000 (18:01 +1000)]
drm/i915: set the bo up at firstopen time not after DMA init
This is required to use TTM to allocate the ring buffer.
Dave Airlie [Tue, 27 Mar 2007 07:59:30 +0000 (17:59 +1000)]
drm/ttm: make sure dev_mapping is set-up for the first opener of the drm
This was causing an oops in my miniglx code to try and use a TTM-only setup.
Nian Wu [Tue, 27 Mar 2007 04:53:13 +0000 (12:53 +0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Ben Skeggs [Mon, 26 Mar 2007 09:43:48 +0000 (19:43 +1000)]
nouveau: move card initialisation into the drm
The PGRAPH init for the various cards will need cleaning up at some point,
a lot of the values written there are per-context state left over from the
all the hardcoding done in the ddx.
It's possible some cards get broken by this commit, let me know.
Tested on: NV5, NV18, NV28, NV35, NV40, NV4E
Nian Wu [Sun, 25 Mar 2007 09:00:36 +0000 (17:00 +0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Eric Anholt [Sat, 24 Mar 2007 16:39:09 +0000 (09:39 -0700)]
Catch up to new interrupt API, and retire FreeBSD 4.x support here.
Dave Airlie [Sat, 24 Mar 2007 06:58:27 +0000 (17:58 +1100)]
vm: cleanup drm_vm.c along lines of cleanups queued for kernel
Nian Wu [Fri, 23 Mar 2007 09:00:41 +0000 (17:00 +0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Ben Skeggs [Fri, 23 Mar 2007 03:45:00 +0000 (14:45 +1100)]
nouveau: rework nouveau_fifo_alloc() so the drm can create internal FIFOs
Dave Airlie [Fri, 23 Mar 2007 03:56:39 +0000 (14:56 +1100)]
cleanup more whitespace from ttm merge
Dave Airlie [Fri, 23 Mar 2007 03:56:28 +0000 (14:56 +1100)]
drm: remove second spinlock init for tasklet lock
Ben Skeggs [Fri, 23 Mar 2007 02:45:29 +0000 (13:45 +1100)]
nouveau: remove unused cruft
Nian Wu [Wed, 21 Mar 2007 09:00:43 +0000 (17:00 +0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Ben Skeggs [Wed, 21 Mar 2007 06:57:47 +0000 (17:57 +1100)]
nouveau: support multiple channels per client (breaks drm interface)
Nian Wu [Tue, 20 Mar 2007 05:11:02 +0000 (13:11 +0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Dave Airlie [Mon, 19 Mar 2007 23:13:58 +0000 (10:13 +1100)]
rename badly named define
Alan Hourihane [Mon, 19 Mar 2007 11:40:52 +0000 (11:40 +0000)]
remove i830 reference
Alan Hourihane [Mon, 19 Mar 2007 11:40:05 +0000 (11:40 +0000)]
Remove old i830 kernel driver.
Nian Wu [Mon, 19 Mar 2007 09:00:31 +0000 (17:00 +0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Dave Airlie [Sun, 18 Mar 2007 22:20:04 +0000 (09:20 +1100)]
more return values fixup
Dave Airlie [Sun, 18 Mar 2007 22:12:08 +0000 (09:12 +1100)]
fixup return values in drm ioctl
Dave Airlie [Sun, 18 Mar 2007 21:56:24 +0000 (08:56 +1100)]
more whitespace issues
Dave Airlie [Sun, 18 Mar 2007 21:46:39 +0000 (08:46 +1100)]
cleanup ioctl expansion code
Dave Airlie [Sun, 18 Mar 2007 21:46:25 +0000 (08:46 +1100)]
oops missing else
Dave Airlie [Sun, 18 Mar 2007 21:36:01 +0000 (08:36 +1100)]
make drm fops const from kernel
Dave Airlie [Sun, 18 Mar 2007 21:32:25 +0000 (08:32 +1100)]
use ARRAY_SIZE
Dave Airlie [Sun, 18 Mar 2007 21:29:07 +0000 (08:29 +1100)]
more tab/space conversion
Dave Airlie [Sun, 18 Mar 2007 21:23:43 +0000 (08:23 +1100)]
whitespace cleanup pending a kernel merge
Dave Airlie [Sun, 18 Mar 2007 21:09:21 +0000 (08:09 +1100)]
clean up more of inline functions agp_remap/drm_lookup_map
Dave Airlie [Sun, 18 Mar 2007 10:45:07 +0000 (21:45 +1100)]
deinline agp_remap along lines of kernel
Dave Airlie [Sun, 18 Mar 2007 10:42:48 +0000 (21:42 +1100)]
remove drm_lookup_map unused now
Nian Wu [Wed, 14 Mar 2007 09:00:27 +0000 (17:00 +0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Oliver McFadden [Tue, 13 Mar 2007 14:48:01 +0000 (14:48 +0000)]
r300: Renamed the CACHE_CTLSTAT values to include UNKNOWN in the name; not
enough information is known about them to be sure as to what the values mean.
Nian Wu [Tue, 13 Mar 2007 09:00:31 +0000 (17:00 +0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Oliver McFadden [Tue, 13 Mar 2007 06:25:04 +0000 (06:25 +0000)]
Add defines for the values written to R300_RB3D_ZCACHE_CTLSTAT.
Note that just like the values written to R300_RB3D_DSTCACHE_CTLSTAT these
values are really unknown; ideally more reverse engineering should be done to
determine what these values mean and when they should be set.
Ben Skeggs [Tue, 13 Mar 2007 03:51:55 +0000 (14:51 +1100)]
nouveau: make sure cmdbuf object gets destroyed
Ben Skeggs [Tue, 13 Mar 2007 03:18:03 +0000 (14:18 +1100)]
nouveau: associate all created objects with a channel + cleanups
Ben Skeggs [Tue, 13 Mar 2007 02:43:14 +0000 (13:43 +1100)]
nouveau: s/fifo/channel/
Oliver McFadden [Tue, 13 Mar 2007 01:19:56 +0000 (01:19 +0000)]
Corrected values written to R300_RB3D_DSTCACHE_CTLSTAT to either
R300_RB3D_DSTCACHE_02 or R300_RB3D_DSTCACHE_0A, rather than hexadecimal values.
Oliver McFadden [Tue, 13 Mar 2007 00:50:05 +0000 (00:50 +0000)]
Guess another unknown register used for R300 pacification.
Nian Wu [Mon, 12 Mar 2007 01:03:40 +0000 (09:03 +0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Patrice Mandin [Sun, 11 Mar 2007 13:02:40 +0000 (14:02 +0100)]
nouveau: PUT,GET, not 2xPUT
Nian Wu [Wed, 7 Mar 2007 21:01:50 +0000 (16:01 -0500)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Thomas Hellstrom [Wed, 7 Mar 2007 08:19:57 +0000 (09:19 +0100)]
Add via CX700.
Nian Wu [Mon, 5 Mar 2007 14:01:45 +0000 (09:01 -0500)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Dave Airlie [Sun, 4 Mar 2007 08:10:46 +0000 (19:10 +1100)]
radeon: make PCI GART aperture size variable, but making table size variable
This is precursor to getting a TTM backend for this stuff, and also
allows the PCI table to be allocated at fb 0
Dave Airlie [Sun, 4 Mar 2007 07:13:34 +0000 (18:13 +1100)]
ati: make pcigart code able to handle variable size PCI GART aperture
This code doesn't enable a variable aperture it just modifies the codebase
to allow me fix it up later
Nian Wu [Thu, 1 Mar 2007 14:02:09 +0000 (09:02 -0500)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Nian Wu [Wed, 28 Feb 2007 14:00:12 +0000 (09:00 -0500)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Ben Skeggs [Wed, 28 Feb 2007 04:14:08 +0000 (15:14 +1100)]
nouveau: intrusive drm interface changes
graphics objects:
- No longer takes flags/dmaobj parameters, requires some major changes
to the ddx to setup the object through the FIFO. This change is
likely to cause breakages on some cards (tested on NV05,NV28,NV35,
NV40 and NV4E).
dma objects:
- now takes a "class" parameter, not really used yet but we may need
it at some point.
- parameters are checked, so clients can't randomly create DMA objects
pointing at whatever they feel like.
misc:
- Added FB_SIZE/AGP_SIZE getparams
- Read PFIFO_INTR in PFIFO irq handler, not PMC_INTR
- Dump PGRAPH trap info on PGRAPH_INTR_NOTIFY if NSOURCE isn't
NOTIFICATION_PENDING.
Nian Wu [Tue, 27 Feb 2007 19:42:26 +0000 (14:42 -0500)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Jay Estabrook [Tue, 27 Feb 2007 08:55:08 +0000 (08:55 +0000)]
Fix Alpha domain/bus issue
Thomas Hellstrom [Mon, 26 Feb 2007 17:17:54 +0000 (18:17 +0100)]
Fix build for 2.6.21-rc1.
The vm subsystem of 2.6.21 is fully compatible with the buffer object
vm code.
Nian Wu [Mon, 26 Feb 2007 01:06:13 +0000 (17:06 -0800)]
Merge git://proxy01.pd.intel.com:9419/git/mesa/drm into crestline
Jakob Bornecrantz [Sat, 24 Feb 2007 23:48:26 +0000 (10:48 +1100)]
drm: remove unnecessary NULL checks, and fix some indents..
Thomas Hellstrom [Thu, 22 Feb 2007 16:04:20 +0000 (17:04 +0100)]
Some fencing cleanup.
Dave Airlie [Sun, 18 Feb 2007 06:59:40 +0000 (17:59 +1100)]
drm: remove last usage of VM_OFFSET
Thomas Hellstrom [Fri, 16 Feb 2007 19:25:26 +0000 (20:25 +0100)]
Leftover files from previous commit.
Thomas Hellstrom [Fri, 16 Feb 2007 19:22:24 +0000 (20:22 +0100)]
Simple fence object sample driver for via, based on idling the GPU.
Buffer object driver for via.
Some changes to buffer object driver callbacks.
Improve fence flushing.
Thomas Hellstrom [Thu, 15 Feb 2007 11:10:33 +0000 (12:10 +0100)]
Initial support for fence object classes.
(Fence objects belonging to different command submission mechanisms).
Michel Dänzer [Thu, 15 Feb 2007 08:26:16 +0000 (09:26 +0100)]
Fix build against older kernels.
Thomas Hellstrom [Wed, 14 Feb 2007 14:33:40 +0000 (15:33 +0100)]
Merge branch 'ttm-vram-0-1-branch'
Thomas Hellstrom [Wed, 14 Feb 2007 14:32:08 +0000 (15:32 +0100)]
Fix multiple spinlock unlocking
Thomas Hellstrom [Wed, 14 Feb 2007 13:10:10 +0000 (14:10 +0100)]
Rename drm_ttm.h to drm_objects.h
Fix up some header incompatibilities in drm_fence.c caused by the previous
commit.
Thomas Hellstrom [Wed, 14 Feb 2007 13:05:40 +0000 (14:05 +0100)]
Move fence- and buffer-object related header stuff to drm_ttm.h
Thomas Hellstrom [Wed, 14 Feb 2007 12:31:35 +0000 (13:31 +0100)]
Remove an intel-specific hack and replace it with a fence driver callback.
Thomas Hellstrom [Wed, 14 Feb 2007 11:39:02 +0000 (12:39 +0100)]
Set the drm bus map type for each buffer object memory type.
Thomas Hellstrom [Wed, 14 Feb 2007 09:49:37 +0000 (10:49 +0100)]
Rework buffer object vm code to use nopfn() for kernels >= 2.6.19.