Subject: Re: SGI Indy full-screen console mode
To: Malte Dehling <mdehling@math.ruhr-uni-bochum.de>
From: Ilpo Ruotsalainen <lonewolf@iki.fi>
List: port-sgimips
Date: 12/27/2004 16:37:20
On Mon Dec 27 2004 at 15:15:08 +0100, Malte Dehling wrote:
> On Mon, Dec 27, 2004 at 01:31:48PM +0100, Malte Dehling wrote:
> > I think the following lines of src/sys/arch/sgimips/gio/newport.c are the
> > problem:
> > ---
> > 691            /* Work around bug in some board revisions */
> > 692            if (dc->dc_boardrev < 6)
> > 693                    x_offset = 21;
> > 694            else if (dc->dc_vc2rev == 0) 
> > 695                    x_offset = 29;
> > 696            else
> > 697                    x_offset = 31;
> > ---
> 
> I looked up the values in Linux kernel 2.4.28; they have:
> --- /src/linux-2.4.28/drivers/video/newport_cons.c
> static int xcurs_correction = 29; 
> 
> if (board_rev == 3)     /* I don't know all affected revisions */
> 	xcurs_correction = 21;
> ---
> 
> But as mentioned in the code, they dont know the values either.
> Still, (board_rev == 3) is very different from (board_rev < 6).

The Linux test is certainly wrong, that I am quite sure of. Can't say
much about our test being correct either, though. The documentation is
rather non-existent on this bug. The test *should* probably use VC2
revision rather than board revision, but I've no idea about the values
to use in that case.

> Btw: I have another issue with my Indy console apart from the cursor position...
> Sometimes NetBSD boots just fine in fullscreen console mode but sometimes it
> boots in that small boot window (it doesnt have keyboard input then). This
> happens atleast 50% of the time, so its quite annoying, as i have to reboot
> via ssh every time this happens.

Which means newport doesn't always get detected in the early boot
console setup routine, which sounds very much like a timing problem if
it's sporadic (OTOH if there's a clear pattern I'd like to hear about
it). There should probably be some delay (or optimally we should
probably wait for GFXBUSY to deassert) around the magic destructive test
for newport existence, but I dunno really, no documentation on this
subject. What kind of CPU does your machine have anyway, I've never seen
the test fail on the Indys I've been hacking on?

-- 
Ilpo Ruotsalainen - <lonewolf@iki.fi> - http://www.iki.fi/lonewolf/