[radeon KMS:M26:X700] broken display after resume (patch)

Bug #493795 reported by Tormod Volden
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
X.Org X server
Fix Released
Medium
linux (Ubuntu)
Fix Released
Medium
Andy Whitcroft

Bug Description

After resume, the screen is green with wrong resolution or black with flicker and blooming.

This is fixed in drm-next: http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commitdiff;h=32f48ffea91008a27b99aab7a68a3443559d83fb

This will be a potential regression once KMS is default.

ProblemType: Bug
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: tormod 1358 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xc8000000 irq 16'
   Mixer name : 'Realtek ALC880'
   Components : 'HDA:10ec0880,08800000,00090500 HDA:11c13026,11c13026,00100600'
   Controls : 39
   Simple ctrls : 23
Date: Mon Dec 7 23:19:51 2009
DistroRelease: Ubuntu 10.04
HibernationDevice: RESUME=UUID=d6223bfb-d64e-4243-96d5-5d5a22c7d50f
Lsusb:
 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Acer, inc. TravelMate 8100
Package: linux-image-2.6.32-6-generic 2.6.32-6.8
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-6-generic root=UUID=59b5106f-825d-4931-92d0-b6cd1eee4f49 ro quiet splash nohdparm
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-6.8-generic
Regression: No
RelatedPackageVersions: linux-firmware 1.27
Reproducible: Yes
RfKill:

SourcePackage: linux
Tags: lucid
TestedUpstream: Yes
Uname: Linux 2.6.32-6-generic i686
dmi.bios.date: 01/20/06
dmi.bios.vendor: Acer
dmi.bios.version: 3C25
dmi.board.name: Kingfisher
dmi.board.vendor: Acer, Inc.
dmi.board.version: Not Applicable
dmi.chassis.type: 1
dmi.chassis.vendor: , Inc.
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnAcer:bvr3C25:bd01/20/06:svnAcer,inc.:pnTravelMate8100:pvrNotApplicable:rvnAcer,Inc.:rnKingfisher:rvrNotApplicable:cvn,Inc.:ct1:cvrN/A:
dmi.product.name: TravelMate 8100
dmi.product.version: Not Applicable
dmi.sys.vendor: Acer, inc.

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

I should mention that this is a huge step forward from some months ago, when resuming with KMS would just give a dead screen/laptop with no backlight.

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

Created an attachment (id=31541)
regmatch '*' after boot

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

Created an attachment (id=31542)
reg dump after hibernation

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

Created an attachment (id=31543)
reg dump after suspend

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

I see the screen goes funny (green or blooming) before power goes off, in the case of hibernation before the long write-to-disk.

Revision history for this message
In , agd5f (agd5f) wrote :

Created an attachment (id=31571)
pull in lvds misc mode info

This patch makes sure to pull in the misc mode info for lvds (syn polarity, etc.).

Revision history for this message
In , agd5f (agd5f) wrote :

Created an attachment (id=31572)
fix LVDS setup on r4xx chips

R4xx mobility chips use atombios, which does not store the LVDS_GEN_CNTL parameter setup like combios; rather, it's configured on fly in LVDSEncoderControl. As such, LVDS_GEN_CNTL is set wrong on resume. Call LVDSEncoderControl to set it properly.

This patch should fix the issue. Another thing to try would be to try the r4xx_atom module option; this forces the use of atom calls to set modes on r4xx cards.

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

Thanks! With the two patches it works perfectly.

Using the r4xx_atom module option did not work, the screen got extremely fuzzy (horizontal flicker).

Revision history for this message
Tormod Volden (tormodvolden) wrote :

After resume, the screen is green with wrong resolution or black with flicker and blooming.

This is fixed in drm-next: http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commitdiff;h=32f48ffea91008a27b99aab7a68a3443559d83fb

This will be a potential regression once KMS is default.

ProblemType: Bug
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: tormod 1358 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xc8000000 irq 16'
   Mixer name : 'Realtek ALC880'
   Components : 'HDA:10ec0880,08800000,00090500 HDA:11c13026,11c13026,00100600'
   Controls : 39
   Simple ctrls : 23
Date: Mon Dec 7 23:19:51 2009
DistroRelease: Ubuntu 10.04
HibernationDevice: RESUME=UUID=d6223bfb-d64e-4243-96d5-5d5a22c7d50f
Lsusb:
 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Acer, inc. TravelMate 8100
Package: linux-image-2.6.32-6-generic 2.6.32-6.8
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-6-generic root=UUID=59b5106f-825d-4931-92d0-b6cd1eee4f49 ro quiet splash nohdparm
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-6.8-generic
Regression: No
RelatedPackageVersions: linux-firmware 1.27
Reproducible: Yes
RfKill:

SourcePackage: linux
Tags: lucid
TestedUpstream: Yes
Uname: Linux 2.6.32-6-generic i686
dmi.bios.date: 01/20/06
dmi.bios.vendor: Acer
dmi.bios.version: 3C25
dmi.board.name: Kingfisher
dmi.board.vendor: Acer, Inc.
dmi.board.version: Not Applicable
dmi.chassis.type: 1
dmi.chassis.vendor: , Inc.
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnAcer:bvr3C25:bd01/20/06:svnAcer,inc.:pnTravelMate8100:pvrNotApplicable:rvnAcer,Inc.:rnKingfisher:rvrNotApplicable:cvn,Inc.:ct1:cvrN/A:
dmi.product.name: TravelMate 8100
dmi.product.version: Not Applicable
dmi.sys.vendor: Acer, inc.

Revision history for this message
Tormod Volden (tormodvolden) wrote :
Changed in xorg-server:
status: Unknown → Confirmed
Andy Whitcroft (apw)
Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
importance: Undecided → Medium
status: New → In Progress
tags: added: regression-proposed
tags: added: regression-potential
removed: regression-proposed
Revision history for this message
Andy Whitcroft (apw) wrote :

@Tormod -- I have pulled in the patch you referenced there into a test kernel. Could you test the kernel at the URL below and report back here. Thanks:

    http://people.canonical.com/~apw/lp493795-lucid/

Changed in linux (Ubuntu):
status: In Progress → Incomplete
Revision history for this message
Tormod Volden (tormodvolden) wrote :

Thanks! Yes, that works wonderfully with your test kernel.

Revision history for this message
Andy Whitcroft (apw) wrote :

Ok. I'll pull that one into the kernel tree. We should probabally send that to stable too.

Changed in linux (Ubuntu):
status: Incomplete → In Progress
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (9.6 KiB)

This bug was fixed in the package linux - 2.6.32-10.14

---------------
linux (2.6.32-10.14) lucid; urgency=low

  [ Alex Deucher ]

  * SAUCE: drm/radeon/kms: fix LVDS setup on r4xx
    - LP: #493795

  [ Andy Whitcroft ]

  * Revert "(pre-stable) acpi: Use the ARB_DISABLE for the CPU which model
    id is less than 0x0f."
  * config-check -- ensure the checks get run at build time
  * config-check -- check the processed config during updateconfigs
  * config-check -- CONFIG_SECCOMP may not be present
  * TUN is now built in ignore
  * SAUCE: acpi battery -- delay first lookup of the battery until first
    use
  * SAUCE: async_populate_rootfs: move rootfs init earlier
  * ubuntu: AppArmor -- update to mainline 2010-01-06
  * SAUCE: move RLIMIT_CORE pipe dumper marker to 1
    - LP: #498525

  [ Dave Airlie ]

  * (pre-stable) drm/radeon/kms: fix crtc vblank update for r600

  [ Leann Ogasawara ]

  * Add asix to nic-usb-modules file
    - LP: #499785

  [ Peter Zijlstra ]

  * (pre-stable) sched: Fix balance vs hotplug race

  [ Tim Gardner ]

  * [Config] Enable CONFIG_FUNCTION_TRACER
    - LP: #497989
  * [Config] Drop lpia from getabis
  * [Config] Build in TUN/TAP driver
    - LP: #499491
  * [Config] DH_COMPAT=5

  [ Upstream Kernel Changes ]

  * Revert "(pre-stable) drm/i915: Avoid NULL dereference with
    component_only tv_modes"
  * Revert "(pre-stable) drm/i915: Fix sync to vblank when VGA output is
    turned off"
  * USB: usb-storage: fix bug in fill_inquiry
  * USB: option: add pid for ZTE
  * firewire: ohci: handle receive packets with a data length of zero
  * rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling
    of ->completed counter
  * rcu: Fix synchronization for rcu_process_gp_end() uses of ->completed
    counter
  * rcu: Fix note_new_gpnum() uses of ->gpnum
  * rcu: Remove inline from forward-referenced functions
  * perf_event: Fix invalid type in ioctl definition
  * perf_event: Initialize data.period in perf_swevent_hrtimer()
  * perf: Don't free perf_mmap_data until work has been done
  * PM / Runtime: Fix lockdep warning in __pm_runtime_set_status()
  * sched: Check for an idle shared cache in select_task_rq_fair()
  * sched: Fix affinity logic in select_task_rq_fair()
  * sched: Rate-limit newidle
  * sched: Fix and clean up rate-limit newidle code
  * x86/amd-iommu: attach devices to pre-allocated domains early
  * x86/amd-iommu: un__init iommu_setup_msi
  * x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking
    up the PCI tree
  * x86: Fix iommu=nodac parameter handling
  * x86: GART: pci-gart_64.c: Use correct length in strncmp
  * x86: ASUS P4S800 reboot=bios quirk
    - LP: #366682
  * x86, apic: Enable lapic nmi watchdog on AMD Family 11h
  * ssb: Fix range check in sprom write
  * ath5k: allow setting txpower to 0
  * ath5k: enable EEPROM checksum check
  * hrtimer: Fix /proc/timer_list regression
  * ALSA: hrtimer - Fix lock-up
  * ALSA: hda - Terradici HDA controllers does not support 64-bit mode
  * KVM: x86 emulator: limit instructions to 15 bytes
  * KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c
  * KVM: s390: Make psw available on all exits...

Read more...

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Michele (mikelito) wrote :

Anyone planning to backport this fix to Karmic?

Revision history for this message
In , Oibaf (oibaf) wrote :

Fixed in 2.6.33.

Changed in xorg-server:
status: Confirmed → Fix Released
Changed in xorg-server:
importance: Unknown → Medium
Changed in xorg-server:
importance: Medium → Unknown
Changed in xorg-server:
importance: Unknown → Medium
Revision history for this message
Brad Figg (brad-figg) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-lucid' to 'verification-done-lucid'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-lucid
Revision history for this message
Tormod Volden (tormodvolden) wrote :

Brad, did you post in the wrong bug report?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.