[Bug 57434] [i915GM regression] black screen after blank when LID is closed on Linux >= 3.1

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Dec 18 14:16:34 PST 2012


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

--- Comment #11 from Krzysztof Mazur <krzysiek at podlesie.net> ---
I found a way to bring display back after this problem, I just need to
set a VGACNTRL register:

writel(0x80000000, 0xd0471400)

0xd0400000 is I915GM BAR0.

00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML
Express Graphics Controller (rev 03) (prog-if 00 [VGA controller])
        Subsystem: Hewlett-Packard Company NX6110/NC6120
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at d0400000 (32-bit, non-prefetchable) [size=512K]
        I/O ports at 7000 [size=8]
        Memory at c0000000 (32-bit, prefetchable) [size=256M]
        Memory at d0480000 (32-bit, non-prefetchable) [size=256K]


I found that by reenabling ACPI video, but with different DOS settings:

diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index ae9deca..491751b 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -1457,7 +1457,7 @@ static int acpi_video_bus_put_devices(struct
acpi_video_bus *video)

 static int acpi_video_bus_start_devices(struct acpi_video_bus *video)
 {
-       return acpi_video_bus_DOS(video, 0, 0);
+       return acpi_video_bus_DOS(video, 3, 1);
 }

 static int acpi_video_bus_stop_devices(struct acpi_video_bus *video)

In that case the single LID close + LID open triggers the issue and
intel_reg_dumper diff is much cleaner in that case.

--- before.dump 2012-12-18 22:21:32.000000000 +0100
+++ after.dump  2012-12-18 22:21:47.000000000 +0100
@@ -37,7 +37,7 @@
          DVOA_SRCDIM: 0x00000000
          DVOB_SRCDIM: 0x00000000
          DVOC_SRCDIM: 0x00000000
-          PP_CONTROL: 0xabcd0001 (power target: on)
+          PP_CONTROL: 0x00000001 (power target: on)
            PP_STATUS: 0xc0000008 (on, ready, sequencing idle)
         PP_ON_DELAYS: 0x025807d0
        PP_OFF_DELAYS: 0x01f407d0
@@ -55,7 +55,7 @@
          DSPATILEOFF: 0x00000000
            PIPEACONF: 0xc0000000 (enabled, double-wide)
             PIPEASRC: 0x077f059f (1920, 1440)
-           PIPEASTAT: 0x00000203 (status: VSYNC_INT_STATUS VBLANK_INT_STATUS
OREG_UPDATE_STATUS)
+           PIPEASTAT: 0x80000203 (status: FIFO_UNDERRUN VSYNC_INT_STATUS
VBLANK_INT_STATUS OREG_UPDATE_STATUS)
    PIPEA_GMCH_DATA_M: 0x00000000
    PIPEA_GMCH_DATA_N: 0x00000000
      PIPEA_DP_LINK_M: 0x00000000
@@ -107,8 +107,8 @@
    VCLK_DIVISOR_VGA0: 0x00031108
    VCLK_DIVISOR_VGA1: 0x00031406
        VCLK_POST_DIV: 0x00800080
-            VGACNTRL: 0x80000000 (disabled)
-              TV_CTL: 0x000c0c00
+            VGACNTRL: 0x22c40000 (enabled)
+              TV_CTL: 0x300c0c00
               TV_DAC: 0x70000000
             TV_CSC_Y: 0x0332012d
            TV_CSC_Y2: 0x07d30104

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20121218/dbf303c4/attachment.html>


More information about the intel-gfx-bugs mailing list