diff mbox

i915 driver doesn't find all Modelines that nouveau driver finds

Message ID 20150302184417.GB11371@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ville Syrjälä March 2, 2015, 6:44 p.m. UTC
On Mon, Mar 02, 2015 at 07:07:47PM +0100, Daniel Vetter wrote:
> On Mon, Mar 02, 2015 at 11:33:39AM -0500, Brian J. Murrell wrote:
> > On Mon, 2015-03-02 at 09:07 +0000, Chris Wilson wrote:
> > 
> > > Can you please attach dmesg with drm.debug=6 on the command line?
> > 
> > Please find it attached.  I did notice in it though:
> > 
> > [   50.508381] [drm:drm_mode_debug_printmodeline] Modeline 27:"1600x1200" 0 202500 1600 1664 1856 2160 1200 1201 1204 1250 0x40 0x5
> > [   50.508383] [drm:drm_mode_prune_invalid] Not using 1600x1200 mode 15
> > [   50.508385] [drm:drm_mode_debug_printmodeline] Modeline 28:"1600x1200" 0 189000 1600 1664 1856 2160 1200 1201 1204 1250 0x40 0x5
> > [   50.508385] [drm:drm_mode_prune_invalid] Not using 1600x1200 mode 15
> > [   50.508387] [drm:drm_mode_debug_printmodeline] Modeline 66:"1400x1050" 0 179500 1400 1504 1656 1912 1050 1053 1057 1105 0x40 0x6
> > [   50.508388] [drm:drm_mode_prune_invalid] Not using 1400x1050 mode 15
> > [   50.508390] [drm:drm_mode_debug_printmodeline] Modeline 71:"1600x1200" 0 175500 1600 1664 1856 2160 1200 1201 1204 1250 0x40 0x5
> > [   50.508390] [drm:drm_mode_prune_invalid] Not using 1600x1200 mode 15
> > 
> > Why would it think those modes are invalid?
> 
> 15 = dotclock too high for your chip.

The <180MHz modes are dropped only due to the +5% we add to account for SSC on
FDI. I wonder if we really need that much?

would at least allow the 175.5MHz mode through while dropping the other ones.

Comments

Brian J. Murrell March 2, 2015, 8:16 p.m. UTC | #1
On Mon, 2015-03-02 at 20:44 +0200, Ville Syrjälä wrote:
> On Mon, Mar 02, 2015 at 07:07:47PM +0100, Daniel Vetter wrote:
> > On Mon, Mar 02, 2015 at 11:33:39AM -0500, Brian J. Murrell wrote:
> > > 
> > > [   50.508381] [drm:drm_mode_debug_printmodeline] Modeline 27:"1600x1200" 0 202500 1600 1664 1856 2160 1200 1201 1204 1250 0x40 0x5
> > > [   50.508383] [drm:drm_mode_prune_invalid] Not using 1600x1200 mode 15
> > > [   50.508385] [drm:drm_mode_debug_printmodeline] Modeline 28:"1600x1200" 0 189000 1600 1664 1856 2160 1200 1201 1204 1250 0x40 0x5
> > > [   50.508385] [drm:drm_mode_prune_invalid] Not using 1600x1200 mode 15
> > > [   50.508387] [drm:drm_mode_debug_printmodeline] Modeline 66:"1400x1050" 0 179500 1400 1504 1656 1912 1050 1053 1057 1105 0x40 0x6
> > > [   50.508388] [drm:drm_mode_prune_invalid] Not using 1400x1050 mode 15
> > > [   50.508390] [drm:drm_mode_debug_printmodeline] Modeline 71:"1600x1200" 0 175500 1600 1664 1856 2160 1200 1201 1204 1250 0x40 0x5
> > > [   50.508390] [drm:drm_mode_prune_invalid] Not using 1600x1200 mode 15
> > > 

> The <180MHz modes are dropped only due to the +5% we add to account for SSC on
> FDI. I wonder if we really need that much?

I guess this would get me the "71" modeline but not the "27" one.  Any
idea what refresh rate that "71" would be at?  I forget how to do all of
that video timing math.

Cheers,
b.
Ville Syrjälä March 3, 2015, 1:03 p.m. UTC | #2
On Mon, Mar 02, 2015 at 03:16:16PM -0500, Brian J. Murrell wrote:
> On Mon, 2015-03-02 at 20:44 +0200, Ville Syrjälä wrote:
> > On Mon, Mar 02, 2015 at 07:07:47PM +0100, Daniel Vetter wrote:
> > > On Mon, Mar 02, 2015 at 11:33:39AM -0500, Brian J. Murrell wrote:
> > > > 
> > > > [   50.508381] [drm:drm_mode_debug_printmodeline] Modeline 27:"1600x1200" 0 202500 1600 1664 1856 2160 1200 1201 1204 1250 0x40 0x5
> > > > [   50.508383] [drm:drm_mode_prune_invalid] Not using 1600x1200 mode 15
> > > > [   50.508385] [drm:drm_mode_debug_printmodeline] Modeline 28:"1600x1200" 0 189000 1600 1664 1856 2160 1200 1201 1204 1250 0x40 0x5
> > > > [   50.508385] [drm:drm_mode_prune_invalid] Not using 1600x1200 mode 15
> > > > [   50.508387] [drm:drm_mode_debug_printmodeline] Modeline 66:"1400x1050" 0 179500 1400 1504 1656 1912 1050 1053 1057 1105 0x40 0x6
> > > > [   50.508388] [drm:drm_mode_prune_invalid] Not using 1400x1050 mode 15
> > > > [   50.508390] [drm:drm_mode_debug_printmodeline] Modeline 71:"1600x1200" 0 175500 1600 1664 1856 2160 1200 1201 1204 1250 0x40 0x5
> > > > [   50.508390] [drm:drm_mode_prune_invalid] Not using 1600x1200 mode 15
> > > > 
> 
> > The <180MHz modes are dropped only due to the +5% we add to account for SSC on
> > FDI. I wonder if we really need that much?
> 
> I guess this would get me the "71" modeline but not the "27" one.  Any
> idea what refresh rate that "71" would be at?  I forget how to do all of
> that video timing math.

175500*1000/2160/1250 = 65

Oh that's an a CRT monitor you have there. Been a while since I've
come across one of those :) 65Hz on a CRT sounds like a good way to
get a headache to me.
Brian J. Murrell March 3, 2015, 1:16 p.m. UTC | #3
On Tue, 2015-03-03 at 15:03 +0200, Ville Syrjälä wrote:
> 
> Oh that's an a CRT monitor you have there. Been a while since I've
> come across one of those :)

Heh.  Yeah.  I have been in the market to replace it but no good enough
deals yet.  :-)

> 65Hz on a CRT sounds like a good way to
> get a headache to me.

Worse than the 60Hz that I am stuck with right now though?  On paper
+5Hz should be slightly better but maybe there is something particular
about 65Hz that makes it worse than 60Hz?

b.
Ville Syrjälä March 3, 2015, 1:31 p.m. UTC | #4
On Tue, Mar 03, 2015 at 08:16:56AM -0500, Brian J. Murrell wrote:
> On Tue, 2015-03-03 at 15:03 +0200, Ville Syrjälä wrote:
> > 
> > Oh that's an a CRT monitor you have there. Been a while since I've
> > come across one of those :)
> 
> Heh.  Yeah.  I have been in the market to replace it but no good enough
> deals yet.  :-)
> 
> > 65Hz on a CRT sounds like a good way to
> > get a headache to me.
> 
> Worse than the 60Hz that I am stuck with right now though?  On paper
> +5Hz should be slightly better but maybe there is something particular
> about 65Hz that makes it worse than 60Hz?

I suppose any increase is good. But personally I just couldn't stand
anything below 75Hz when I was still using a CRT.
Brian J. Murrell March 3, 2015, 4:44 p.m. UTC | #5
On Tue, 2015-03-03 at 15:31 +0200, Ville Syrjälä wrote:
> 
> I suppose any increase is good. But personally I just couldn't stand
> anything below 75Hz when I was still using a CRT.

Yeah.  75Hz is what I was using with the nVidia card I replaced with
this new motherboard and Celeron G1840.

Slightly off on a tangent... do LCD screens driven through the DSUB have
the same flicker issues as CRTs or does that somehow get washed out by
the difference between LCD and CRT technology?

Just thinking about when I do replace this CRT with an LCD or LED if I
eventually will be wanting a new (or the old nVidia that I was using)
video card to get that analog refresh rate up.  Although I suppose if I
get a second digital monitor and a new video card, they could both just
be DVI/HDMI.

Cheers,
b.
Jani Nikula March 3, 2015, 6:40 p.m. UTC | #6
On Tue, 03 Mar 2015, "Brian J. Murrell" <brian@interlinx.bc.ca> wrote:
> Slightly off on a tangent... do LCD screens driven through the DSUB have
> the same flicker issues as CRTs or does that somehow get washed out by
> the difference between LCD and CRT technology?

You'll lose the flicker with LCD, but given a digital source and a
digital display, it seems silly to convert the signal to analog and back
for the cable in between... I'd go for HDMI or DP.

BR,
Jani.
Brian J. Murrell March 3, 2015, 7:04 p.m. UTC | #7
On Tue, 2015-03-03 at 20:40 +0200, Jani Nikula wrote:
> 
> You'll lose the flicker with LCD,

Even with an analog DSUB input?  I only ask again due to the confusion
below...

> but given a digital source

I don't have a digital source.  I have a 15-pin DSUB analog source.

> and a
> digital display, it seems silly to convert the signal to analog and back
> for the cable in between...

Of course.

> I'd go for HDMI or DP.

Which I do for one of the two outputs on this motherboard.  One is DVI
and one is DSUB analog.  I want dual screens.

Cheers,
b.
Jani Nikula March 3, 2015, 7:16 p.m. UTC | #8
On Tue, 03 Mar 2015, "Brian J. Murrell" <brian@interlinx.bc.ca> wrote:
> On Tue, 2015-03-03 at 20:40 +0200, Jani Nikula wrote:
>> 
>> You'll lose the flicker with LCD,
>
> Even with an analog DSUB input?  I only ask again due to the confusion
> below...

Yes. You may get other artefacts due to the D/A-A/D conversions and the
analog cable, but there should be no flicker.

>> but given a digital source
>
> I don't have a digital source.  I have a 15-pin DSUB analog source.

I meant the display hardware before the D/A conversion to legacy stuff.

BR,
Jani.
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index ca49b6f..2df5a9a 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -7370,9 +7370,9 @@  int ironlake_get_lanes_required(int target_clock, int link_bw, int bpp)
 	/*
 	 * Account for spread spectrum to avoid
 	 * oversubscribing the link. Max center spread
-	 * is 2.5%; use 5% for safety's sake.
+	 * is 2.5%.
 	 */
-	u32 bps = target_clock * bpp * 21 / 20;
+	u32 bps = target_clock * bpp * 41 / 40;
 	return DIV_ROUND_UP(bps, link_bw * 8);
 }