[Nouveau] [Bug 29129] New: Cannot set refresh rate on nv50

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jul 17 05:39:23 PDT 2010


https://bugs.freedesktop.org/show_bug.cgi?id=29129

           Summary: Cannot set refresh rate on nv50
           Product: xorg
           Version: unspecified
          Platform: x86-64 (AMD64)
               URL: http://marc.info/?l=linux-kernel&m=127913459017236&w=2
        OS/Version: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Driver/nouveau
        AssignedTo: nouveau at lists.freedesktop.org
        ReportedBy: svenjoac at gmx.de
         QAContact: xorg-team at lists.x.org


Since Linux 2.6.34, it is no longer possible to set the refresh rate with the
"video=... at nn" parameter, e.g. video=1280x1024 at 75 is ignored.

I bisected this to the following commit:

drm/nv50: enable hpd on any connector we know the gpio line for

Signed-off-by: Ben Skeggs <bskeggs at redhat.com>

diff --git a/drivers/gpu/drm/nouveau/nv50_display.c
b/drivers/gpu/drm/nouveau/nv50_display.c
index 61a89f2..ebcd8bf 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -370,7 +370,9 @@ nv50_display_init(struct drm_device *dev)
         struct nouveau_connector *conn = nouveau_connector(connector);
         struct dcb_gpio_entry *gpio;

-        if (conn->dcb->gpio_tag == 0xff)
+        if (connector->connector_type != DRM_MODE_CONNECTOR_DVII &&
+            connector->connector_type != DRM_MODE_CONNECTOR_DVID &&
+            connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)
             continue;

         gpio = nouveau_bios_gpio_entry(dev, conn->dcb->gpio_tag);

diff --git a/drivers/gpu/drm/nouveau/nv50_display.c
b/drivers/gpu/drm/nouveau/nv50_display.c
index ebcd8bf..61a89f2 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -370,9 +370,7 @@ nv50_display_init(struct drm_device *dev)
         struct nouveau_connector *conn = nouveau_connector(connector);
         struct dcb_gpio_entry *gpio;

-        if (connector->connector_type != DRM_MODE_CONNECTOR_DVII &&
-            connector->connector_type != DRM_MODE_CONNECTOR_DVID &&
-            connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)
+        if (conn->dcb->gpio_tag == 0xff)
             continue;

         gpio = nouveau_bios_gpio_entry(dev, conn->dcb->gpio_tag);


It should be noted that since this commit all the card data appear under
/sys/class/drm/card0-DVI-I-1, e.g. /sys/class/drm/card0-DVI-I-1/enabled says
"enabled" and /sys/class/drm/card0-VGA-1/enabled says "disabled", despite the
monitor being connected via VGA.

I only noticed this in 2.6.35-rc5 because the default refresh rate changed to
60 Hz there, see https://bugzilla.kernel.org/show_bug.cgi?id=16402.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Nouveau mailing list