<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED --- - [HSW bisected]igt/module_reload causes [drm:hsw_unclaimed_reg_check] *ERROR* Unclaimed write to 44004 and system hang with headless, with power well disabled"
href="https://bugs.freedesktop.org/show_bug.cgi?id=67813#c40">Comment # 40</a>
on <a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED --- - [HSW bisected]igt/module_reload causes [drm:hsw_unclaimed_reg_check] *ERROR* Unclaimed write to 44004 and system hang with headless, with power well disabled"
href="https://bugs.freedesktop.org/show_bug.cgi?id=67813">bug 67813</a>
from <span class="vcard"><a class="email" href="mailto:ville.syrjala@linux.intel.com" title="Ville Syrjala <ville.syrjala@linux.intel.com>"> <span class="fn">Ville Syrjala</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=67813#c39">comment #39</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=67813#c38">comment #38</a>)
> > I did some more investigation, and it seems the Kernel gets stuck on an
> > infinite loop that keeps calling VGA. I added some printks, and I at the
> > moment we do the "echo 0" to the bind file
>
> (accidentally hit the "Save Changes" button)
>
> I did some more investigation, and it seems the Kernel gets stuck on an
> infinite loop that keeps calling VGA functions. I added some printks, and at
> the moment we do the "echo 0" to the bind file, we keep printing this
> forever:
>
> [ 431.878277] === write_vga
> [ 431.878278] === vgacon_set_cursor_size
> [ 431.878297] [drm:intel_uncore_check_errors] *ERROR* Unclaimed register
> before interrupt
> [ 431.878331] === vgacon_cursor
> [ 431.878332] === vgacon_restore_screen
> [ 431.878332] === write_vga
> [ 431.878333] === vgacon_set_cursor_size
> [ 431.878373] === vgacon_dummy
> [ 431.878373] === vgacon_scroll
> [ 431.878374] === vgacon_restore_screen
> [ 431.878374] === vgacon_scrollback_update
> [ 431.878435] === vga_set_mem_top
> [ 431.878435] === write_vga
> [ 431.878439] === vgacon_dummy
> [ 431.878440] === vgacon_scroll
> [ 431.878440] === vgacon_restore_screen
> [ 431.878440] === vgacon_scrollback_update
> [ 431.878501] === vga_set_mem_top
> [ 431.878502] === write_vga
> [ 431.878503] === vgacon_cursor
> [ 431.878503] === vgacon_restore_screen
> [ 431.878504] === write_vga
> [ 431.878505] === vgacon_set_cursor_size
> [ 431.878524] [drm:intel_uncore_check_errors] *ERROR* Unclaimed register
> before interrupt
> [ 431.878559] === vgacon_cursor
> [ 431.878559] === vgacon_restore_screen
> [ 431.878559] === write_vga
> [ 431.878560] === vgacon_set_cursor_size
> [ 431.878601] === vgacon_dummy
> [ 431.878601] === vgacon_scroll
> </span >
That just looks like normal vgacon activity when stuff changes on the screen.
The momement you unbind fbcon, vgacon takes over again. The But if the legacy
resources aren't enabled you get the unclaimed register errors.
Either we'd need to restore the hardware to a state where VGA actually works,
or vgacon shouldn't be allowed to rebind after someone has clobbered the state.
I'd go for the latter since it seems easier. Maybe there was a patch already
somewhere. Also restoring the hardware state could happen only at driver unload
time, and by that time vgacon has already kicked in. So even in that case we'd
need to prevent vgacon from taking over before the hardware state has been
restored.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>