[Intel-gfx] 2.6.33: white screen flash with i915

Holger Schurig holgerschurig at gmail.com
Thu Mar 4 11:02:27 CET 2010


> the whitescreen you encounter is probably a bug.
> to get further with debugging this:
> try to restart with i915 and fbcon built into the kernel and modesetting
> switched on (in your .config or via kernel commandline: i915.modeset=1 )
> as well as the kernel commandline drm.debug=12 (probably needs some
> debugging option for drm turned on in  your .config )
> 
> then post your resulting dmesg here and/or on
> dri-devel at lists.sourceforge.net (which is the list mentioned in the
> kernel MAINTAINERS file for the drm drivers )

Thanks for this info.

Okay, I cross-post now to dri-devel. For readers there: I have an embedded 
device with a fixed 800x600 LCD display. Kernel is vanilla 2.6.33 from 
kernel.org, for the exact hardware see lspci output below.

My real problem is that with an older kernel / older X11 the xserver-xorg-
video-i810 used to work. But with current kernel and current X11 the xserver-
xorg-video-intel driver (from Debian unstable) doesn't work at all, it hard-
locks my board -> i have to reset. So I first thougth about getting a 
framebuffer from Linux kernel. If the kernel itself can turn the intel 
graphics to 800x600 frame-buffer mode, I think I have the first step done.

Unfortunately, modprobing i915 only yields me a totally white screen, but the 
white screen disappears after a short period of time.

Apparently the framebuffer is now turned on, e.g. "cat /sbin/init >/dev/fb0" 
brings garbage (as expected) to the window.


Now my question is if / how I can disable this white-screen.


-------------------------------------------------------------
# modprobe drm debug=12
# modprobe i915 modeset=1
... now I have a totally white screen ... for about one second ...
# lsmod
Module                  Size  Used by
i915                  195424  1
drm_kms_helper         20496  1 i915
drm                   105440  2 i915,drm_kms_helper
i2c_algo_bit            3668  1 i915
button                  2852  1 i915
video                  12332  1 i915
backlight               1972  1 video
output                   848  1 video
# dmesg
[drm] Initialized drm 1.1.0 20060810  
input: Power Button as /class/input/input2
ACPI: Power Button [PWRB]                 
input: Power Button as /class/input/input3
ACPI: Power Button [PWRF]                 
i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
i915 0000:00:02.0: setting latency timer to 64               
[drm] set up 31M of stolen space                             
[drm:parse_general_definitions], crt_ddc_bus_pin: 2          
[drm:parse_lfp_panel_data], Found panel mode in BIOS VBT tables:
[drm:drm_mode_debug_printmodeline], Modeline 0:"800x600" 0 40000 800 840 968 
1056 600 601 605 628 0x8 0x0
[drm:parse_sdvo_device_mapping], No SDVO device info is found in VBT                                     
[drm:intel_modeset_init], 2 display pipes available.                                                     
[drm:ch7xxx_init], Detected CH7301 chipset, vendor/device ID 0x95/0x17                                   
[drm] initialized overlay support                                                                        
[drm:drm_helper_probe_single_connector_modes], VGA-1                                                     
[drm:intel_update_watermarks], plane A (pipe 0) clock: 31500                                             
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) A: 85                                                 
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) B: -45                                                
[drm:intel_calculate_wm], FIFO entries required for mode: 19                                             
[drm:intel_calculate_wm], FIFO watermark level: 64                                                       
[drm:intel_calculate_wm], FIFO entries required for mode: 0                                              
[drm:intel_calculate_wm], FIFO watermark level: -47                                                      
[drm:i9xx_update_wm], FIFO watermarks - A: 63, B: 1                                                      
[drm:i9xx_update_wm], Setting FIFO watermarks - A: 63, B: 1, C: 2, SR 1                                  
[drm:intel_crtc_mode_set], Mode for pipe A:                                                              
[drm:drm_mode_debug_printmodeline], Modeline 0:"640x480" 0 31500 640 664 704 
832 480 489 491 520 0x10 0xa
[drm:intel_pipe_set_base], No FB bound                                                                   
[drm:intel_update_watermarks], plane A (pipe 0) clock: 31500                                             
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) A: 85                                                 
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) B: -45                                                
[drm:intel_calculate_wm], FIFO entries required for mode: 19                                             
[drm:intel_calculate_wm], FIFO watermark level: 64                                                       
[drm:intel_calculate_wm], FIFO entries required for mode: 0                                              
[drm:intel_calculate_wm], FIFO watermark level: -47                                                      
[drm:i9xx_update_wm], FIFO watermarks - A: 63, B: 1                                                      
[drm:i9xx_update_wm], Setting FIFO watermarks - A: 63, B: 1, C: 2, SR 1                                  
[drm:intel_update_watermarks], plane A (pipe 0) clock: 31500                                             
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) A: 85                                                 
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) B: -45                                                
[drm:intel_calculate_wm], FIFO entries required for mode: 19                                             
[drm:intel_calculate_wm], FIFO watermark level: 64                                                       
[drm:intel_calculate_wm], FIFO entries required for mode: 0                                              
[drm:intel_calculate_wm], FIFO watermark level: -47                                                      
[drm:i9xx_update_wm], FIFO watermarks - A: 63, B: 1                                                      
[drm:i9xx_update_wm], Setting FIFO watermarks - A: 63, B: 1, C: 2, SR 1                                  
[drm:drm_helper_probe_single_connector_modes], VGA-1 is disconnected                                     
[drm:drm_helper_probe_single_connector_modes], LVDS-1                                                    
[drm:drm_helper_probe_single_connector_modes], Probed modes for LVDS-1                                   
[drm:drm_mode_debug_printmodeline], Modeline 13:"800x600" 60 40000 800 840 968 
1056 600 601 605 628 0x8 0x0
[drm:drm_helper_probe_single_connector_modes], DVI-I-1                                                     
[drm:drm_helper_probe_single_connector_modes], DVI-I-1 is disconnected                                     
[drm:drm_setup_crtcs],                                                                                     
[drm:drm_enable_connectors], connector 5 enabled? no                                                       
[drm:drm_enable_connectors], connector 7 enabled? yes                                                      
[drm:drm_enable_connectors], connector 11 enabled? no                                                      
[drm:drm_target_preferred], looking for cmdline mode on connector 7                                        
[drm:drm_target_preferred], looking for preferred mode on connector 7                                      
[drm:drm_target_preferred], found mode 800x600                                                             
[drm:drm_setup_crtcs], picking CRTCs for 2048x2048 config                                                  
[drm:drm_setup_crtcs], desired mode 800x600 set on crtc 4                                                  
[drm:intelfb_probe],                                                                                       
[drm:intelfb_create], allocated 800x600 fb: 0x02000000, bo cc969540                                        
[drm:drm_crtc_helper_set_config],                                                                          
[drm:drm_crtc_helper_set_config], crtc: cc978800 4 fb: cda15300 connectors: 
cd973f70 num_connectors: 1 (x, y) (0, 0)                                                                                                                  
[drm:drm_crtc_helper_set_config], crtc has no fb, full mode set                                                    
[drm:drm_crtc_helper_set_config], modes are different, full mode set                                               
[drm:drm_mode_debug_printmodeline], Modeline 0:"" 0 0 0 0 0 0 0 0 0 0 0x0 0x0                                      
[drm:drm_mode_debug_printmodeline], Modeline 15:"800x600" 60 40000 800 840 968 
1056 600 601 605 628 0x8 0x0        
[drm:drm_crtc_helper_set_config], setting connector 7 crtc to cc978800                                             
[drm:drm_crtc_helper_set_config], attempting to set mode from userspace                                            
[drm:drm_mode_debug_printmodeline], Modeline 15:"800x600" 60 40000 800 840 968 
1056 600 601 605 628 0x8 0x0        
[drm:intel_update_watermarks], plane B (pipe 1) clock: 40000                                                       
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) A: 85                                                           
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) B: -45                                                          
[drm:intel_calculate_wm], FIFO entries required for mode: 0                                                        
[drm:intel_calculate_wm], FIFO watermark level: 83                                                                 
[drm:intel_calculate_wm], FIFO entries required for mode: 25                                                       
[drm:intel_calculate_wm], FIFO watermark level: -72                                                                
[drm:i9xx_update_wm], FIFO watermarks - A: 63, B: 1                                                                
[drm:i9xx_update_wm], Setting FIFO watermarks - A: 63, B: 1, C: 2, SR 1                                            
[drm:intel_crtc_mode_set], Mode for pipe B:                                                                        
[drm:drm_mode_debug_printmodeline], Modeline 15:"800x600" 60 40000 800 840 968 
1056 600 601 605 628 0x8 0x0        
[drm:intel_pipe_set_base], Writing base 02000000 00000000 0 0                                                      
[drm:intel_update_watermarks], plane B (pipe 1) clock: 40000                                                       
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) A: 85
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) B: -45
[drm:intel_calculate_wm], FIFO entries required for mode: 0
[drm:intel_calculate_wm], FIFO watermark level: 83
[drm:intel_calculate_wm], FIFO entries required for mode: 25
[drm:intel_calculate_wm], FIFO watermark level: -72
[drm:i9xx_update_wm], FIFO watermarks - A: 63, B: 1
[drm:i9xx_update_wm], Setting FIFO watermarks - A: 63, B: 1, C: 2, SR 1
[drm:intel_update_watermarks], plane B (pipe 1) clock: 40000
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) A: 85
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) B: -45
[drm:intel_calculate_wm], FIFO entries required for mode: 0
[drm:intel_calculate_wm], FIFO watermark level: 83
[drm:intel_calculate_wm], FIFO entries required for mode: 25
[drm:intel_calculate_wm], FIFO watermark level: -72
[drm:i9xx_update_wm], FIFO watermarks - A: 63, B: 1
[drm:i9xx_update_wm], Setting FIFO watermarks - A: 63, B: 1, C: 2, SR 1
[drm:intel_update_watermarks], plane B (pipe 1) clock: 40000
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) A: 85
[drm:i9xx_get_fifo_size], FIFO size - (0x00015455) B: -45
[drm:intel_calculate_wm], FIFO entries required for mode: 0
[drm:intel_calculate_wm], FIFO watermark level: 83
[drm:intel_calculate_wm], FIFO entries required for mode: 25
[drm:intel_calculate_wm], FIFO watermark level: -72
[drm:i9xx_update_wm], FIFO watermarks - A: 63, B: 1
[drm:i9xx_update_wm], Setting FIFO watermarks - A: 63, B: 1, C: 2, SR 1
Console: switching to colour frame buffer device 100x37
[drm:drm_crtc_helper_set_config],
[drm:drm_crtc_helper_set_config], crtc: cc978800 4 fb: cda15300 connectors: 
cd973f70 num_connectors: 1 (x, y) (0, 0)
[drm:drm_crtc_helper_set_config], setting connector 7 crtc to cc978800
fb0: inteldrmfb frame buffer device
registered panic notifier
[drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
# lspci -vnn
...
00:02.0 VGA compatible controller [0300]: Intel Corporation 82852/855GM 
Integrated Graphics Device [8086:3582] (rev 02) (prog-if 00 [VGA controller])                                                                                 
        Subsystem: Intel Corporation 82852/855GM Integrated Graphics Device 
[8086:3582]                            
        Flags: bus master, fast devsel, latency 0, IRQ 16                                                          
        Memory at d8000000 (32-bit, prefetchable) [size=128M]                                                      
        Memory at e8180000 (32-bit, non-prefetchable) [size=512K]                                                  
        I/O ports at e300 [size=8]                                                                                 
        Expansion ROM at <unassigned> [disabled]                                                                   
        Capabilities: [d0] Power Management version 1                                                              
        Kernel driver in use: i915                                                                                 

00:02.1 Display controller [0380]: Intel Corporation 82852/855GM Integrated 
Graphics Device [8086:3582] (rev 02)
        Subsystem: Intel Corporation 82852/855GM Integrated Graphics Device 
[8086:3582]                         
        Flags: bus master, fast devsel, latency 0                                                               
        Memory at e0000000 (32-bit, prefetchable) [size=128M]                                                   
        Memory at e8100000 (32-bit, non-prefetchable) [size=512K]                                               
        Capabilities: [d0] Power Management version 1 
...
# cat /boot/config
...
#
# Graphics support
#
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=y
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
# CONFIG_VGA_ARB is not set
CONFIG_DRM=m
CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
# CONFIG_FB_DDC is not set
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
CONFIG_FB_VESA=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=m
CONFIG_BACKLIGHT_GENERIC=m
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
# CONFIG_BACKLIGHT_SAHARA is not set
...
# cat /proc/cmdline
root=/dev/hdc1 ro quiet
-------------------------------------------------------------

I cat'ted /proc/cmdline, so that you see that the compiled-in vesa framebuffer 
isn't active. With vga=0x243 I can switch on the vesa-framebuffer with a 
little help from the BIOS.

-- 
http://www.holgerschurig.de



More information about the Intel-gfx mailing list