<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - i915.ko corrupt text lines at top, [drm] GPU HANG: ecode 2:0:0x037fffc1, reason: Ring hung"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=96473#c13">Comment # 13</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - i915.ko corrupt text lines at top, [drm] GPU HANG: ecode 2:0:0x037fffc1, reason: Ring hung"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=96473">bug 96473</a>
              from <span class="vcard"><a class="email" href="mailto:fdporg@vega.pgw.jp" title="Taketo Kabe <fdporg@vega.pgw.jp>"> <span class="fn">Taketo Kabe</span></a>
</span></b>
        <pre>Temporal solution: do what kernel 3.18.x does:
don't try to determine stolen area and return zero on 865G.
This works (no text corruption, no GPU HANG), but
essentially this is same as <a href="show_bug.cgi?id=96473#c9">Comment 9</a> test, and 
obviously isn't going in right direction.
(is reserved memory usable for /dev/fb0 in 82865G?)

diff -U 6 -p ./drivers/gpu/drm/i915/i915_gem_stolen.c.ville
./drivers/gpu/drm/i915/i915_gem_stolen.c
--- ./drivers/gpu/drm/i915/i915_gem_stolen.c.ville      2016-06-08
10:23:53.000000000 +0900
+++ ./drivers/gpu/drm/i915/i915_gem_stolen.c    2016-06-13 14:10:55.000000000
+0900
@@ -105,23 +105,26 @@ static unsigned long i915_stolen_to_phys
        base = 0;
        if (INTEL_INFO(dev)->gen >= 3) {
                /* Read Graphics Base of Stolen Memory directly */
                pci_read_config_dword(dev->pdev, 0x5c, &base);
                base &= ~((1<<20) - 1);
        } else if (IS_I865G(dev)) {
+#if 0 /* as kernel 3.14 */
                u16 toud = 0;

                /*
                 * FIXME is the graphics stolen memory region
                 * always at TOUD? Ie. is it always the last
                 * one to be allocated by the BIOS?
                 */
                pci_bus_read_config_word(dev->pdev->bus, PCI_DEVFN(0, 0),
                                         I865_TOUD, &toud);

                base = toud << 16;
+#endif
+       /*DDD*/DRM_INFO("i915_stolen_to_physical: i865 base = 0x%x\n", base);
        } else if (IS_I85X(dev)) {
                u32 tseg_size = 0;
                u32 tom;
                u8 tmp;

                pci_bus_read_config_byte(dev->pdev->bus, PCI_DEVFN(0, 0),</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
          <li>You are the assignee for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>