Commit Graph

1010 Commits (87b46bd436074572b3a62e2fb7ec85a1db8df892)

Author SHA1 Message Date
Dave Airlie a5cf4cc369 fix unbalanced lock and make sure mode list has modes so lvds code doesn't crash 2007-04-12 11:28:55 +10:00
Dave Airlie 981f8156de allow framebuffer changes on the crtc setup 2007-04-12 08:54:31 +10:00
Dave Airlie a81558d8b3 add getfb ioctl 2007-04-12 08:45:40 +10:00
Jesse Barnes 2e21779992 Add new buffer object type for kernel allocations that don't initially have a user mapping. 2007-04-11 12:51:52 -07:00
Jesse Barnes 63d4d40463 Fix i2c unregistration, cleanup panel_fixed_mode assignment. 2007-04-11 11:46:37 -07:00
Jesse Barnes 425da42e95 Whitespace cleanups. 2007-04-11 11:44:54 -07:00
Jesse Barnes c731b68091 Fix EDID pixel clock calculation. 2007-04-11 11:42:00 -07:00
Jesse Barnes cc7faa4de8 fix modeset cleanup for LVDS and reenable it in i915. 2007-04-11 07:21:24 -07:00
Jesse Barnes dd00aa5851 export vblank routine for use by intel_display.c and intel_sdvo.c. 2007-04-11 07:08:48 -07:00
Jesse Barnes f35db66906 Fixup DDC probing. We only have one DDC bus so we have to use it only
on demand, and unregister when we're done.
2007-04-11 07:08:29 -07:00
Jesse Barnes 78598fdaa8 Various changes for in-kernel modesetting:
- allow drm_buffer_object_create to be called w/o dev_mapping
  - fixup i915 init code to allocate memory, fb and set modes right
  - pass fb to drm_initial_config for setup
  - change some debug output to make it easier to spot
  - fixup lvds code to use DDC probing correctly
2007-04-11 07:07:54 -07:00
David Airlie 7e48d47fb5 line_length calculation was incorrect.. I now can get fbcon to run 2007-04-11 17:35:00 +10:00
David Airlie 0392badd84 oops for 32 pitch.. hey I can see stuff on fbcon now.. it looks like text.. just a bit garbled 2007-04-11 17:25:37 +10:00
David Airlie 1147fefed8 fixup framebuffer depth 2007-04-11 17:13:57 +10:00
David Airlie a6cc6a778f add support for setting a framebuffer depth 2007-04-11 17:13:45 +10:00
Dave Airlie c582eaac19 add copyright statement 2007-04-11 16:34:40 +10:00
Dave Airlie 32f6a58db2 add initial drm_fb framebuffer
So far I can load fbcon, once I use my miniglx to add a framebuffer.
fbcon doesn't show anything on screen but baby steps and all that.
2007-04-11 16:33:03 +10:00
Dave Airlie 9d12da5917 only bo finish at driver unload 2007-04-11 14:34:22 +10:00
root 7e58276c76 Revert "Remove some delays from Intel i2c code, we'll need a more comprehensive fix"
This reverts commit c033698988.

this break SDVO
2007-04-11 13:40:50 +10:00
David Airlie 44be9c9d59 add an fb count + id get to the get resources code path 2007-04-11 13:26:21 +10:00
David Airlie 3e994a56be use fb pitch and fix up some whitespace 2007-04-11 13:26:21 +10:00
Jesse Barnes f50eec752c Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101 2007-04-10 17:58:30 -07:00
David Airlie b62ffb8e91 fixup calculation to make sdvo work 2007-04-11 09:56:09 +10:00
Jesse Barnes 44a8761302 Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
Conflicts:

	linux-core/drm_crtc.c - trivial merge
	linux-core/drm_crtc.h - trivial merge
	linux-core/intel_display.c - crtc_config -> mode_config
	shared-core/i915_dma.c - accommodate new init code in i915_init.c
2007-04-10 10:45:55 -07:00
Jesse Barnes e114b981bc Export drm_setup for use by new driver init code. 2007-04-10 10:31:58 -07:00
Jesse Barnes b59285d738 Move i915 init code to new file, i915_init.c, and create a new high level
init routine that runs at driver load time.
2007-04-10 10:31:10 -07:00
Jesse Barnes 8785679f89 Remove some debug #if 0 codes and add a reminder to check locking around
output enumeration stuff.
2007-04-10 09:49:02 -07:00
Jesse Barnes c033698988 Remove some delays from Intel i2c code, we'll need a more comprehensive fix
in the Linux i2c layer to make DDC reliable on old monitors.
2007-04-10 09:48:20 -07:00
Jesse Barnes 183cbd92dd 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
2007-04-10 09:47:37 -07:00
David Airlie 50672adb31 add sdvo debugging output 2007-04-10 16:49:36 +10:00
David Airlie b9c7fa55e2 fixup sarea writes for set pipe base and dpms 2007-04-10 16:32:17 +10:00
David Airlie 23a66fd506 fixup true/false in intel_sdvo.c 2007-04-10 16:26:07 +10:00
David Airlie f1476e4e5c re-tab and fixup the i915GM get core clock function to actually work 2007-04-10 16:25:52 +10:00
David Airlie 1e39dc4323 export output name to userspace 2007-04-10 16:25:31 +10:00
David Airlie 40bd6dcd86 set the base address of the CRTC correctly 2007-04-10 15:20:50 +10:00
David Airlie 65f465ed5a fixup numerous issues with adding framebuffer support
This still isn't perfect but it fixes a few oopses and cleans up
some of the tabs and bugs in the original fb limit code
2007-04-10 14:49:49 +10:00
Jesse Barnes c446bf50e3 Slam in most of X.Org's i830_lvds (not quite done yet so removed from Makefile.kernel too). 2007-04-09 20:46:38 -07:00
David Airlie eb9bdc2787 mode: fixup problems with framebuffer add function 2007-04-10 11:51:31 +10:00
Dave Airlie ed0ebd9d3d make crtc_config be named mode_config
X.org calls this crtc_config but this is a bad name and will confuse ppl later
(and me now :-)
2007-04-10 18:56:02 +10:00
Jakob Bornecrantz b50bda002b add addfb/rmfb ioctls
Originally from Jakob, cleaned up by airlied.
2007-04-10 18:44:47 +10:00
Jesse Barnes 7e2b1a6cf5 Fix refresh calculation (mistakenly removed 1000 factor needed for integer calulations, fixed mode printout debugging routine instead). 2007-04-09 08:52:53 -07:00
Dave Airlie a70f8e0ab2 radeon: add support for reverse engineered xpress200m
The IGPGART setup code was traced using mmio-trace on fglrx by myself
and Phillip Ezolt <phillipezolt@gmail.com> on dri-devel.

This code doesn't let the 3D driver work properly as the card has no
vertex shader support.

Thanks to Matthew Garrett + Ubuntu for providing me some hardware to do this
work on.
2007-04-09 21:52:59 +10:00
Jesse Barnes ab7ee9c1af remove a printk to make things less verbose 2007-04-07 19:26:55 -07:00
Jesse Barnes 2430d0c315 just codingstyle cleanups 2007-04-07 19:25:25 -07:00
Jesse Barnes 491ed9e4c2 document drm_mode_duplicate and fix vrefresh calculation (off by 1000 error) 2007-04-07 19:24:53 -07:00
Jesse Barnes 13d4ea90c0 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
2007-04-07 19:24:09 -07:00
Jesse Barnes a35ba455b2 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.
2007-04-07 19:22:39 -07:00
Dave Airlie b25558bb73 fixup install target, not sure what I was smokin... 2007-04-07 07:21:05 +10:00
Eric Anholt 1c9ba24c2f Add required permission notices for code copied from X.Org source. 2007-04-05 11:34:11 -07:00
Jesse Barnes 50ee722e01 Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101 2007-04-05 09:27:12 -07:00
Jesse Barnes 6f3534a13a Add copyrights before I forget 2007-04-05 09:21:31 -07:00
Dave Airlie 652bbb77f6 add back compat for bool 2007-04-05 20:20:33 +10:00
Dave Airlie b4094864f1 checkpoint commit: implement SetCrtc so modes can in theory be set from user
This hooks up the userspace mode set it "seems" to work.
2007-04-05 18:01:02 +10:00
Dave Airlie 7bb112feca 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.
2007-04-05 17:06:42 +10:00
Dave Airlie 5bffbd6e27 initial userspace interface to get modes 2007-04-05 13:34:50 +10:00
Dave Airlie 52f9028c84 Initial import of modesetting for intel driver in DRM 2007-04-05 11:21:06 +10:00
Dave Airlie 8fe8793a0f borrow edid.h from fb directory 2007-04-05 11:20:23 +10:00
Dave Airlie 9c79371659 add an install target to the drm modules makefile 2007-04-05 11:18:00 +10:00
Thomas Hellstrom c496827921 Fix user object reference when caller is not object creator.
(Reported by Dave Airlie).
2007-04-03 10:54:23 +02:00
Thomas Hellstrom 38d18acb8f 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.
2007-04-03 10:29:15 +02:00
Thomas Hellstrom 7743af9449 Evicted no-move buffers can get lost if they end up in another
memory type than local.
2007-04-03 10:29:14 +02:00
Thomas Hellstrom d85e243259 Fix an oops when trying to clean a not yet initialized memory type. 2007-04-03 10:29:14 +02:00
Thomas Hellstrom 72d457fc19 Make sure CMA (Can't map aperture) pages are mapped uncached.
(Should really make this write-combined using PATs, at some point).
2007-04-03 10:29:14 +02:00
Dave Airlie 3f70518f0b drm/bo: avoid oops if the memory manager for this type isn't initialised 2007-03-29 09:25:04 +10:00
Dave Airlie 81b811da37 drm/i915: set the bo up at firstopen time not after DMA init
This is required to use TTM to allocate the ring buffer.
2007-03-27 18:01:31 +10:00
Dave Airlie 72a1190f6d 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.
2007-03-27 17:59:30 +10:00
Ben Skeggs 674cefd4fe 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
2007-03-26 20:59:37 +10:00
Dave Airlie 5ad43f4675 vm: cleanup drm_vm.c along lines of cleanups queued for kernel 2007-03-24 17:58:27 +11:00
Dave Airlie 8d918b0b63 cleanup more whitespace from ttm merge 2007-03-23 14:56:39 +11:00
Dave Airlie 39795501a8 drm: remove second spinlock init for tasklet lock 2007-03-23 14:56:28 +11:00
Dave Airlie 209870a882 rename badly named define 2007-03-20 10:13:58 +11:00
Alan Hourihane ef71b6230b remove i830 reference 2007-03-19 11:46:35 +00:00
Alan Hourihane cbe31d0dc7 Remove old i830 kernel driver. 2007-03-19 11:46:35 +00:00
Dave Airlie 1e77e52755 more return values fixup 2007-03-19 09:20:04 +11:00
Dave Airlie 46fac17082 fixup return values in drm ioctl 2007-03-19 09:12:08 +11:00
Dave Airlie c991f8e049 cleanup ioctl expansion code 2007-03-19 08:46:39 +11:00
Dave Airlie a2e3bae8e2 oops missing else 2007-03-19 08:46:25 +11:00
Dave Airlie bbb6fc9307 make drm fops const from kernel 2007-03-19 08:36:01 +11:00
Dave Airlie 483f6a113d use ARRAY_SIZE 2007-03-19 08:32:25 +11:00
Dave Airlie 2d7ecb8422 more tab/space conversion 2007-03-19 08:29:07 +11:00
Dave Airlie 2463b03cb4 whitespace cleanup pending a kernel merge 2007-03-19 08:23:43 +11:00
Dave Airlie 6c4428d40c clean up more of inline functions agp_remap/drm_lookup_map 2007-03-19 08:09:21 +11:00
Dave Airlie 27197d7836 deinline agp_remap along lines of kernel 2007-03-18 21:45:07 +11:00
Dave Airlie c4808e206b remove drm_lookup_map unused now 2007-03-18 21:42:48 +11:00
Maarten Maathuis 6a60b47d12 replace instance of SA_SHIRQ with IRQF_SHARED
backwards compat added by airlied
2007-03-11 12:13:58 +11:00
Dave Airlie c9178c3d01 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
2007-03-04 18:16:29 +11:00
Jay Estabrook 6a51da7325 Fix Alpha domain/bus issue 2007-02-27 08:56:20 +00:00
Thomas Hellstrom 80468e7532 Fix build for 2.6.21-rc1.
The vm subsystem of 2.6.21 is fully compatible with the buffer object
vm code.
2007-02-26 18:17:54 +01:00
Thomas Hellstrom 2b7a9afa09 Some fencing cleanup. 2007-02-22 17:04:20 +01:00
Dave Airlie a253de2fcf drm: remove last usage of VM_OFFSET 2007-02-18 17:59:40 +11:00
Thomas Hellstrom 6d8ed5aedd Leftover files from previous commit. 2007-02-16 20:25:26 +01:00
Thomas Hellstrom e0f53e59be 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.
2007-02-16 20:22:24 +01:00
Thomas Hellstrom 7766378d97 Initial support for fence object classes.
(Fence objects belonging to different command submission mechanisms).
2007-02-15 12:11:38 +01:00
Michel Dänzer 7803977aa9 Fix build against older kernels. 2007-02-15 09:26:16 +01:00
Thomas Hellstrom a78f70faad Merge branch 'ttm-vram-0-1-branch' 2007-02-14 15:33:40 +01:00
Thomas Hellstrom 35eb12d8bf Fix multiple spinlock unlocking 2007-02-14 15:32:08 +01:00
Thomas Hellstrom 1345076c8f Rename drm_ttm.h to drm_objects.h
Fix up some header incompatibilities in drm_fence.c caused by the previous
commit.
2007-02-14 14:10:10 +01:00
Thomas Hellstrom 8ffc1844b0 Move fence- and buffer-object related header stuff to drm_ttm.h 2007-02-14 14:05:40 +01:00
Thomas Hellstrom 5c9a7b0f94 Remove an intel-specific hack and replace it with a fence driver callback. 2007-02-14 13:31:35 +01:00
Thomas Hellstrom 04760563b8 Set the drm bus map type for each buffer object memory type. 2007-02-14 12:39:02 +01:00