FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Kernel

 
 
LinkBack Thread Tools
 
Old 02-29-2012, 12:03 PM
Lukas Anzinger
 
Default Bug#661696: drm/i915: wrong fifo size due to uncareful refactoring which results in an xserver crash at 800x600

Package: linux-2.6
Version: 2.6.32-41
Severity: important
Tags: upstream patch

Hi,

I've encountered a nasty bug in the drm/i915 part of Debian's stable kernel. The code is also present in 2.6.33.20, which is the latest stable upstream release of 2.6.33.y at the time of writing.

During a refactoring of the i915 driver a regression has been introduced (http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commit;h=e70236a8d3d0a4c100a0b9f7d394 d9bda9c56aca): For some chipsets the wrong fifo size is determined which results in lot's of pixel errors when starting the xserver and choosing 800x600 as a resolution. If another resolution is used (eg. 1024x768 or 1280x1024), I don't encounter this problem.

I've attached a patch that fixes the problem (no pixel errors anymore) and determines the correct fifo size.

--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4828,15 +4828,15 @@ static void intel_init_display(struct drm_device *dev)
dev_priv->display.update_wm = i965_update_wm;
else if (IS_I9XX(dev) || IS_MOBILE(dev)) {
dev_priv->display.update_wm = i9xx_update_wm;
- dev_priv->display.get_fifo_size = i9xx_get_fifo_size;
- } else {
if (IS_I85X(dev))
dev_priv->display.get_fifo_size = i85x_get_fifo_size;
else if (IS_845G(dev))
dev_priv->display.get_fifo_size = i845_get_fifo_size;
else
- dev_priv->display.get_fifo_size = i830_get_fifo_size;
+ dev_priv->display.get_fifo_size = i9xx_get_fifo_size;
+ } else {
dev_priv->display.update_wm = i830_update_wm;
+ dev_priv->display.get_fifo_size = i830_get_fifo_size;
}
}

Regards,

Lukas

-- Package-specific info:
** Version:
Linux version 2.6.32-5-686 (Debian 2.6.32-41) (ben@decadent.org.uk) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Jan 16 16:04:25 UTC 2012

** Command line:
BOOT_IMAGE=/boot/vmlinuz-2.6.32-5-686 root=UUID=08a419ad-d4d1-47ff-94fd-6d7c8c5321de ro quiet

** Not tainted

** Kernel log:
[ 1.637921] sd 0:0:0:0: [sda] 8027712 512-byte logical blocks: (4.11 GB/3.82 GiB)
[ 1.638005] sd 0:0:0:0: [sda] Write Protect is off
[ 1.638010] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.638045] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 1.638258] sda: sda1 sda2
[ 1.639892] sd 0:0:0:0: [sda] Attached SCSI disk
[ 1.740461] usb 1-1: new full speed USB device using uhci_hcd and address 2
[ 1.744283] kjournald starting. Commit interval 5 seconds
[ 1.744299] EXT3-fs: mounted filesystem with ordered data mode.
[ 1.897098] usb 1-1: New USB device found, idVendor=1a40, idProduct=0201
[ 1.897104] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 1.897109] usb 1-1: Product: USB 2.0 Hub [MTT]
[ 1.897256] usb 1-1: configuration #1 chosen from 1 choice
[ 1.900120] hub 1-1:1.0: USB hub found
[ 1.902075] hub 1-1:1.0: 7 ports detected
[ 2.006518] udev[254]: starting version 164
[ 2.020066] usb 1-2: new full speed USB device using uhci_hcd and address 3
[ 2.194232] usb 1-2: New USB device found, idVendor=9710, idProduct=7830
[ 2.194239] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.194244] usb 1-2: Product: USB-MAC Controller
[ 2.194247] usb 1-2: Manufacturer: Moschip Semiconductor
[ 2.194251] usb 1-2: SerialNumber: 3b00043d
[ 2.194414] usb 1-2: configuration #1 chosen from 1 choice
[ 2.274033] usb 1-1.2: new full speed USB device using uhci_hcd and address 4
[ 2.350298] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 2.388923] input: PC Speaker as /devices/platform/pcspkr/input/input0
[ 2.403022] Marking TSC unstable due to TSC halts in idle
[ 2.405028] processor LNXCPU:00: registered as cooling_device1
[ 2.419214] Switching to clocksource acpi_pm
[ 2.456113] intel_rng: FWH not detected
[ 2.470309] ACPI: AC Adapter [ADP1] (off-line)
[ 2.470506] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
[ 2.470522] ACPI: Power Button [PWRB]
[ 2.470618] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
[ 2.470624] ACPI: Power Button [PWRF]
[ 2.488242] i801_smbus 0000:00:1f.3: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[ 2.499895] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[ 2.529165] usb 1-1.3: new low speed USB device using uhci_hcd and address 5
[ 2.542981] usb 1-2: applying rev.C fixup
[ 2.549198] usb 1-2: applying rev.C fixup
[ 2.561229] eth1: register 'MOSCHIP usb-ethernet driver' at usb-0000:00:1d.0-2, MOSCHIP 7830/7730 usb-NET adapter, 00:13:3b:00:04:3d
[ 2.561269] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[ 2.618157] [drm] Initialized drm 1.1.0 20060810
[ 2.714449] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 2.714459] i915 0000:00:02.0: setting latency timer to 64
[ 2.719367] [drm] set up 3M of stolen space
[ 2.786929] usb 1-1.4: new low speed USB device using uhci_hcd and address 6
[ 2.810044] [drm] initialized overlay support
[ 3.017929] usb 1-1.4: New USB device found, idVendor=046d, idProduct=c312
[ 3.017936] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3.017941] usb 1-1.4: Product: USB Multimedia Keyboard
[ 3.017945] usb 1-1.4: Manufacturer: LITEON Technology
[ 3.018172] usb 1-1.4: configuration #1 chosen from 1 choice
[ 3.064696] usbcore: registered new interface driver usbserial
[ 3.065060] USB Serial support registered for generic
[ 3.065322] usbcore: registered new interface driver usbserial_generic
[ 3.065325] usbserial: USB Serial Driver core
[ 3.105820] Console: switching to colour frame buffer device 160x64
[ 3.106212] USB Serial support registered for FTDI USB Serial Device
[ 3.120640] fb0: inteldrmfb frame buffer device
[ 3.120643] registered panic notifier
[ 3.131269] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
[ 3.131332] usbcore: registered new interface driver ftdi_sio
[ 3.131336] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
[ 3.134135] usbcore: registered new interface driver hiddev
[ 3.137738] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[ 3.137813] Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[ 3.137849] Intel ICH 0000:00:1f.5: setting latency timer to 64
[ 3.149671] input: LITEON Technology USB Multimedia Keyboard as /devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input3
[ 3.149953] generic-usb 0003:046D:C312.0001: input,hidraw0: USB HID v1.10 Keyboard [LITEON Technology USB Multimedia Keyboard] on usb-0000:00:1d.0-1.4/input0
[ 3.150007] usbcore: registered new interface driver usbhid
[ 3.150305] usbhid: v2.6:USB HID core driver
[ 3.460056] intel8x0_measure_ac97_clock: measured 54690 usecs (2635 samples)
[ 3.460062] intel8x0: clocking to 48000
[ 3.765560] Adding 524280k swap on /dev/sda2. Priority:-1 extents:1 across:524280k
[ 3.845241] EXT3 FS on sda1, internal journal
[ 4.165025] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 4.168163] e100: eth0 NIC Link is Up 100 Mbps Full Duplex
[ 4.168463] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 7.849201] [drm:intel_crtc_mode_set] *ERROR* Couldn't find PLL settings for mode!
[ 7.849209] [drm:drm_crtc_helper_set_config] *ERROR* failed to set mode on crtc ce96d000
[ 14.552037] eth0: no IPv6 routers present

** Model information
not available

** Loaded modules:
Module Size Used by
usbhid 28016 0
ftdi_sio 28887 0
hid 50909 1 usbhid
usbserial 22100 1 ftdi_sio
snd_intel8x0 19595 2
snd_ac97_codec 79200 1 snd_intel8x0
ac97_bus 710 1 snd_ac97_codec
snd_pcm 47226 2 snd_intel8x0,snd_ac97_codec
snd_seq 35463 0
i915 223022 1
snd_timer 12270 2 snd_pcm,snd_seq
drm_kms_helper 18569 1 i915
snd_seq_device 3673 1 snd_seq
drm 111992 2 i915,drm_kms_helper
i2c_algo_bit 3493 1 i915
snd 34423 10 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_seq,snd_ti mer,snd_seq_device
mcs7830 4077 0
shpchp 21200 0
i2c_i801 6462 0
evdev 5609 0
video 14605 1 i915
usbnet 9527 1 mcs7830
soundcore 3450 1 snd
psmouse 44809 0
ac 1640 0
button 3598 1 i915
processor 26327 1
pcspkr 1207 0
i2c_core 12787 5 i915,drm_kms_helper,drm,i2c_algo_bit,i2c_i801
snd_page_alloc 5045 2 snd_intel8x0,snd_pcm
rng_core 2178 0
serio_raw 2916 0
output 1204 1 video
pci_hotplug 18545 1 shpchp
ext3 94396 1
jbd 32401 1 ext3
mbcache 3762 1 ext3
sd_mod 26013 3
crc_t10dif 1012 1 sd_mod
ata_generic 2247 0
fan 2586 0
ata_piix 17736 2
thermal 9206 0
uhci_hcd 16057 0
libata 115889 2 ata_generic,ata_piix
e100 22317 0
ehci_hcd 28689 0
thermal_sys 9378 4 video,processor,fan,thermal
usbcore 99329 9 usbhid,ftdi_sio,usbserial,mcs7830,usbnet,uhci_hcd, ehci_hcd
mii 2714 3 mcs7830,usbnet,e100
scsi_mod 105001 2 sd_mod,libata
nls_base 4541 1 usbcore

** PCI devices:
00:00.0 Host bridge [0600]: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller [8086:3580] (rev 02)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
Latency: 0
Region 0: Memory at <unassigned> (32-bit, prefetchable)
Capabilities: [40] Vendor Specific Information: Len=05 <?>
Kernel driver in use: agpgart-intel

00:00.1 System peripheral [0880]: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller [8086:3584] (rev 02)
Subsystem: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller [8086:3584]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0

00:00.3 System peripheral [0880]: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller [8086:3585] (rev 02)
Subsystem: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller [8086:3585]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0

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]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at f0000000 (32-bit, prefetchable) [size=128M]
Region 1: Memory at ffa80000 (32-bit, non-prefetchable) [size=512K]
Region 2: I/O ports at ec00 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: [d0] Power Management version 1
Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: i915

00:1d.0 USB Controller [0c03]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 [8086:24c2] (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Device [8086:24c0]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 4: I/O ports at e080 [size=32]
Kernel driver in use: uhci_hcd

00:1d.1 USB Controller [0c03]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 [8086:24c4] (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Device [8086:24c0]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin B routed to IRQ 19
Region 4: I/O ports at e400 [size=32]
Kernel driver in use: uhci_hcd

00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev 82) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR+ INTx-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: ff800000-ff8fffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-

00:1f.0 ISA bridge [0601]: Intel Corporation 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge [8086:24c0] (rev 02)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0

00:1f.1 IDE interface [0101]: Intel Corporation 82801DB (ICH4) IDE Controller [8086:24cb] (rev 02) (prog-if 8a [Master SecP PriP])
Subsystem: Intel Corporation Device [8086:24c0]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at 01f0 [size=8]
Region 1: I/O ports at 03f4 [size=1]
Region 2: I/O ports at 0170 [size=8]
Region 3: I/O ports at 0374 [size=1]
Region 4: I/O ports at fc00 [size=16]
Region 5: Memory at 10000000 (32-bit, non-prefetchable) [size=1K]
Kernel driver in use: ata_piix

00:1f.3 SMBus [0c05]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller [8086:24c3] (rev 02)
Subsystem: Intel Corporation Device [8086:24c0]
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin B routed to IRQ 17
Region 4: I/O ports at 0400 [size=32]
Kernel driver in use: i801_smbus

00:1f.5 Multimedia audio controller [0401]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller [8086:24c5] (rev 02)
Subsystem: Device [414c:4760]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin B routed to IRQ 17
Region 0: I/O ports at e800 [size=256]
Region 1: I/O ports at e480 [size=64]
Region 2: Memory at ffa7bc00 (32-bit, non-prefetchable) [size=512]
Region 3: Memory at ffa7b800 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: Intel ICH

01:08.0 Ethernet controller [0200]: Intel Corporation 82801DB PRO/100 VE (CNR) Ethernet Controller [8086:103a] (rev 82)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64 (2000ns min, 14000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 20
Region 0: Memory at ff8ff000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at dc00 [size=64]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME-
Kernel driver in use: e100


** USB devices:
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 006: ID 046d:c312 Logitech, Inc. DeLuxe 250 Keyboard
Bus 001 Device 002: ID 1a40:0201 TERMINUS TECHNOLOGY INC.
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


-- System Information:
Debian Release: 6.0.4
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages linux-image-2.6.32-5-686 depends on:
ii debconf [debconf-2.0] 1.5.36.1 Debian configuration management sy
ii initramfs-tools [linux-initra 0.98.8 tools for generating an initramfs
ii linux-base 2.6.32-41 Linux image base package
ii module-init-tools 3.12-2+b1 tools for managing Linux kernel mo

Versions of packages linux-image-2.6.32-5-686 recommends:
ii firmware-linux-free 2.6.32-41 Binary firmware for various driver
pn libc6-i686 <none> (no description available)

Versions of packages linux-image-2.6.32-5-686 suggests:
pn grub | lilo <none> (no description available)
pn linux-doc-2.6.32 <none> (no description available)

Versions of packages linux-image-2.6.32-5-686 is related to:
pn firmware-bnx2 <none> (no description available)
pn firmware-bnx2x <none> (no description available)
pn firmware-ipw2x00 <none> (no description available)
pn firmware-ivtv <none> (no description available)
pn firmware-iwlwifi <none> (no description available)
ii firmware-linux 0.28+squeeze1 Binary firmware for various driver
ii firmware-linux-nonfree 0.28+squeeze1 Binary firmware for various driver
pn firmware-qlogic <none> (no description available)
pn firmware-ralink <none> (no description available)
pn xen-hypervisor <none> (no description available)

-- debconf information excluded



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20120229130302.1073.51709.reportbug@localhost">htt p://lists.debian.org/20120229130302.1073.51709.reportbug@localhost
 
Old 02-29-2012, 05:36 PM
Jonathan Nieder
 
Default Bug#661696: drm/i915: wrong fifo size due to uncareful refactoring which results in an xserver crash at 800x600

tags 661696 = upstream patch moreinfo
quit

Hi Lukas,

Lukas Anzinger wrote:

> During a refactoring of the i915 driver a regression has been introduced
> ([...]h=e70236a8d3d0a4c100a0b9f7d394d9bda9c56aca): For some chipsets
> the wrong fifo size is determined which results in lot's of pixel
> errors when starting the xserver and choosing 800x600 as a
> resolution. If another resolution is used (eg. 1024x768 or
> 1280x1024), I don't encounter this problem.
>
> I've attached a patch that fixes the problem (no pixel errors
> anymore) and determines the correct fifo size.

Thanks for the report and analysis. Please test the attached patch
against 2.6.32.y or a squeeze kernel. If it works, we can send this
to Greg for inclusion in the 2.6.32.y series so everyone benefits.

Hope that helps,
Jonathan
From: Adam Jackson <ajax@redhat.com>
Date: Fri, 16 Apr 2010 18:20:57 -0400
Subject: drm/i915: Attempt to fix watermark setup on 85x (v2)

commit 8f4695ed1c9e068772bcce4cd4ff03f88d57a008 upstream.

IS_MOBILE() catches 85x, so we'd always try to use the 9xx FIFO sizing;
since there's an explicit 85x version, this seems wrong.

v2: Handle 830m correctly too.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
drivers/gpu/drm/i915/intel_display.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 79cc437af3b8..25b3e903c67c 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4355,17 +4355,18 @@ static void intel_init_display(struct drm_device *dev)
dev_priv->display.update_wm = g4x_update_wm;
else if (IS_I965G(dev))
dev_priv->display.update_wm = i965_update_wm;
- else if (IS_I9XX(dev) || IS_MOBILE(dev)) {
+ else if (IS_I9XX(dev)) {
dev_priv->display.update_wm = i9xx_update_wm;
dev_priv->display.get_fifo_size = i9xx_get_fifo_size;
+ } else if (IS_I85X(dev)) {
+ dev_priv->display.update_wm = i9xx_update_wm;
+ dev_priv->display.get_fifo_size = i85x_get_fifo_size;
} else {
- if (IS_I85X(dev))
- dev_priv->display.get_fifo_size = i85x_get_fifo_size;
- else if (IS_845G(dev))
+ dev_priv->display.update_wm = i830_update_wm;
+ if (IS_845G(dev))
dev_priv->display.get_fifo_size = i845_get_fifo_size;
else
dev_priv->display.get_fifo_size = i830_get_fifo_size;
- dev_priv->display.update_wm = i830_update_wm;
}
}

--
1.7.9.2
 
Old 03-02-2012, 11:02 AM
Lukas Anzinger
 
Default Bug#661696: drm/i915: wrong fifo size due to uncareful refactoring which results in an xserver crash at 800x600

Hi Jonathan,

looks good to me.

I've also reported this bug upstream under #42839.

Regards,

Lukas

On Wed, Feb 29, 2012 at 19:36, Jonathan Nieder <jrnieder@gmail.com> wrote:
> tags 661696 = upstream patch moreinfo
> quit
>
> Hi Lukas,
>
> Lukas Anzinger wrote:
>
>> During a refactoring of the i915 driver a regression has been introduced
>> ([...]h=e70236a8d3d0a4c100a0b9f7d394d9bda9c56aca): For some chipsets
>> the wrong fifo size is determined which results in lot's of pixel
>> errors when starting the xserver and choosing 800x600 as a
>> resolution. If another resolution is used (eg. 1024x768 or
>> 1280x1024), I don't encounter this problem.
>>
>> I've attached a patch that fixes the problem (no pixel errors
>> anymore) and determines the correct fifo size.
>
> Thanks for the report and analysis. *Please test the attached patch
> against 2.6.32.y or a squeeze kernel. *If it works, we can send this
> to Greg for inclusion in the 2.6.32.y series so everyone benefits.
>
> Hope that helps,
> Jonathan



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: CACB1AevCnHALYyVt57WC+Q=VtjO4g=ZH+xAwza_=B+B0RV9Gp A@mail.gmail.com">http://lists.debian.org/CACB1AevCnHALYyVt57WC+Q=VtjO4g=ZH+xAwza_=B+B0RV9Gp A@mail.gmail.com
 
Old 03-02-2012, 03:14 PM
Jonathan Nieder
 
Default Bug#661696: drm/i915: wrong fifo size due to uncareful refactoring which results in an xserver crash at 800x600

Lukas Anzinger wrote:

> looks good to me.

Do you mean that the patch looks good or that you've tried applying it
and the behavior was bad before and good afterward?

(If you haven't tested it yet, here's a quick demo.

apt-get install git build-essential; # prerequisites

# if you don't already have a copy of the kernel with history:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

cd linux
# get point releases
git remote add -f stable
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

# test baseline. Warning: while 2.6.32.y is maintained, 2.6.33.y isn't.
git checkout stable/linux-2.6.32.y
cp /boot/config-$(uname -r) .config; # current configuration
make localmodconfig; # optional: minimize configuration
make deb-pkg; # optionally with -j<num> for parallel build
dpkg -i ../<name of package>
reboot

# hopefully it reproduces the bug. So try the patch:
cd linux
git am -3sc <path to the patch>
make deb-pkg; # maybe with -j4
dpkg -i ../<name of package>
reboot
)



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20120302161433.GA20520@burratino">http://lists.debian.org/20120302161433.GA20520@burratino
 

Thread Tools




All times are GMT. The time now is 08:03 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org