NetBSD Problem Report #48344

From www@NetBSD.org  Fri Oct 25 22:19:36 2013
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 22FCDA5AF2
	for <gnats-bugs@gnats.NetBSD.org>; Fri, 25 Oct 2013 22:19:36 +0000 (UTC)
Message-Id: <20131025221934.505A8A5B19@mollari.NetBSD.org>
Date: Fri, 25 Oct 2013 22:19:34 +0000 (UTC)
From: jdbaker@mylinuxisp.com
Reply-To: jdbaker@mylinuxisp.com
To: gnats-bugs@NetBSD.org
Subject: X server crashes with "lockup" on certain i810e-based systems
X-Send-Pr-Version: www-1.0

>Number:         48344
>Category:       xsrc
>Synopsis:       X server crashes with "lockup" on certain i810e-based systems
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    xsrc-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Oct 25 22:20:00 +0000 2013
>Closed-Date:    Fri Aug 08 07:55:30 +0000 2014
>Last-Modified:  Fri Aug 08 07:55:30 +0000 2014
>Originator:     John D. Baker
>Release:        NetBSD/i386-6.99.24, NetBSD/i386-6.1_STABLE
>Organization:
>Environment:
NetBSD plextwo 6.99.24 NetBSD 6.99.24 (GENERIC) #40: Thu Oct 24 13:49:06 CDT 2013  sysop@verthandi.technoskunk.fur:/d0/build/current/obj/i386/sys/arch/i386/compile/GENERIC i386

NetBSD plextwo 6.1_STABLE NetBSD 6.1_STABLE (GENERIC) #38: Sun Oct 20 14:17:47 CDT 2013  sysop@yggdrasil.technoskunk.fur:/r0/build/netbsd-6/obj/i386/sys/arch/i386/compile/GENERIC i386

>Description:
The following is from i386-6.99.24.  i386-6.1_STABLE show the same
behavior.

On DELL OptiPlex GX110, using on-board i810e graphics adapter,
attempting to start the X server (native Xorg, no xorg.conf)
immediately after a reboot produces the following:


X.Org X Server 1.10.6
Release Date: 2011-07-08
X Protocol Version 11, Revision 0
Build Operating System: NetBSD/i386  - 
Current Operating System: NetBSD plextwo 6.99.24 NetBSD 6.99.24 (GENERIC) #40: Thu Oct 24 13:49:06 CDT 2013  sysop@verthandi.technoskunk.fur:/d0/build/current/obj/i386/sys/arch/i386/compile/GENERIC i386
Build Date: 01 August 2011  01:01:00AM

Current version of pixman: 0.30.0
        Before reporting problems, check http://wiki.X.Org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Oct 25 19:01:58 2013
(==) Using default built-in configuration (12 lines)
(EE) intel(0): Unknown EDID version 2
(EE) [drm] drmOpen failed.
(EE) intel(0): [dri] DRIScreenInit failed.  Disabling DRI.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Couldn't lookup keysym
>                   Symbol interpretation ignored
> Error:            Couldn't lookup keysym
>                   Symbol interpretation ignored
Errors from xkbcomp are not fatal to the X server
Error in I810WaitLpRing(), now is 204017, start is 202016
pgetbl_ctl: 0x1869001 pgetbl_err: 0x19d5000
ipeir: 0 iphdr: 80f00800
LP ring tail: 9ee0 head: 749c len: f001 start 300000
eir: 0 esr: 9 emr: 3d
instdone: ff7a instpm: 0
memmode: 4 instps: 810
hwstam: 9ac7 ier: 0 imr: 9ac7 iir: 0
space: 54708 wanted 65528

Fatal server error:
lockup


Please consult the The X.Org Foundation support 
         at http://wiki.X.Org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional information.

Error in I810WaitLpRing(), now is 206145, start is 204144
pgetbl_ctl: 0x1869001 pgetbl_err: 0x0
ipeir: 0 iphdr: 80f00800
LP ring tail: 9ee8 head: 749c len: f001 start 300000
eir: 0 esr: 1 emr: 3d
instdone: ff7a instpm: 0
memmode: 4 instps: 810
hwstam: 9ac7 ier: 0 imr: 9ac7 iir: 0
space: 54700 wanted 65528

FatalError re-entered, aborting
lockup


At this point the X server leaves the display adapter in graphics
mode.  The screen displays garbage although the mouse cursor glyph is
rendered properly.  Ctrl-Alt-Fn will switch keyboard focus to another
wscons terminal, but the display is not restored.  I used a serial
console to gather this output.


Subsequent attempts to start the X server produce:

X.Org X Server 1.10.6
Release Date: 2011-07-08
X Protocol Version 11, Revision 0
Build Operating System: NetBSD/i386  - 
Current Operating System: NetBSD plextwo 6.99.24 NetBSD 6.99.24 (GENERIC) #40: Thu Oct 24 13:49:06 CDT 2013  sysop@verthandi.technoskunk.fur:/d0/build/current/obj/i386/sys/arch/i386/compile/GENERIC i386
Build Date: 01 August 2011  01:01:00AM

Current version of pixman: 0.30.0
        Before reporting problems, check http://wiki.X.Org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Oct 25 19:02:51 2013
(==) Using default built-in configuration (12 lines)
(EE) intel(0): Unknown EDID version 2
(EE) [drm] drmOpen failed.
(EE) intel(0): [dri] DRIScreenInit failed.  Disabling DRI.
pgetbl_ctl: 0x1869001 pgetbl_err: 0x4890011
ipeir: 0 iphdr: 80f00800
LP ring tail: 9ee8 head: 749c len: f001 start 300000
eir: 0 esr: 11 emr: 3d
instdone: ff7a instpm: 0
memmode: 4 instps: 810
hwstam: 9ac7 ier: 0 imr: 9ac7 iir: 0

Fatal server error:
Active ring not flushed


Please consult the The X.Org Foundation support 
         at http://wiki.X.Org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional information.


I've saved the "Xorg.0.log" files from the above sessions, but they
don't really reveal much more that what's posted above.

Native Xorg on netbsd-5 works.  An HP Pavilion w/i810e works fine with
netbsd-6 native Xorg.  I've only seen this problem on the DELL GX110s.
(I don't have any other i810e-based machines).

I also have an installation that uses modular/pkgsrc Xorg on netbsd-6.
It displays the same symptoms, but I've not yet captured the output of
the X server.  I expect to do that soon.
>How-To-Repeat:
On DELL OptiPlex GX110 (perhaps other systems with i810e) attempt to
start the X server.
>Fix:
Workaround (proposed, not tested):  Install different video adapter.

>Release-Note:

>Audit-Trail:
From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: xsrc/48344: X server crashes with "lockup" on certain i810e-based
 systems
Date: Sun, 27 Oct 2013 18:14:10 -0500 (CDT)

 My NetBSD/i386-6.1_STABLE installation with modular/pkgsrc Xorg produces
 the same output, differing only in the particular values in the error
 messages.

 -- 
 |/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
 |\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
 | X  No HTML/proprietary data in email.   BSD just sits there and works!
 |/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645

From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: xsrc/48344: X sesrver crashes with "lockup" on certain i810e-based
 systems
Date: Sat, 19 Jul 2014 02:27:54 -0500 (CDT)

 It took quite a bit of time for me to be able to do it, but I'm now
 bisecting the source tree between netbsd-5 and netbsd-6 releases to find
 out what broke the X server on some i810e-based systems.  Results so far:

 5.99.41 (27-Dec 2010) works
 5.99.xx (17-Jan-2011) (in progress)
 5.99.44 (31-Jan 2011) fails

 I'm hoping to find something that will at least let me hack netbsd-6 into
 working on my stable of affected systems.

 -- 
 |/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
 |\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
 | X  No HTML/proprietary data in email.   BSD just sits there and works!
 |/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645

From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: xsrc/48344: X sesrver crashes with "lockup" on certain i810e-based
 systems
Date: Sun, 20 Jul 2014 23:27:45 -0500 (CDT)

 I've found the change that causes the X-server to fail on Dell Optiplex
 GX-110 systems (82810E graphics).

 5.99.44 (25-Jan 2011 10:52 UTC) works  (agp_i810.c r1.69)
 5.99.44 (25-Jan 2011 10:53 UTC) fails  (agp_i810.c r1.70)

 I also have an HP Pavilion something-or-other ("LOMITA") that is also
 built around the 82810E and related chips.  It does NOT suffer from the
 problem brought about by the above change.  Hardware-wise, the HP is
 practically identical to the DELLs (output of 'pcictl pci0 list').

 Perhaps their BIOSes differ in how completely they intialize the hardware
 and the change exposes this in the DELLs?

 I built a kernel with "options AGP_DEBUG" and extracted the results from
 "/var/log/messages" for the version that works and the version that fails.
 The two logs are essentially identical until the very end of each.  The
 version that succeeds ends with:

 $ tail i810-success.log                                    
 Jul 20 20:11:28 plexor /netbsd: agp: searching for memory block 2
 Jul 20 20:11:28 plexor /netbsd: agp: considering memory block 0
 Jul 20 20:11:29 plexor /netbsd: agp: considering memory block 1
 Jul 20 20:11:29 plexor /netbsd: agp: considering memory block 2
 Jul 20 20:11:29 plexor /netbsd: agp: searching for memory block 3
 Jul 20 20:11:29 plexor /netbsd: agp: considering memory block 0
 Jul 20 20:11:29 plexor /netbsd: agp: considering memory block 1
 Jul 20 20:11:29 plexor /netbsd: agp: considering memory block 2
 Jul 20 20:11:29 plexor /netbsd: agp: considering memory block 3
 Jul 20 20:11:30 plexor sysop: X11 finished


 The version that fails ends with:

 $ tail i810-fail.log     
 Jul 20 22:25:42 plexor /netbsd: agp: searching for memory block 3
 Jul 20 22:25:42 plexor /netbsd: agp: considering memory block 0
 Jul 20 22:25:42 plexor /netbsd: agp: considering memory block 1
 Jul 20 22:25:42 plexor /netbsd: agp: considering memory block 2
 Jul 20 22:25:42 plexor /netbsd: agp: considering memory block 3
 Jul 20 22:26:04 plexor /netbsd: agpclose: mem 0 is bound
 Jul 20 22:26:04 plexor /netbsd: agpclose: mem 1 is bound
 Jul 20 22:26:04 plexor /netbsd: agpclose: mem 2 is bound
 Jul 20 22:26:04 plexor /netbsd: agpclose: mem 3 is bound
 Jul 20 22:26:04 plexor sysop: X11 finished


 If the full logs of each are more helpful, I can send them, but they
 are about 56KB each.

 I am in the process of updating my test source tree to netbsd-6 after
 which I will revert to r1.69 of "sys/dev/pci/agp_i810.c" to see if it
 builds and runs (the diffs versus r1.73 in netbsd-6 lead me to believe
 it will).


 (The HP is having issues starting up, but once I've got it sorted out
 I hope to collect similar data from it.)

 -- 
 |/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
 |\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
 | X  No HTML/proprietary data in email.   BSD just sits there and works!
 |/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645

From: matthew green <mrg@eterna.com.au>
To: gnats-bugs@NetBSD.org
Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org, jdbaker@mylinuxisp.com
Subject: re: xsrc/48344: X sesrver crashes with "lockup" on certain i810e-based systems
Date: Mon, 21 Jul 2014 16:14:27 +1000

 >  5.99.44 (25-Jan 2011 10:52 UTC) works  (agp_i810.c r1.69)
 >  5.99.44 (25-Jan 2011 10:53 UTC) fails  (agp_i810.c r1.70)

 interesting.  can you try reverting the first real changed line?
 ie, this one:

 !       if (isc->chiptype != CHIP_I830) {
 -
 !       if (isc->chiptype != CHIP_I810) {

 and (separately) also try reverting this chunk:

 +       if (mem->am_is_bound != 0)
 +               return EINVAL;

 >  I also have an HP Pavilion something-or-other ("LOMITA") that is also
 >  built around the 82810E and related chips.  It does NOT suffer from the
 >  problem brought about by the above change.  Hardware-wise, the HP is
 >  practically identical to the DELLs (output of 'pcictl pci0 list').
 >  
 >  Perhaps their BIOSes differ in how completely they intialize the hardware
 >  and the change exposes this in the DELLs?

 this probably is entirely to do with how the BIOS sets up the
 PCI BARs, and dell and HP have significantly different BIOSen.

 you should compare the output of pcictl "dump" on the video
 device and see what happens.

From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc: matthew green <mrg@eterna.com.au>
Subject: re: xsrc/48344: X sesrver crashes with "lockup" on certain i810e-based
 systems
Date: Tue, 22 Jul 2014 09:20:13 -0500 (CDT)

 I took a different tack and started with r1.69, adding in what appeared
 to be the least-offensive changes toward r1.70.  The culprit that breaks
 things for the Dell GX110s is:

 @@ -996,7 +1001,7 @@ agp_i810_bind_memory(struct agp_softc *s
                 return EINVAL;

         for (i = 0; i < mem->am_size; i += AGP_PAGE_SIZE)
 -               agp_i810_write_gtt_entry(isc, offset, i | 3);
 +               agp_i810_write_gtt_entry(isc, i, i | 3);
         mem->am_is_bound = 1;
         return 0;
  }

 I'm pretty sure both versions are wrong.  r1.69 because it doesn't
 increment the offset in subsequent calls to "agp_i810_write_gtt_entry()",
 r1.70 because it starts at the wrong offset (0).

 The following patch against r1.70 of "sys/dev/pci/agp_i810c" allows the
 X server to work properly on the Dell Optiplex GX110s.  (I'm using a
 "netbsd-6" baseline with that one file reverted, so it needs the change
 in "agp_i810_vgamatch()" to appease the compiler.)

 There is one quirk:  the mouse pointer is invisble until the first time
 it needs to be redrawn--crossing an element boundary, button press, etc.

 +Index: sys/dev/pci/agp_i810.c
 +===================================================================
 +RCS file: /cvsroot/src/sys/dev/pci/agp_i810.c,v
 +retrieving revision 1.70
 +diff -u -p -r1.70 agp_i810.c
 +--- sys/dev/pci/agp_i810.c	25 Jan 2011 10:52:11 -0000	1.70
 ++++ sys/dev/pci/agp_i810.c	22 Jul 2014 14:09:15 -0000
 +@@ -147,7 +147,7 @@ agp_i810_write_gtt_entry(struct agp_i810
 + 
 + /* XXXthorpej -- duplicated code (see arch/x86/pci/pchb.c) */
 + static int
 +-agp_i810_vgamatch(struct pci_attach_args *pa)
 ++agp_i810_vgamatch(const struct pci_attach_args *pa)
 + {
 + 
 + 	if (PCI_CLASS(pa->pa_class) != PCI_CLASS_DISPLAY ||
 +@@ -1001,7 +1001,7 @@ agp_i810_bind_memory(struct agp_softc *s
 + 		return EINVAL;
 + 
 + 	for (i = 0; i < mem->am_size; i += AGP_PAGE_SIZE)
 +-		agp_i810_write_gtt_entry(isc, i, i | 3);
 ++		agp_i810_write_gtt_entry(isc, offset+i, i | 3);
 + 	mem->am_is_bound = 1;
 + 	return 0;
 + }
 +@@ -1030,7 +1030,7 @@ agp_i810_unbind_memory(struct agp_softc 
 + 		return EINVAL;
 + 
 + 	for (i = 0; i < mem->am_size; i += AGP_PAGE_SIZE)
 +-		agp_i810_write_gtt_entry(isc, i, 0);
 ++		agp_i810_write_gtt_entry(isc, mem->am_offset+i, 0);
 + 	mem->am_is_bound = 0;
 + 	return 0;
 + }

 Now that I have the HP Pavilion something-or-other up and running, I
 need to make sure this doesn't break things on it.

 Then, I intend to apply a similar change to r1.73 which is the version
 of the file in the "netbsd-6" branch.

 -- 
 |/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
 |\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
 | X  No HTML/proprietary data in email.   BSD just sits there and works!
 |/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645

From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc: matthew green <mrg@eterna.com.au>
Subject: re: xsrc/48344: X sesrver crashes with "lockup" on certain i810e-based
 systems
Date: Tue, 22 Jul 2014 13:55:03 -0500 (CDT)

 On Tue, 22 Jul 2014, John D. Baker wrote:

 > Now that I have the HP Pavilion something-or-other up and running, I
 > need to make sure this doesn't break things on it.

 The HP Pavilion was not affected by the changes.

 > Then, I intend to apply a similar change to r1.73 which is the version
 > of the file in the "netbsd-6" branch.

 I stepped through each revision of the file until r1.73, applying the
 same changes to arrive at the patch below for the "netbsd-6" and
 related branches.

 > There is one quirk:  the mouse pointer is invisble until the first time
 > it needs to be redrawn--crossing an element boundary, button press, etc.

 This quirk was apparently present for a while (including on the HP system
 with unmodified netbsd-6) but may be masked depending on what X clients
 run.  For example, if your ".xinitrc" just launches a single XTerm and
 then launches 'twm' with "RandomPlacement", the mouse pointer will be
 invisible until you move into the terminal window or press the left
 button in the root window to bring up the TWM menu.

 The following patch lets the X server from "netbsd-6" run on Dell Optiplex
 GX-110 machines.  (Also xf86-video-intel from modular/pkgsrc Xorg unless
 it's been updated to the version that requires KMS.)

 +Index: sys/dev/pci/agp_i810.c
 +===================================================================
 +RCS file: /cvsroot/src/sys/dev/pci/agp_i810.c,v
 +retrieving revision 1.73
 +diff -u -p -r1.73 agp_i810.c
 +--- sys/dev/pci/agp_i810.c	4 Apr 2011 20:37:56 -0000	1.73
 ++++ sys/dev/pci/agp_i810.c	22 Jul 2014 15:01:20 -0000
 +@@ -1028,7 +1028,7 @@ agp_i810_bind_memory(struct agp_softc *s
 + 		return EINVAL;
 + 
 + 	for (i = 0; i < mem->am_size; i += AGP_PAGE_SIZE)
 +-		agp_i810_write_gtt_entry(isc, i, i | 3);
 ++		agp_i810_write_gtt_entry(isc, offset+i, i | 3);
 + 	mem->am_is_bound = 1;
 + 	return 0;
 + }
 +@@ -1057,7 +1057,7 @@ agp_i810_unbind_memory(struct agp_softc 
 + 		return EINVAL;
 + 
 + 	for (i = 0; i < mem->am_size; i += AGP_PAGE_SIZE)
 +-		agp_i810_write_gtt_entry(isc, i, 0);
 ++		agp_i810_write_gtt_entry(isc, mem->am_offset+i, 0);
 + 	mem->am_is_bound = 0;
 + 	return 0;
 + }

 NetBSD-current (soon to be NetBSD-7) DRMKMS support on this and similar
 systems is a subject of ongoing investigation.

 -- 
 |/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
 |\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
 | X  No HTML/proprietary data in email.   BSD just sits there and works!
 |/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48344 CVS commit: src/sys/dev/pci
Date: Wed, 23 Jul 2014 14:23:09 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Wed Jul 23 14:23:09 UTC 2014

 Modified Files:
 	src/sys/dev/pci: agp_i810.c

 Log Message:
 Bind i810 dcache pages at the requested offset, not at VA start.

 From John D Baker in PR xsrc/48344.

 XXX pullup to 6 (by patch)


 To generate a diff of this commit:
 cvs rdiff -u -r1.107 -r1.108 src/sys/dev/pci/agp_i810.c

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

From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: re: xsrc/48344: X server crashes with "lockup" on certain i810e-based
 systems
Date: Thu, 24 Jul 2014 07:21:53 -0500 (CDT)

 On Tue, 22 Jul 2014, John D. Baker wrote:

 > The following patch lets the X server from "netbsd-6" run on Dell
 > Optiplex GX-110 machines.  (Also xf86-video-intel from modular/pkgsrc
 > Xorg unless it's been updated to the version that requires KMS.)

 My previous patch was missing a couple of elements, noted by riastradh@
 and included in "pullup-6 #1105".  The updated patch is below.

 The X server in modular/pkgsrc Xorg from pkgsrc-2014Q2 works very well
 with the patched kernel driver.

 +Index: sys/dev/pci/agp_i810.c
 +===================================================================
 +RCS file: /cvsroot/src/sys/dev/pci/agp_i810.c,v
 +retrieving revision 1.73
 +diff -u -p -r1.73 agp_i810.c
 +--- sys/dev/pci/agp_i810.c	4 Apr 2011 20:37:56 -0000	1.73
 ++++ sys/dev/pci/agp_i810.c	24 Jul 2014 00:37:31 -0000
 +@@ -1028,7 +1028,8 @@ agp_i810_bind_memory(struct agp_softc *s
 + 		return EINVAL;
 + 
 + 	for (i = 0; i < mem->am_size; i += AGP_PAGE_SIZE)
 +-		agp_i810_write_gtt_entry(isc, i, i | 3);
 ++		agp_i810_write_gtt_entry(isc, offset + i, i | 3);
 ++	mem->am_offset = offset;
 + 	mem->am_is_bound = 1;
 + 	return 0;
 + }
 +@@ -1057,7 +1058,8 @@ agp_i810_unbind_memory(struct agp_softc 
 + 		return EINVAL;
 + 
 + 	for (i = 0; i < mem->am_size; i += AGP_PAGE_SIZE)
 +-		agp_i810_write_gtt_entry(isc, i, 0);
 ++		agp_i810_write_gtt_entry(isc, mem->am_offset + i, 0);
 ++	mem->am_offset = 0;
 + 	mem->am_is_bound = 0;
 + 	return 0;
 + }


 > NetBSD-current (soon to be NetBSD-7) DRMKMS support on this and similar
 > systems is a subject of ongoing investigation.

 An i386 DRMKMS kernel built from sources as of about 201407232030Z
 running on a Dell Optiplex GX-110 produces a plain VGA text-mode console
 and the KMS xf86-video-intel driver for the X server works very well.

 The only quirk observed with -current DRMKMS and X is that regions with
 alternating/stippled foreground/background (like XConsole, XTerm scroll
 bars, or TWM inactive-window title bar/frames) are rendered as solid
 black.

 Likewise, setting the root window to a modulated pattern such as the
 default fvwm2 root-window pattern:

   xsetroot -mod 2 2 -fg rgb:55/40/55 -bg rgb:70/50/70

 produces a black display instead.

 (But the last few paragraphs are OT for this PR.)

 -- 
 |/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
 |\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
 | X  No HTML/proprietary data in email.   BSD just sits there and works!
 |/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645

From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48344 CVS commit: [netbsd-6] src/sys/dev/pci
Date: Fri, 8 Aug 2014 03:47:21 +0000

 Module Name:	src
 Committed By:	msaitoh
 Date:		Fri Aug  8 03:47:21 UTC 2014

 Modified Files:
 	src/sys/dev/pci [netbsd-6]: agp_i810.c

 Log Message:
 Pull up following revision(s) (requested by riastradh in ticket #1105):
 	src/sys/dev/pci/agp_i810.c	1.108-1.110 via patch.
 Bind i810 dcache pages at the requested offset, not at VA start.
 From John D Baker in PR xsrc/48344.


 To generate a diff of this commit:
 cvs rdiff -u -r1.73 -r1.73.10.1 src/sys/dev/pci/agp_i810.c

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

From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48344 CVS commit: [netbsd-6-1] src/sys/dev/pci
Date: Fri, 8 Aug 2014 03:51:31 +0000

 Module Name:	src
 Committed By:	msaitoh
 Date:		Fri Aug  8 03:51:31 UTC 2014

 Modified Files:
 	src/sys/dev/pci [netbsd-6-1]: agp_i810.c

 Log Message:
 Pull up following revision(s) (requested by riastradh in ticket #1105):
 	src/sys/dev/pci/agp_i810.c	1.108-1.110 via patch.
 Bind i810 dcache pages at the requested offset, not at VA start.
 From John D Baker in PR xsrc/48344.


 To generate a diff of this commit:
 cvs rdiff -u -r1.73 -r1.73.24.1 src/sys/dev/pci/agp_i810.c

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

From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48344 CVS commit: [netbsd-6-0] src/sys/dev/pci
Date: Fri, 8 Aug 2014 03:51:59 +0000

 Module Name:	src
 Committed By:	msaitoh
 Date:		Fri Aug  8 03:51:59 UTC 2014

 Modified Files:
 	src/sys/dev/pci [netbsd-6-0]: agp_i810.c

 Log Message:
 Pull up following revision(s) (requested by riastradh in ticket #1105):
 	src/sys/dev/pci/agp_i810.c	1.108-1.110 via patch.
 Bind i810 dcache pages at the requested offset, not at VA start.
 From John D Baker in PR xsrc/48344.


 To generate a diff of this commit:
 cvs rdiff -u -r1.73 -r1.73.16.1 src/sys/dev/pci/agp_i810.c

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

State-Changed-From-To: open->closed
State-Changed-By: msaitoh@NetBSD.org
State-Changed-When: Fri, 08 Aug 2014 07:55:30 +0000
State-Changed-Why:
Fixed and pulled up to netbsd-6* branches.
Thanks.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.