public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Antonino A. Daplas" <adaplas@gmail.com>
To: Al Boldi <a1426z@gawab.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: CONFIG_VGACON_SOFT_SCROLLBACK crashes 2.6.17
Date: Fri, 23 Jun 2006 02:08:50 +0800	[thread overview]
Message-ID: <449ADCB2.4000006@gmail.com> (raw)
In-Reply-To: <200606222036.45081.a1426z@gawab.com>

Al Boldi wrote:
> Antonino A. Daplas wrote:
>> Al Boldi wrote:
>>> Antonino A. Daplas wrote:
>>>> Al Boldi wrote:
> 
>> Anyway, can you try the patch below.  It's a debugging patch and
>> it will slow down the console.
> 
> Yes, that did the trick, although it screws-up concurrent console access.
> 
> What is surprising though, is that SOFT_SCROLLBACK is supposed to slow the 
> console down.  It actually looks that it speeds things up, albeit at higher 
> CPU cost, by buffering screen updates.
> 
> This maybe hardware related.  This machine has an onboard VIA/S3 UniChrome 
> chip, so I am thinking the CPU is dumping too fast for the chip to sync.
> 

That's what I thought too. But adding delays to the screen accessors is not
the correct fix. The screen buffer accessors, scr_readw() and scr_writew()
make assumptions that are not correct in all cases, that the screenbuffer
is either in system RAM or video RAM, never in both. (vgacon's screenbuffer
is video RAM while the rest of the console drivers have it in system RAM.
But you can have vgacon and fbcon compiled at the same time, for example, and
this basically screws up the screen accessors, especially in non-x86 archs.)

So a revamp of vgacon may be necessary, by placing the screen buffer in
system RAM. This will entail a lot of work, so the revamp will take some
time.

>> If the system hang disappears, remove the line
>>
>>     while (i--);
> 
> Hangs again.

I was hoping that's it's the memcpy() that's buggy when the source/destination
is video RAM.  That would be an easy fix, but it seems I'm out of luck here.

> 
>>> BTW, is there any chance to patch your savagefb to support VIA/S3
>>> UniChrome?
>> If someone posts a patch to lkml or fbdev-devel, why not?  But a separate
>> driver is probably better as the 2 are very different.
> 
> VIA has a separate driver, couldn't this be merged with mainline?

Sure, as long as it's GPL-compatible, properly written, and correctly
Signed-off.

Tony

  reply	other threads:[~2006-06-22 18:08 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-21 14:15 CONFIG_VGACON_SOFT_SCROLLBACK crashes 2.6.17 Al Boldi
2006-06-21 15:18 ` Antonino A. Daplas
2006-06-21 21:05   ` Al Boldi
2006-06-22  0:47     ` Antonino A. Daplas
2006-06-22  6:32       ` Antonio Vargas
2006-06-22 10:37         ` Antonino A. Daplas
2006-06-22 17:36       ` Al Boldi
2006-06-22 18:08         ` Antonino A. Daplas [this message]
2006-06-23 13:25           ` Al Boldi
2006-06-23 14:38             ` Antonino A. Daplas
2006-06-22 19:19         ` Randy.Dunlap
2006-06-23 13:25           ` Al Boldi
     [not found] <fa.RonUKQ4bRxV1BEEAvvcvwPKcfXM@ifi.uio.no>
     [not found] ` <fa.xi8WlIQLoSpgs6byyFeCFmlTjCE@ifi.uio.no>
2006-06-22 14:24   ` Robert Hancock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=449ADCB2.4000006@gmail.com \
    --to=adaplas@gmail.com \
    --cc=a1426z@gawab.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox