Commit Graph

6864 Commits (7b67fec649b07cd5ded66814ba799b09b4d407c8)

Author SHA1 Message Date
Robert Noland cdd3e9fc56 [FreeBSD] Rework all of the memory allocations
Allocate memory from different pools.  This allows the OS to track memory
allocations for us, much like the linux memory debugging.  This will ease
tracking down memory leaks since the OS can track the number of allocations
from each pool and help to point us in the right direction.  Also replace
drm_alloc and friends with static __inline__ versions while we are here.
2008-10-10 13:06:22 -04:00
Robert Noland 1150a42d43 [FreeBSD] Fix linux list compat list_for_each_safe()
linux_for_each_safe would not handle lists with a single entry.
2008-10-09 22:13:26 -04:00
Robert Noland a8f73c214d i915: Cleanup interrupt handling 2008-10-09 22:11:55 -04:00
Keith Packard 94c88c151c Manage fences in user-mode bufmgr_fake to clean buffers
When using bufmgr_fake without DRM, the X server idles the ring whenever it
wants to wait for something to complete (brutal, but effective). In this
case, bufmgr_fake must treat the pending fence as having passed. However, it
wasn't recording the fences as it emitted them, nor cleaning buffers as they
passed.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-10-09 18:25:58 -07:00
Eric Anholt 3169d9639b intel: Protect bufmgr objects with a pthread mutex.
We want to be able to use the bufmgr from multiple threads for GL, and thus
we need to protect the internal structures.

The pthread-stubs package is used so that programs not linked against
pthreads get weak symbols to stubs and don't eat most of the cost.
2008-10-09 12:57:09 -07:00
Xiang, Haihao 604759d4a7 intel: fix for write_domain and static BOs.
http://bugs.freedesktop.org/show_bug.cgi?id=17705
2008-10-09 11:59:29 +08:00
Alex Deucher e4fa03f7dd radeon: pull in recent fixes from ddx
- fixup atom digital encoder setup
- pull in add get edid (currently disabled due to
  lack of support for atom fb/scratch space)
2008-10-07 14:10:39 -04:00
Alex Deucher 728d8e226f radeon: add comment to clarify bus mastering on PCIE chips 2008-10-06 12:12:49 -04:00
Alex Deucher 6f9dfa098f radeon: fix duplicate define in my last commit
That's what I get for committing at 3 AM.
2008-10-06 12:01:11 -04:00
Dave Airlie 8e5f5ed189 radeon: PCIE cards don't appear to have explicit bus master 2008-10-07 04:47:54 +10:00
Dave Airlie d0aff12052 drm: add create gpu tree script 2008-10-07 04:07:40 +10:00
Alex Deucher 4b98f6d74f radeon: fix bus master enabled bits on newer asics 2008-10-06 03:08:27 -04:00
Dave Airlie 4d1031a9f0 radeon: fix alignment so Xv works again 2008-10-06 16:40:45 +10:00
Dave Airlie 4a4d7727c6 radeon: fix pin ioctl interface to mesa can find offset for pinned buffers 2008-10-06 16:40:20 +10:00
Dave Airlie a981a68603 drm/radeon: fixup clean flag handling 2008-10-06 16:39:25 +10:00
Mihail Zenkov 5a36cce349 radeon: fix missing bit from rs740 patch
See bug 17908
2008-10-06 00:49:15 -04:00
Alex Deucher ce40261012 radeon: Add support for HD2100 IGP (RS740) 2008-10-04 20:43:21 -04:00
Robert Noland 60cf3a4db4 [FreeBSD] Don't explicitly bzero driver softc.
This is already handled for us.

Suggested by John Baldwin
2008-10-03 14:11:20 -04:00
Robert Noland 9c0ce38df3 [FreeBSD] Use M_WAITOK when allocating driver memory.
We don't explicitly check for error here and M_WAITOK will just put the
process to sleep waiting on resources to become available.

Suggested by John Baldwin
2008-10-03 14:05:45 -04:00
Robert Noland 4c92abfa8d [FreeBSD] Do a bit of optimization on drm_order() 2008-10-03 13:56:50 -04:00
Robert Noland 81952c7dd1 Use devfs_get_cdevpriv in mmap as well.
d_mmap gets called twice and we are only able to associate the file_priv
during the first call.  The second call will return EBADF and we need to
assume that the call was succesful.  d_mmap will not tolerate having an
error returned for the second call.
2008-10-01 20:49:03 -04:00
Jesse Barnes af2323b4b3 intel bufmgr: reinstate buffer handle tracking
We need a way of getting at the underlying handle for use with mode
setting.  We can either export it in the dri_bo object or provide a new
callback to get it.
2008-09-30 16:35:53 -07:00
Dave Airlie 7b3aa62648 Merge remote branch 'origin/modesetting-gem' into modesetting-gem 2008-09-30 14:17:27 +10:00
Dave Airlie 972f657265 Merge remote branch 'origin/master' into modesetting-gem
Conflicts:

	libdrm/Makefile.am
	libdrm/dri_bufmgr.h
	linux-core/drm_irq.c
	linux-core/drm_sysfs.c
	linux-core/drm_ttm.c
	shared-core/i915_dma.c
	shared-core/i915_irq.c
	shared-core/nouveau_drv.h
	shared-core/radeon_cp.c
2008-09-30 14:13:49 +10:00
Xiang, Haihao 073cb5ee1d intel: Copy data from card memory back to backing store when mapping.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=17705
2008-09-27 11:01:24 +08:00
Alex Deucher 9c6732e790 radeon: use atom for ext tmds on r4xx 2008-09-26 17:32:15 -04:00
Alex Deucher 09b2dfcedc radeon: make atom on r4xx a module option
default is legacy modesetting.  pass module option r4xx_atom
to try using atom on r4xx.
2008-09-26 17:20:04 -04:00
Alex Deucher 89126bb58e Merge branch 'modesetting-gem' of git+ssh://agd5f@git.freedesktop.org/git/mesa/drm into modesetting-gem 2008-09-25 18:47:47 -04:00
Alex Deucher d883347f08 radeon: first pass at using atombios on r4xx hw 2008-09-25 18:45:07 -04:00
Jakob Bornecrantz ea9711b954 Seperate modesetting userspace bits into drm_mode.h 2008-09-25 23:13:19 +02:00
Dave Airlie 35e379ce5a radeon: add r600 modesetting registers writes 2008-09-24 15:25:35 +10:00
Dave Airlie dcf73de059 radeon: add parsing for r6xx object tables 2008-09-24 13:58:26 +10:00
Eric Anholt 2db8e0c8ef intel: Allow up to 15 seconds chewing on one buffer before acknowledging -EBUSY.
The gltestperf demo in some cases took over seven seconds to make it through
one batchbuffer on a GM965.

Bug #17004.
2008-09-23 17:10:04 -07:00
Eric Anholt 0dccf017ab intel: Replace wraparound test logic in bufmgr_fake. Again.
I'd swapped the operands, so if we weren't in lockstep with the hardware we
said the sequence was always passed.  Additionally, a race was available that
we might have failed at recovering from.  Instead, I've replaced the logic
with new stuff that should be more robust and not rely on all the parties in
userland following the same IRQ_EMIT() == 1 protocol.  Also, in a radical
departure from past efforts, include a long comment describing the failure
modes and how we're working around them.

Thanks to haihao for catching the original issue.
2008-09-23 17:10:04 -07:00
Eric Anholt 1b3abe62b5 intel: Do strerror on errno, not on the -1 return value from ioctl. 2008-09-23 17:10:04 -07:00
Kristian Høgsberg 840c9a3054 Update intel modesetting to use mm_private instead of mm_handle. 2008-09-23 16:52:06 +10:00
Dave Airlie 0130aa0de9 radeon: fix minor cursor issues 2008-09-23 16:50:39 +10:00
Kristian Høgsberg 3d18257293 radeon: Fix type in check for tmds type. 2008-09-23 16:50:22 +10:00
Kristian Høgsberg 5fdfbee22a Store the buffer object backing the fb as a void pointer, not a handle.
This lets us defer handle creation until userspace acutally asks for
one, at which point we also have a drm_file to associate it with.
2008-09-23 16:49:32 +10:00
Dave Airlie a2216491c6 drm: fix brace placement 2008-09-23 15:36:50 +10:00
Xiang, Haihao 3949f3c9ea intel: Fix driver-supplied argument to exec function (fd.o bug #17653). 2008-09-22 10:16:19 +08:00
Alex Deucher 66237cd3c2 radeon: rmx_fixup() fixes for legacy chips 2008-09-19 11:19:00 -04:00
Dave Airlie d6b853cf81 radeon: fix voverplus calculation 2008-09-20 00:48:11 +10:00
Dave Airlie dc3a6834f6 radeon: tmds bracket failure found by krh. 2008-09-19 08:03:34 +10:00
Alex Deucher 075ed1d6fd radeon: pll and interlace updates from the ddx
also some formatting cleanup in radeon_reg.h
2008-09-18 17:27:00 -04:00
Alex Deucher 6988176195 radeon: Add functions to set mem/eng clocks 2008-09-18 16:42:22 -04:00
Alex Deucher 34af71c42a radeon: add function to configure PCIE lanes 2008-09-18 16:07:41 -04:00
Alex Deucher e1e782af5d Radeon: restructure PLL data
- store pixel clocks, core clock, and memory clocks separately
- grab all pll limits from bios tables
2008-09-18 15:11:48 -04:00
Alex Deucher 6d0de5a899 Export drm_put_minor 2008-09-18 14:30:05 -04:00
Robert Noland 8ca06eb492 [FreeBSD] Convert to using cdevpriv for file_priv tracking 2008-09-17 23:15:08 -04:00