public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Antonino A. Daplas" <adaplas@gmail.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Marc Koschewski <marc@osknowledge.org>,
	"Calin A. Culianu" <calin@ajvar.org>,
	akpm@osdl.org, adaplas@pol.net, linux-kernel@vger.kernel.org
Subject: Re: nvidia fb flicker
Date: Tue, 29 Nov 2005 08:13:28 +0800	[thread overview]
Message-ID: <438B9D28.9030206@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0511281450260.3263@g5.osdl.org>

Linus Torvalds wrote:
> 
> On Tue, 29 Nov 2005, Antonino A. Daplas wrote:
>> Nov 28 14:02:32 stiffy kernel: Extrapolated
>> Nov 28 14:02:32 stiffy kernel:            H: 75-75KHz V: 60-60Hz DCLK: 162MHz
>>
>> Since the min and max value of the sync timings are equal, nvidiafb has
>> no room left to verify the timings, and will _always_ reject any timings even
>> if they are valid.
>>
>> So, try this patch, we make nvidiafb less restrictive by ignoring the
>> hsync and vsync ranges if the min and max values are equal. This should
>> make your hardware display properly even if CONFIG_FB_NVIDIA_I2c = y.
> 
> Tony,
> 
>  may I suggestinstead making the verifier allow a small error?
> 
> I don't find it at all unlikely that some EDID blocks might say that only 
> a 60Hz refresh rate is allowed. A lot of LCD's are literally specced for 
> that (just read their manuals), even though they often in practice allow 
> other frequencies (often _wildly_ different - most modern LCD's are 
> perfectly happy to sync up with almost anything).
> 
> And if a monitor says that it wants a vertical frequency of 60Hz, a mode 
> that has a frequency of 59 should certainly be accepted.
> 
> So it sounds like something has marked a perfectly valid mode as invalid, 
> just because it's not _exactly_ at the frequency.
> 
> So how about allowing a small error in the frequencies in 
> fb_validate_mode()? And make sure to try to round the divisions to 
> nearest, not down. Something like the appended (totally untested)..
> 

Yes, your patch looks good, and will fix some of the reports I've received.

However, after giving it some more thought, I believe my original
reasoning is probably incorrect.  Because if nvidiafb rejected the
mode timings, nvidiafb would not have loaded at all, but it did.

Which leads me to conclude that Calin's display EDID, specifically the
timing information, is totally garbage.

Calin, can you verify? Set CONFIG_FB_NVIDIA_I2C = y.

First, apply Linus' patch, then boot without any options.  If you get a
nice display, then my original reasoning is correct, and Linus' patch
is all we need.

Secondly, if you get a corrupt display after doing the above, then apply
my patch and boot without any options.  If you get a working display,
something is wrong with Linus' patch :-)  But most probably you'll also get
a corrupt display, so...

Finally, boot with video=nvidiafb:1600x1200MR@60.  If you reach this stage
and you get a working display, then the conclusion is that you have a
garbage EDID block :-).  And we will need both Linus' patch plus another
patch, perhaps a boot option that tells nvidiafb to totally ignore the
EDID block. (We don't want to disable the i2c bus because this is still
useful in userspace).

Tony


  reply	other threads:[~2005-11-29  0:14 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-26  5:02 [PATCH] nvidiafb support for 6600 and 6200 Calin A. Culianu
2005-11-26  6:26 ` Antonino A. Daplas
2005-11-26  6:33   ` Antonino A. Daplas
2005-11-26 21:51   ` Antonino A. Daplas
2005-11-28 10:35 ` nvidia fb flicker (was: Re: [PATCH] nvidiafb support for 6600 and 6200) Marc Koschewski
2005-11-28 12:31   ` nvidia fb flicker Antonino A. Daplas
2005-11-28 13:20     ` Marc Koschewski
2005-11-28 14:00       ` Antonino A. Daplas
2005-11-28 21:24         ` Marc Koschewski
2005-11-28 22:20           ` Antonino A. Daplas
2005-11-28 23:01             ` Linus Torvalds
2005-11-29  0:13               ` Antonino A. Daplas [this message]
2005-11-28 19:57   ` Giuseppe Bilotta
2005-11-29  0:20     ` Antonino A. Daplas
2005-11-29  9:08     ` Marc Koschewski

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=438B9D28.9030206@gmail.com \
    --to=adaplas@gmail.com \
    --cc=adaplas@pol.net \
    --cc=akpm@osdl.org \
    --cc=calin@ajvar.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc@osknowledge.org \
    --cc=torvalds@osdl.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