On Sun, 25 Apr 2010 14:19:04 -0700 "J.C. Roberts"
<[email protected]> wrote:
> On Sun, 11 Apr 2010 18:47:45 +0100 Owain Ainsworth
> <[email protected]> wrote:
>
> > The tarball that may be found at
> > http://xenocara.org/intel-current.tgz contains an update to the
> > intel 2.9.1 driver (the last one that supported userland
> > modesetting) with a load of backports for bugfixes and performance
> > improvements from drivers up to 2.11.
>
> Per request, the kernel, userland, and xenocara were all rebuilt with
> April 24th src checkout. New intel drive above was also rebuilt and
> reinstalled. All tests were repeated, and results were basically the
> same. All the torrid details, console output, X log, kernel, symbols
> and core sent to oga@ off list.
>
> Results:
> 1.) gpu hang still present on vt switching as before.
> 2.) Xv no longer works at all (previously xv worked at resolutions
> of 1280x1024 and below).
The change that killed xv on i845G happened between Apr 17 and Apr
24/25 (inclusive), so every commit to /usr/src/sys/dev/pci/drm has been
built and tested.
xv on i845G works with all of them.
Blithering notes below. I'll start working through the xenocara and
other src commits after I get some sleep.
jcr
***********************************************************************
PASS: xv working (from my tech@ posts)
src:
OpenBSD 4.7-current (GENERIC_GEM) #0: Sat Apr 17 20:09:02 PDT 2010
[email protected]:/usr/src/sys/arch/i386/compile/GENERIC_GEM
xenocara:
Build Date: 18 April 2010 09:21:58PM
Date: Mon, 19 Apr 2010 01:43:02 -0700 --testing new driver reported
xv was working but not noticed. actually reported as working until
Apr 22 but it was using the same build of Apr 17 src, xenocara.
***********************************************************************
FAIL: xv borked (from my tech@ posts)
Per request, the kernel, userland, and xenocara were all rebuilt with
April 24th src checkout. New intel drive above was also rebuilt and
reinstalled. Xv no longer works at all
***********************************************************************
1.) Started with a fresh install of Apr15 snapshot
2.) Restored src and xenocara archives from Apr 17th.
3.) Did a checkout of ports -D "2010-04-17 00:00"
4.) Untarred oga's original intel 2.9.1 archive into xenocara
5.) Build GEM enabled kernel
# GENERIC with INTEL_GEM and DRMDEBUG
include "arch/i386/conf/GENERIC"
option INTELDRM_GEM
option DRMDEBUG
option DRMLOCKDEBUG
total 4572
-rw-r--r-- 1 root wsrc 1700 Nov 28 2007 tdfx_drv.h
-rw-r--r-- 1 root wsrc 2534 Nov 28 2007 sis_drm.h
-rw-r--r-- 1 root wsrc 7071 Nov 28 2007 savage_drm.h
-rw-r--r-- 1 root wsrc 9943 Nov 28 2007 r128_drm.h
-rw-r--r-- 1 root wsrc 181349 Nov 28 2007 mga_ucode.h
-rw-r--r-- 1 root wsrc 12950 Nov 28 2007 mga_drm.h
-rw-r--r-- 1 root wsrc 7895 Nov 28 2007 mach64_drm.h
-rw-r--r-- 1 root wsrc 4092 May 27 2008 drm_atomic.h
-rw-r--r-- 1 root wsrc 58992 Jun 11 2008 radeon_microcode.h
-rw-r--r-- 1 root wsrc 2654 Jul 29 2008 drm_sarea.h
-rw-r--r-- 1 root wsrc 6648 Oct 7 2008 mga_warp.c
-rw-r--r-- 1 root wsrc 2345 Oct 15 2008 drm_linux_list.h
-rw-r--r-- 1 root wsrc 28756 Jan 26 2009 drm.h
-rw-r--r-- 1 root wsrc 5340 Apr 20 2009 drm_heap.c
-rw-r--r-- 1 root wsrc 4178 Apr 20 2009 drm_context.c
-rw-r--r-- 1 root wsrc 8384 Apr 20 2009 drm_agpsupport.c
-rw-r--r-- 1 root wsrc 7446 Apr 20 2009 r128_drv.c
-rw-r--r-- 1 root wsrc 28457 Apr 20 2009 mga_state.c
-rw-r--r-- 1 root wsrc 20223 Apr 20 2009 mga_drv.h
-rw-r--r-- 1 root wsrc 25364 Apr 20 2009 mga_dma.c
-rw-r--r-- 1 root wsrc 24592 Apr 20 2009 mach64_state.c
-rw-r--r-- 1 root wsrc 30345 Apr 20 2009 mach64_drv.h
-rw-r--r-- 1 root wsrc 6014 Apr 20 2009 mach64_drv.c
-rw-r--r-- 1 root wsrc 47718 Apr 20 2009 mach64_dma.c
-rw-r--r-- 1 root wsrc 3123 Apr 20 2009 drm_scatter.c
-rw-r--r-- 1 root wsrc 4012 Apr 20 2009 drm_memory.c
-rw-r--r-- 1 root wsrc 5045 Apr 20 2009 drm_lock.c
-rw-r--r-- 1 root wsrc 2985 Apr 20 2009 tdfx_drv.c
-rw-r--r-- 1 root wsrc 7307 Apr 20 2009 sis_drv.c
-rw-r--r-- 1 root wsrc 30472 Apr 20 2009 savage_state.c
-rw-r--r-- 1 root wsrc 19958 Apr 20 2009 savage_drv.h
-rw-r--r-- 1 root wsrc 7476 Apr 20 2009 savage_drv.c
-rw-r--r-- 1 root wsrc 27611 Apr 20 2009 savage_bci.c
-rw-r--r-- 1 root wsrc 3586 Apr 20 2009 radeon_mem.c
-rw-r--r-- 1 root wsrc 32364 Apr 20 2009 r300_cmdbuf.c
-rw-r--r-- 1 root wsrc 38540 Apr 20 2009 r128_state.c
-rw-r--r-- 1 root wsrc 17703 Apr 20 2009 r128_drv.h
-rw-r--r-- 1 root wsrc 22684 Jun 8 2009 r128_cce.c
-rw-r--r-- 1 root wsrc 25057 Jun 8 2009 drm_bufs.c
-rw-r--r-- 1 root wsrc 4775 Mar 3 10:00 ati_pcigart.c
-rw-r--r-- 1 root wsrc 20114 Apr 4 00:08 i915_drm.h
-rw-r--r-- 1 root wsrc 2199 Apr 4 00:08 files.drm
-rw-r--r-- 1 root wsrc 22436 Apr 4 00:08 r600_blit.c
-rw-r--r-- 1 root wsrc 79497 Apr 4 00:08 r300_reg.h
-rw-r--r-- 1 root wsrc 302 Apr 4 00:08 r600_blit_shaders.h
-rw-r--r-- 1 root wsrc 15281 Apr 4 00:08 r600_blit_shaders.c
-rw-r--r-- 1 root wsrc 611366 Apr 4 00:09 r600_microcode.h
-rw-r--r-- 1 root wsrc 110370 Apr 4 00:09 radeon_cp.c
-rw-r--r-- 1 root wsrc 27765 Apr 4 00:09 radeon_drm.h
-rw-r--r-- 1 root wsrc 91084 Apr 4 00:09 radeon_drv.h
-rw-r--r-- 1 root wsrc 77459 Apr 4 00:09 radeon_state.c
-rw-r--r-- 1 root wsrc 21424 Apr 16 12:55 drmP.h
-rw-r--r-- 1 root wsrc 9672 Apr 16 12:55 drm_irq.c
-rw-r--r-- 1 root wsrc 34621 Apr 16 12:55 drm_drv.c
-rw-r--r-- 1 root wsrc 17622 Apr 16 12:55 i915_dma.c
-rw-r--r-- 1 root wsrc 160696 Apr 16 12:56 i915_drv.c
-rw-r--r-- 1 root wsrc 4852 Apr 16 12:56 mach64_irq.c
-rw-r--r-- 1 root wsrc 8852 Apr 16 12:56 i915_irq.c
-rw-r--r-- 1 root wsrc 80057 Apr 16 12:56 i915_drv.h
-rw-r--r-- 1 root wsrc 3635 Apr 16 12:56 r128_irq.c
-rw-r--r-- 1 root wsrc 4856 Apr 16 12:56 mga_irq.c
-rw-r--r-- 1 root wsrc 6197 Apr 16 12:56 mga_drv.c
-rw-r--r-- 1 root wsrc 9746 Apr 16 12:56 radeon_irq.c
-rw-r--r-- 1 root wsrc 33832 Apr 16 12:56 radeon_drv.c
drwxr-xr-x 2 root wsrc 512 Apr 16 12:56 CVS/
drwxr-xr-x 5 root wsrc 7680 May 20 20:29 ../
drwxr-xr-x 3 root wsrc 1536 May 20 20:30 ./
6.) Built Userland
7.) Built xenocara
8.) Built and installed mplayer and vim
At this point mplayer is working with xv
Though the src checkout/update was from Apr 17, the most relevant files
had not been touched since the 16th.
***********************************************************************
2010.04.17 00:00 UTC (roughly) -working xv
***********************************************************************
2010.04.23 23:59 UTC -working xv
i915_drv.c rev 1.60
i915_drv.h rev 1.53
***********************************************************************
2010.04.25 21:43 UTC -working xv
i915_drv.c rev 1.61
***********************************************************************
2010.04.25 21:45 UTC -working xv
i915_drv.c rev 1.62
***********************************************************************
DRM Locking Rework
2010.04.25 21:53:21 UTC -fails miserably, but xv works
drmP.h rev 1.124
drm_drv.c rev 1.84
i915_drv.c rev 1.63
i915_drv.h rev 1.54
With just the above, system crashes to blind ddb when trying to start X,
but the cause is known and fixed in the "oops" commit.
i915_drv.c
Revision 1.65:
Sun Apr 25 22:10:14 2010 UTC (3 weeks, 4 days ago) by oga
Branches: MAIN
Diff to: previous 1.64: preferred, coloured
Changes since revision 1.64: +0 -1 lines
oops, kill unneeded write lock grabbing that got mixed in when
resolving conflicts.
Manually making this one line deletion fixes the hard crash, and xv
works fine.
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915_drv.c.diff?r1=1.64;r2=1.65;f=h
***********************************************************************
"little performance speedup"
2010.04.25 22:05:10 2010 UTC
i915_drv.c rev 1.64
i915_drv.h rev 1.55
2010.04.25 22:10:14 2010 UTC -working xv
i915_drv.c rev 1.65
***********************************************************************
"When querying if an object is busy, it is if it is marked active"
2010.04.25 22:16:19 2010 UTC
i915_drv.c rev 1.66 -working xv
***********************************************************************
"Argh, commited the wrong diff. This was the reversed test that found the
libdrm bug recently."
2010.04.25 22:35:12 2010 UTC
i915_drv.c rev 1.67 -working xv
***********************************************************************
I'm either looking in the wrong place, or I'm too tired and missed
something that should be obvious.
--
The OpenBSD Journal - http://www.undeadly.org