Commit Graph

1587 Commits (f78cdac8e512642db1aaf09bf9178e23ede25586)

Author SHA1 Message Date
Dave Airlie f78cdac8e5 fixup previous merge 2008-03-05 15:28:59 +10:00
Dave Airlie 4dbf447f43 drm: fixup compat with old x.org drivers 2008-03-05 15:28:38 +10:00
Dave Airlie 43891ff2d0 Merge remote branch 'origin/master' into modesetting-101
Conflicts:

	linux-core/drm_compat.c
2008-03-05 10:37:02 +10:00
Eric Anholt d41846adb7 Clarify through the names what drm_ttm_alloc_pages() and friend actually did.
These are all about the page directory (pointers to pages) rather than the
actual pages backing the allocation.
2008-03-04 13:40:46 -08:00
Patrice Mandin 09999c90ab FIX_KMAP_BEGIN requires CONFIG_HIMEM (see include/asm-i386.h/fixmap.h) 2008-02-29 21:57:40 +01:00
Thomas Hellstrom 1d068973d5 Fix compilation breakage on x86-64. 2008-02-29 13:32:25 +01:00
Dave Airlie cdbd616ea5 agp: export the correct symbol 2008-02-29 10:16:24 +10:00
Thomas Hellstrom 8ef838e5ff Add a compat kmap_atomic_prot_pfn to do quick kernel map / unmaps of
PCI- or high memory.
This is substantially more efficient than drm_bo_kmap,
since the mapping only lives on a single processor.
Unmapping is done use kunmap_atomic(). Flushes only a single tlb() entry.

Add a support utility int drm_bo_pfn_prot() that returns the
pfn and desired page protection for a given bo offset.

This is all intended for relocations in bound TTMS or vram.
Mapping-accessing-unmapping must be atomic, either using preempt_xx() macros
or a spinlock.
2008-02-28 14:06:46 +01:00
Dave Airlie 01dcc47d89 drm: add modesetting as a driver feature.
This change adds a driver feature that for i915 is controlled by a module
parameter. You now need to do insmod i915.ko modeset=1 to enable it the
modesetting paths.

It also fixes up lots of X paths. I can run my new DDX driver on this code
with and without modesetting enabled
2008-02-28 16:24:17 +10:00
Jerome Glisse 75c9e0d346 radeon: remove TTM from an earlier merge 2008-02-26 23:30:45 +01:00
Alan Hourihane 1e66322633 Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Conflicts:

	shared-core/i915_dma.c
2008-02-26 15:42:41 +00:00
Alan Hourihane 73cb02b543 DRM_INFO -> DRM_DEBUG 2008-02-26 15:21:44 +00:00
Alan Hourihane 191385d518 DRM_INFO -> DRM_DEBUG 2008-02-26 15:20:59 +00:00
Alan Hourihane 89f65c50d7 define PRETHAW 2008-02-26 15:20:29 +00:00
Alan Hourihane 2476cb209e Implement short circuit for base change only
Allow mode to be set with fb_id set to -1, meaning set
the mode with the current fb (if we have one bound).

Allow intelfb to hook back up it's fb if modesetting
clears it (maybe temporary).

Move any crtc->fb related register changes to set_base
in intel_fb.

General intelfb cleanups.
2008-02-26 15:19:34 +00:00
Dave Airlie 879fb12e28 drm: fix pick crtcs mode selection code 2008-02-26 17:11:03 +11:00
Jesse Barnes 20d0e53916 i915: put ARX back into index mode before doing restore
Fixes resume from hibernate in some configurations.
2008-02-22 13:57:38 -08:00
Alan Hourihane a72399da2a silence warning 2008-02-22 11:39:21 +00:00
Dave Airlie fad1db2d73 modesetting: fix memory leak and misallocation 2008-02-22 13:49:51 +10:00
Dave Airlie cdad850ebc add ioctl to get back memory managed area sized - used for kernel inited areas 2008-02-22 13:49:51 +10:00
Dave Airlie 0d1cb1e840 hopefully shit works now without this... 2008-02-22 13:49:51 +10:00
Alan Hourihane e85ec6693a Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101 2008-02-21 23:56:27 +00:00
Kristian Høgsberg 32c67922b7 Don't free irq resources until after we've unregistered the handler. 2008-02-21 15:31:48 -05:00
Alan Hourihane ea3de6daa4 Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Conflicts:

	linux-core/drm_sysfs.c
2008-02-21 11:37:07 +00:00
Michel Dänzer 374b41e5bc linux: Clean up vblank related resources from drm_irq_uninstall().
This fixes at least two problems:

* The vblank_disable_fn timer callback could get called after the DRM was
  de-initialized, e.g. on X server shutdown.
* Leak of vblank related resources when disabling and re-enabling the IRQ, e.g.
  on an X server reset.
2008-02-21 11:49:38 +01:00
Alan Hourihane 66cd6bd666 compatibility code for pci_get_bus_and_slot() 2008-02-20 19:55:14 +00:00
Dave Airlie e484681a43 remove more offset 2008-02-20 11:44:10 +10:00
Dave Airlie 8844245cfc drm/fb: get rid of offset from structure use bo offset 2008-02-20 11:27:22 +10:00
Dave Airlie 2c409f9a07 ttm: make sure userspace can't destroy kernel create memory managers 2008-02-20 11:27:22 +10:00
Dave Airlie 6c41e5381f drm: add support for passing state into the suspend hooks.
fix i915 driver to use state for hibernate save avoidance.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-02-20 10:02:20 +10:00
Alan Hourihane 8caf6e9571 Fix up conflicts for DRI2 (untested) 2008-02-19 15:17:24 +00:00
Alan Hourihane f24ed2ad6c Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Conflicts:

	linux-core/i915_fence.c
	linux-core/via_fence.c
	shared-core/i915_dma.c
	shared-core/i915_drv.h
	shared-core/i915_irq.c
2008-02-18 22:35:46 +00:00
Keith Packard 5d8c754bc2 [915]: more registers for S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE)
Failing to preserve the MI_ARB_STATE register was causing FIFO underruns on
the VGA output on my HP 2510p after resume.
2008-02-16 20:14:49 -08:00
Jesse Barnes 2b1c9cd696 i915: initial (and untested) TV out support
Ported from xf86-video-intel.  Still need to tie in TV modes somehow, though
preferably w/o using the properties mechanism.
2008-02-15 16:13:21 -08:00
Dave Airlie 088b383829 fb: fixup the offset by getting it from the right place 2008-02-15 16:42:44 +10:00
Dave Airlie 222092a1a8 various fixes from trying to get userspace started 2008-02-15 16:15:04 +10:00
Dave Airlie 75b01cf996 switch naming to new proposed scheme 2008-02-15 10:04:28 +10:00
Dave Airlie f2f8ace3e1 remove drm_minors_limit 2008-02-15 09:57:30 +10:00
Dave Airlie a4fc1d7ac6 start moving over to proper hierarchy wrt master accesses 2008-02-13 16:30:15 +10:00
Dave Airlie 0fbee62ec1 major port of multi-master ideas into modesetting 2008-02-13 15:19:42 +10:00
Dave Airlie f276c845bd drm: re-write minor number allocation to use an idr.
Fixup the minor number allocation scheme to use an idr and move the control
nodes up higher.
2008-02-13 12:12:52 +10:00
Jesse Barnes d63b57749f Restore pipeconf regs unconditionally
On many chipsets, the checks for DPLL enable or VGA mode will prevent the
pipeconf regs from being restored, which could result in a blank display or X
failing to come back after resume.  So restore them unconditionally along with
actually restoring pipe B's palette correctly.
2008-02-07 17:33:28 -08:00
Alan Hourihane fe83c06861 Revert "DRM_CONTROL_ALLOW logic was reversed"
This reverts commit 7af1bb874d.
2008-02-07 21:18:37 +00:00
Jesse Barnes 8b6c96dedd i915: save/restore interrupt state
On resume, if the interrupt state isn't restored correctly, we may end
up with a flood of unexpected or ill-timed interrupts, which could cause
the kernel to disable the interrupt or vblank events to happen at the
wrong time.  So save/restore them properly.
2008-02-07 10:48:08 -08:00
Jesse Barnes 79d6928520 Fix vblank enable/disable callbacks
There were two problems with the existing callback code:  the vblank
enable callback happened multiple times per disable, making drivers more
complex than they had to be, and there was a race between the final
decrement of the vblank usage counter and the next enable call, which
could have resulted in a put->schedule disable->get->enable->disable
sequence, which would be bad.

So add a new vblank_enabled array to track vblank enable on per-pipe
basis, and add a lock to protect it along with the refcount +
enable/disable calls to fix the race.
2008-02-07 10:40:06 -08:00
Jakob Bornecrantz 0618ac8a07 Added kernel part of hotplug ioctl 2008-02-07 19:24:58 +01:00
Alan Hourihane 7af1bb874d DRM_CONTROL_ALLOW logic was reversed 2008-02-05 15:12:46 +00:00
Alan Hourihane de0084590b fix some warnings 2008-02-05 10:11:46 +00:00
Alan Hourihane 5e81a40f3b build fix for older kernels 2008-02-05 10:11:24 +00:00
Alan Hourihane f2c706e247 Fix function declaration 2008-02-05 10:11:01 +00:00