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

Reply via email to