Summary: | Screen turns black during boot after driver tries to set mode on NV50 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Lubosz Sarnecki <lubosz> | ||||||
Component: | Driver/nouveau | Assignee: | Maarten Lankhorst <bugs> | ||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||
Severity: | normal | ||||||||
Priority: | medium | ||||||||
Version: | git | ||||||||
Hardware: | x86-64 (AMD64) | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Description
Lubosz Sarnecki
2012-09-28 11:51:39 UTC
Created attachment 67817 [details]
kernel log with nouveau.reg_debug=0x600
Booted with the flag nouveau.reg_debug=0x600.
I guess this can be closed, since it does not occur on Linux 3.6.6, which is more recent than the mentioned git version. Hi Lubosz The commit mentioned was part of the big nouveau rework, that landed in the 3.7 kernel tree. Note that the commit has been rebased thus I cannot check why exactly it's causing issues with your system From what I can see is * With the offending commit, nouveau fails to detect any CRTC (outputs) connected, thus the issue * With the commit and "nouveau.reg_debug=0x600" nouveau complains "nouveau: `0x600' invalid for parameter `reg_debug" and does not load (at least not mentioned in the log) Can you try the latest nouveau git or linux 3.7 to establish it this regression has been fixed or not Thanks Very easy to see what regressed, though.. upstream commit that made it to mainline is c0077061e7ea, with this: if (nv_encoder->dcb->lvdsconf.use_acpi_for_edid) { - if (!nouveau_acpi_edid(dev, connector)) { + if (!(nv_connector->edid = nouveau_acpi_edid(dev, connector))) { status = connector_status_connected; goto out; } Which looks fine, but is inversion of logic. First it returned 0 on success, now it returns NULL on failure.. Fix would presumably be one line only: - if (!(nv_connector->edid = nouveau_acpi_edid(dev, connector))) { + if ((nv_connector->edid = nouveau_acpi_edid(dev, connector))) { I can use nouveau on linux 3.7.8 without problems. The regression did not occur since 3.6.6 releases on this hardware. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.