Subject: CVS commit: src/sys/dev
To: None <source-changes@NetBSD.org>
From: Blair Sadewitz <bjs@netbsd.org>
List: source-changes
Date: 12/07/2007 08:02:49
Module Name:	src
Committed By:	bjs
Date:		Fri Dec  7 08:02:49 UTC 2007

Modified Files:
	src/sys/dev/drm: drm_lock.c
	src/sys/dev/pci/drm: r300_cmdbuf.c radeon_cp.c radeon_drv.h
	    radeon_state.c

Log Message:
Bring in some modest fixes from GIT that seemed appropriate to me and did not
break functionality.  I've tested this on a PCIE R423 (X800).

- In drm_drv.c, check that the requested context lock matches the holder
of the lock.

- Unify radeon offset checking.  (r300_cmdbuf.c, radeon_drv.h, radeon_state.c)
[Replace r300_check_offset() with generic radeon_check_offset(), which doesn't
reject valid offsets when the framebuffer area is at the very end of the card's
32 bit address space. Make radeon_check_and_fixup_offset() use
radeon_check_offset() as well.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=7697]

NOTE: There is another AGP fix that I didn't have time to merge
that I thought might help with getting this to work on macppc.
Contact me if you're interested. Hi macallan@! ;)

radeon_cp.c, radeon_drv.h: (GIT id: bb5f2158dbd30dbbffa3881fac75b71d71ecaaf9)
- set the address to access the aperture on the CPU side correctly
[This code relied on the CPU and GPU address for the aperture being the same,
On some r5xx hardware I was playing with I noticed that this isn't always true.
I wonder if this will fix some of those r4xx DRI issues we've seen in the past.]

- Commit the ring after earch partial texture. (radeon_state.c)
(GIT ID: ac8406420ea80ffe5ccaadc1ff0124f95709a23d)
[Commit the ring after each partial texture upload blit.
This makes sure each blit starts as early as possible, which may improve
texture upload performance in some cases.]

If anyone's having any issues in particular--especially those which
can be _teased apart from AGP driver issues--please let me know
and I'll investigate.  Thanks.  There are also tons of fixes for the i915,
but I don't want to change too much at once.


To generate a diff of this commit:
cvs rdiff -r1.3 -r1.4 src/sys/dev/drm/drm_lock.c
cvs rdiff -r1.3 -r1.4 src/sys/dev/pci/drm/r300_cmdbuf.c \
    src/sys/dev/pci/drm/radeon_state.c
cvs rdiff -r1.4 -r1.5 src/sys/dev/pci/drm/radeon_cp.c
cvs rdiff -r1.2 -r1.3 src/sys/dev/pci/drm/radeon_drv.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.