From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mta01.eonet.ne.jp ([203.140.81.47]) by ur; Wed Jun 29 22:06:50 EDT 2016 Received: from titan.jitaku.localdomain (182-164-101-240f1.osk3.eonet.ne.jp [182.164.101.240]) by mailmsa12.mozu.eo.k-opti.ad.jp with ESMTP id u5U26iw6032391 for <9front@9front.org>; Thu, 30 Jun 2016 11:06:45 +0900 To: 9front@9front.org Subject: Re: [9front] strange behaviour of igfx and vesa Date: Thu, 30 Jun 2016 11:06:43 +0900 From: kokamoto@hera.eonet.ne.jp Message-ID: <8b9fd1a4756cfaaff7fa02d2af2bc884@titan.jitaku.localdomain> In-Reply-To: References: <30fed02f2ab9748c875a28f776a5b17e@felloff.net> <442327564c1e2a2bf938a6828dc348e6@titan.jitaku.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: enhancement high-performance service > I'm still experimenting this, but no success. I think I did all I can do now, but not success. Then, I'll post my results here for memory of someone else. I added codes below to ensure the VBLANK timing to enable Analog Display port according to the manual, like: in load() function of igfx.c ------- from here----- /* program ports */ if(igfx->pci->did == 0x29a2){ /* K.Okamoto */ igfx->adpa.v |= 1<<31; /* enable adpa */ wr(igfx, igfx->adpa.a, igfx->adpa.v); igfx->adpa.v |= 3<<10; /* disable hsync/vsync */ wr(igfx, igfx->adpa.a, igfx->adpa.v); wr(igfx, 0x070024, 0x207); while((rr(igfx, 0x070024) & 1<<9) == 0) {/* wait for VSYNC */ } wr(igfx, 0x070024, 0x207); while((rr(igfx, 0x070024) & 1<<9) == 0) {/* wait for VSYNC */ } } igfx->adpa.v &= ~(3<<10); /* Monitor DPMS: on */ ------to here------- After somewhat longer period to wait the panel shouws no signal, this fails to show screen. Here, I got 0x207 or 0x4 etc on 0x70024 register after the wait loop, which means above loops work right. Next, I compared the two dump.rc (using mmio.all), one of which is done after vesa --> aux/vga -m igfx -l 1680x1050x32 (this case works fine), and the other is done after boot the terminal without aux/vga. Then, on the CGA console, I did the comand, aux/vga -m igfx -l 1680x1050x32; dump.rc | pretty.rc >regdump. The two register outputs were all the same without one value of rmmio 00070000, which is not important here. Therefore, I concluded the difference comes from neither the settings of registers nor VSYNC problem. Therefore, there should be something not written in the manual. I can use this terminal by booting vesa mode, then aux/vga -m igfx -l 1680x1050x32, which may be OK now. Kenji