Bug 487657

Summary: System hang or shutdown with VGA on Q43/Q45 on gfx/console transition
Product: Red Hat Enterprise Linux 5 Reporter: Olivier Fourdan <ofourdan>
Component: xorg-x11-drv-i810Assignee: Jonathan Blandford <jrb>
Status: CLOSED ERRATA QA Contact: desktop-bugs <desktop-bugs>
Severity: high Docs Contact:
Priority: urgent    
Version: 5.3CC: cmeadors, ddumas, gasmith, jane.lv, jplans, jvillalo, kem, ling.yue, luyu, mgordon, rlerch, tao, xgl-maint
Target Milestone: rcKeywords: Patch, ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
previously, support for switching between virtual terminals -- or between virtual terminals and the X Window System -- was not fully implemented for newer Intel graphics cards. Users experienced a wide range of problems when they switched, including: losing the display completely; having the display filled with random, pulsating colors; receiving "out of range" or "can't display this mode" errors; the system ceasing to respond; or the system restarting. Cards affected included those with the G4X, G965, GM45, Q43, and Q45 chipsets. The driver now includes full support for switching to, from, and between virtual terminals, meaning that users can switch safely without encountering the problems that they experienced previously.
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-02 11:55:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 480792, 500658    
Attachments:
Description Flags
Proposed patch (backport from upstream commit db9f5915ce812144ffd9d2aa42e8ba856129c35e)
none
Updated patch
none
Disable center on 965 and G4X class hw
none
Merge of the two previous patches none

Description Olivier Fourdan 2009-02-27 10:31:11 UTC
Created attachment 333454 [details]
Proposed patch (backport from upstream commit db9f5915ce812144ffd9d2aa42e8ba856129c35e)

Description of problem:

The problem arises only with VGA (not DVI) on recent Q43/Q45

On transition from graphic mode to text mode, the system hangs and is shortly taken down by the AMT firmware (ie system power off itself within seconds).

Version-Release number of selected component (if applicable):

xorg-x11-drv-i810-1.6.5-9.21

How reproducible:

100% reproducible after a few attempts

Steps to Reproduce:
1. Connect the monitor using VGA
2. Boot the system
3. If it does not hang after RHGB, try killing the X server a few times
  
Actual results:

- System hangs
- The system is automatically switched off

Expected results:

- text/graphic transition cause no disruption

Additional info:

I believe this is upstream bug #17235 that was fixed by this git commit db9f5915ce812144ffd9d2aa42e8ba856129c35e:

  Author: Ma Ling <ling.ma>  2009-01-14 06:46:52
  Committer: Zhenyu Wang <zhenyu.z.wang>  2009-01-14 06:46:52
  Parent: a4b023c17b9c3bd65fb9466ddb8a953f60244402 (Assign rotation memory dri_bo to rotation pixmap.)
  Child:  1e8588ad5087c69eb77399cfaab8e4ec15eb4da9 (use ifdef __linux__ where needed.)
  Branches: master, remotes/origin/master
  Follows: xf86-video-intel-2.4.97.0
  Precedes:

    Disable VGA plane reliably
    This fixes #17235, VGA random hang on recent G45/43 board.
    From spec, SR01 bit 5 should be set before VGA plane disable through
    control register, otherwise we might get random crash and lockups.

This fixes the issue locally, test system has been rebooted several times, X restarted several times and no crash anymore.

Test packages have been provided to partner and customer to confirm, awaiting the results of their tests.

PS: I believe this could be also Fedora bug #475257, but in doubt I kept the two bugs separate.

Comment 5 RHEL Program Management 2009-03-11 18:59:09 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 13 Olivier Fourdan 2009-04-27 13:57:14 UTC
Created attachment 341432 [details]
Updated patch

Updated patch from upstream including also commit id 3aa8591abfbe8db0f13912910c850fdd748808df

http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=3aa8591abfbe8db0f13912910c850fdd748808df

Comment 15 Kristian Høgsberg 2009-04-29 17:58:11 UTC
Created attachment 341807 [details]
Disable center on 965 and G4X class hw

There was another update to this codepath in the upstream driver recently to put back in the "disable center" code for 965 and G4X class hw.  I've attached the patch here, if we can get this tested and confirmed on top of the patch propose above, we should add this bit to the patch.

Comment 16 Olivier Fourdan 2009-04-30 11:14:55 UTC
Created attachment 341905 [details]
Merge of the two previous patches

This patch merges all the patches mentioned, so that the resulting code for i830_disable_vga_plane() is identical to current upstream code, as of today.

This is the one that was applied to the new test package provided to our partner today.

Comment 20 lisa 2009-05-15 06:07:09 UTC
hi, RH
we have another bug #473040 seems use the same fix. Would you please provide pre-release 2D driver so we can have test first? Thanks!

Comment 21 Matěj Cepl 2009-05-15 07:45:23 UTC
*** Bug 473040 has been marked as a duplicate of this bug. ***

Comment 26 Mark Gordon 2009-06-22 19:32:01 UTC
Fix verified on Q43/Q45 + VGA using the 20090608.2 tree.

Comment 28 Ruediger Landmann 2009-08-22 09:07:37 UTC
Release note added. If any revisions are required, please set the 
"requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly.
All revisions will be proofread by the Engineering Content Services team.

New Contents:
previously, support for switching between virtual terminals -- or between virtual terminals and the X Window System -- was not fully implemented for newer Intel graphics cards. Users experienced a wide range of problems when they switched, including: losing the display completely; having the display filled with random, pulsating colors; receiving "out of range" or "can't display this mode" errors; the system ceasing to respond; or the system restarting. Cards affected included those with the G4X, G965, GM45, Q43, and Q45 chipsets. The driver now includes full support for switching to, from, and between virtual terminals, meaning that users can switch safely without encountering the problems that they experienced previously.

Comment 29 errata-xmlrpc 2009-09-02 11:55:38 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-1391.html