https://bugs.freedesktop.org/show_bug.cgi?id=37669
--- Comment #5 from Antoine Reversat <a.rever...@gmail.com> 2011-12-15 07:47:52 PST --- So I've gotten a bit further. I tracked down the code that triggers the issue : it's this part of nv50_sor.c : if (!nv_wait(dev, NV50_PDISPLAY_SOR_DPMS_CTRL(or), NV50_PDISPLAY_SOR_DPMS_CTRL_PENDING, 0)) { NV_ERROR(dev, "timeout: SOR_DPMS_CTRL_PENDING(%d) == 0\n", or); NV_ERROR(dev, "SOR_DPMS_CTRL(%d) = 0x%08x\n", or, nv_rd32(dev, NV50_PDISPLAY_SOR_DPMS_CTRL(or))); } val = nv_rd32(dev, NV50_PDISPLAY_SOR_DPMS_CTRL(or)); if (mode == DRM_MODE_DPMS_ON) val |= NV50_PDISPLAY_SOR_DPMS_CTRL_ON; else val &= ~NV50_PDISPLAY_SOR_DPMS_CTRL_ON; nv_wr32(dev, NV50_PDISPLAY_SOR_DPMS_CTRL(or), val | NV50_PDISPLAY_SOR_DPMS_CTRL_PENDING); if (!nv_wait(dev, NV50_PDISPLAY_SOR_DPMS_STATE(or), NV50_PDISPLAY_SOR_DPMS_STATE_WAIT, 0)) { NV_ERROR(dev, "timeout: SOR_DPMS_STATE_WAIT(%d) == 0\n", or); NV_ERROR(dev, "SOR_DPMS_STATE(%d) = 0x%08x\n", or, nv_rd32(dev, NV50_PDISPLAY_SOR_DPMS_STATE(or))); } If I add an if to skip the code if the sor is going to DPMS off and the encoder type is tmds then the bug doesn't happen anymore. I don't understand how this affects sor0 (which the LVDS output is using) as the code seems pretty sane. I also noted something and am not sure whether it's correct or not. My flat panel is connected through a DP-DVI adapter but nv_encoder->dcb->type is OUTPUT_TMDS not OUTPUT_DP. Is this due to the fact that it's "DVI over DP" ? Or is this not normal ? -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau