From: Francisco Jerez <currojerez-sGOZH3hwPm2sTnJN9+BGXg@public.gmane.org>
To: "Grzesiek Sójka" <pld-t9zbU3WrWHI@public.gmane.org>
Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: Re: GeForce FX5200 dual DVI & Samsung 204b
Date: Sat, 02 Oct 2010 15:31:45 +0200 [thread overview]
Message-ID: <871v88hgam.fsf@riseup.net> (raw)
In-Reply-To: <4CA5B64D.8000608-t9zbU3WrWHI@public.gmane.org> ("Grzesiek Sójka"'s message of "Fri, 01 Oct 2010 12:22:05 +0200")
[-- Attachment #1.1.1: Type: text/plain, Size: 1971 bytes --]
Grzesiek Sójka <pld-t9zbU3WrWHI@public.gmane.org> writes:
> On 10/01/10 01:29, Francisco Jerez wrote:
>> Grzesiek Sójka<pld-t9zbU3WrWHI@public.gmane.org> writes:
>>
>>> On 09/30/10 18:05, Francisco Jerez wrote:
>>>> Does the following command help?
>>>> $ xrandr --output DVI-I-2 --set "scaling mode" "None"
>>> Yes! Now I have:
>>> xrandr --output DVI-I-1 --set "scaling mode" "None"
>>> xrandr --output DVI-I-2 --set "scaling mode" "None"
>>> in xinitrc. Both displays work fine when Xserver is running. But after I
>>> go back to the console the display #1 switches off and #2 starts to
>>> blink again. Is it possible to fix the console??
>>>
>> Do you need to tell the binary driver to do anything special to get it
>> working on those monitors? (e.g. manually specified timings or EDID)
> No, binary driver works fine without any extra settings. The version I
> used was 173.14.22. With nouveau drivers I'm forced to use the
> following
>
> Modeline "1600x1200_def" 144 1600 1628 1788 1920 1200 1201 1204 1250
>
> Without it the displays (both) are blinking. Remember that binary
> nvidia claims that the MaxPixClk is 135MHz and nouveau says that it is
> 175MHz. According to the spec it should be 162MHz. I'm not sure but I
> think that this high rate works only with D-SUB. Actually I have 3
> monitors and the third one is connected with the ancient Matrox
> Millennium II card using the D-SUB cable and it uses the modeline with
> the 162MHz PixClk.
Ah, I think you're hitting the bandwidth limitation of the nv34
integrated TMDS transmitter. The attached patch should help with the
console modesetting problem, but you'll still need to set the modelines
manually (and force panel rescaling) if you want to go up to 1600x1200,
because your GPU *cannot* handle the video mode your monitor is asking
for.
>
> PS. By the way - I was force to install Win7 and it works with my LCD
> without any drivers installed.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.1.2: nouveau_tmds_bandwidth.patch --]
[-- Type: text/x-diff, Size: 1810 bytes --]
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 0871495..6208eed 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -641,11 +641,28 @@ nouveau_connector_get_modes(struct drm_connector *connector)
return ret;
}
+static unsigned
+get_tmds_link_bandwidth(struct drm_connector *connector)
+{
+ struct nouveau_connector *nv_connector = nouveau_connector(connector);
+ struct drm_nouveau_private *dev_priv = connector->dev->dev_private;
+ struct dcb_entry *dcb = nv_connector->detected_encoder->dcb;
+
+ if (dcb->location != DCB_LOC_ON_CHIP ||
+ dev_priv->chipset >= 0x46)
+ return 165000;
+ else if (dev_priv->chipset >= 0x40)
+ return 155000;
+ else if (dev_priv->chipset >= 0x18)
+ return 135000;
+ else
+ return 112000;
+}
+
static int
nouveau_connector_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
{
- struct drm_nouveau_private *dev_priv = connector->dev->dev_private;
struct nouveau_connector *nv_connector = nouveau_connector(connector);
struct nouveau_encoder *nv_encoder = nv_connector->detected_encoder;
struct drm_encoder *encoder = to_drm_encoder(nv_encoder);
@@ -663,11 +680,9 @@ nouveau_connector_mode_valid(struct drm_connector *connector,
max_clock = 400000;
break;
case OUTPUT_TMDS:
- if ((dev_priv->card_type >= NV_50 && !nouveau_duallink) ||
- !nv_encoder->dcb->duallink_possible)
- max_clock = 165000;
- else
- max_clock = 330000;
+ max_clock = get_tmds_link_bandwidth(connector);
+ if (nouveau_duallink && nv_encoder->dcb->duallink_possible)
+ max_clock *= 2;
break;
case OUTPUT_ANALOG:
max_clock = nv_encoder->dcb->crtconf.maxfreq;
[-- Attachment #1.2: Type: application/pgp-signature, Size: 229 bytes --]
[-- Attachment #2: Type: text/plain, Size: 181 bytes --]
_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau
next prev parent reply other threads:[~2010-10-02 13:31 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-25 14:04 GeForce FX5200 dual DVI & Samsung 204b Grzesiek Sójka
[not found] ` <4C9E0167.8000507-t9zbU3WrWHI@public.gmane.org>
2010-09-27 21:41 ` Pekka Paalanen
[not found] ` <20100928004117.0a0ae0ca-cxYvVS3buNOdIgDiPM52R8c4bpwCjbIv@public.gmane.org>
2010-09-28 10:43 ` Grzesiek Sójka
[not found] ` <4CA1C6C0.1000709-t9zbU3WrWHI@public.gmane.org>
2010-09-28 14:02 ` Pekka Paalanen
[not found] ` <20100928170227.00665f76-cxYvVS3buNOdIgDiPM52R8c4bpwCjbIv@public.gmane.org>
2010-09-28 16:17 ` Grzesiek Sójka
[not found] ` <4CA21515.4030903-t9zbU3WrWHI@public.gmane.org>
2010-09-29 16:31 ` Pekka Paalanen
[not found] ` <20100929193136.644e0d68-cxYvVS3buNOdIgDiPM52R8c4bpwCjbIv@public.gmane.org>
2010-09-30 10:41 ` Francisco Jerez
[not found] ` <878w2jike0.fsf-sGOZH3hwPm2sTnJN9+BGXg@public.gmane.org>
2010-09-30 15:13 ` Grzesiek Sójka
[not found] ` <4CA4A934.4080109-t9zbU3WrWHI@public.gmane.org>
2010-09-30 16:05 ` Francisco Jerez
[not found] ` <87zkuzgqsv.fsf-sGOZH3hwPm2sTnJN9+BGXg@public.gmane.org>
2010-09-30 18:06 ` Grzesiek Sójka
[not found] ` <4CA4D199.8010403-t9zbU3WrWHI@public.gmane.org>
2010-09-30 23:29 ` Francisco Jerez
[not found] ` <87pqvuhksw.fsf-sGOZH3hwPm2sTnJN9+BGXg@public.gmane.org>
2010-10-01 10:22 ` Grzesiek Sójka
[not found] ` <4CA5B64D.8000608-t9zbU3WrWHI@public.gmane.org>
2010-10-02 13:31 ` Francisco Jerez [this message]
[not found] ` <871v88hgam.fsf-sGOZH3hwPm2sTnJN9+BGXg@public.gmane.org>
2010-10-05 10:17 ` Grzesiek Sójka
[not found] ` <4CAAFB3A.8010804-t9zbU3WrWHI@public.gmane.org>
2010-10-05 12:55 ` Francisco Jerez
[not found] ` <87fwwkhk8h.fsf-sGOZH3hwPm2sTnJN9+BGXg@public.gmane.org>
2010-10-05 13:27 ` Grzesiek Sójka
2010-10-05 14:53 ` Grzesiek Sójka
[not found] ` <4CAB3BDC.4070502-t9zbU3WrWHI@public.gmane.org>
2010-10-05 21:33 ` Pekka Paalanen
[not found] ` <20101006003325.3bfb33e9-cxYvVS3buNOdIgDiPM52R8c4bpwCjbIv@public.gmane.org>
2010-10-05 21:45 ` Marcin Slusarz
[not found] ` <20101005214537.GA4034-OI9uyE9O0yo@public.gmane.org>
2010-10-05 21:53 ` Grzesiek Sójka
[not found] ` <4CAB9E43.7080801-t9zbU3WrWHI@public.gmane.org>
2010-10-05 21:59 ` Grzesiek Sójka
2010-10-07 2:53 ` Francisco Jerez
[not found] ` <87wrpug1d0.fsf-sGOZH3hwPm2sTnJN9+BGXg@public.gmane.org>
2010-10-07 19:34 ` Grzesiek Sójka
2010-10-07 18:47 ` Grzesiek Sójka
2010-09-28 10:53 ` Grzesiek Sójka
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=871v88hgam.fsf@riseup.net \
--to=currojerez-sgozh3hwpm2stnjn9+bgxg@public.gmane.org \
--cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=pld-t9zbU3WrWHI@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.