Radeon S-Video Out has become black and white. Worked fine in 2.6.37

Bug #734805 reported by ArbitRabbit
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Unassigned

Bug Description

The S-Video out of Radeon driver has become black and white in kernel 2.6.38.6. The regression happened around 2.6.37.2 as the driver worked fine in 2.6.37 but not in 2.6.37.2 I have a Radeon HD4850 card.

Here is the difference in the dmesg output from the two kernels. I can hardly notice any difference, other than timestamps.

2.6.38-6-generic

[ 9.422549] [drm] Initialized drm 1.1.0 20060810
[ 10.094022] [drm] radeon defaulting to kernel modesetting.
[ 10.094024] [drm] radeon kernel modesetting enabled.
[ 10.094105] fb: conflicting fb hw usage radeondrmfb vs VESA VGA - removing generic driver
[ 10.095453] [drm] initializing kernel modesetting (RV770 0x1002:0x9442).
[ 10.095475] [drm] register mmio base: 0xFDFE0000
[ 10.095476] [drm] register mmio size: 65536
[ 10.097903] [drm] Detected VRAM RAM=512M, BAR=256M
[ 10.097906] [drm] RAM width 256bits DDR
[ 10.098018] [drm] radeon: 512M of VRAM memory ready
[ 10.098020] [drm] radeon: 512M of GTT memory ready.
[ 10.098033] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 10.098034] [drm] Driver supports precise vblank timestamp query.
[ 10.098097] [drm] radeon: irq initialized.
[ 10.098099] [drm] GART: num cpu pages 131072, num gpu pages 131072
[ 10.098748] [drm] Loading RV770 Microcode
[ 11.480076] [drm] ring test succeeded in 1 usecs
[ 11.480146] [drm] radeon: ib pool ready.
[ 11.480196] [drm] ib test succeeded in 0 usecs
[ 11.480198] [drm] Enabling audio support
[ 11.480389] [drm] Radeon Display Connectors
[ 11.480390] [drm] Connector 0:
[ 11.480391] [drm] DVI-I
[ 11.480392] [drm] HPD1
[ 11.480394] [drm] DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6c
[ 11.480395] [drm] Encoders:
[ 11.480396] [drm] DFP1: INTERNAL_UNIPHY
[ 11.480397] [drm] CRT2: INTERNAL_KLDSCP_DAC2
[ 11.480398] [drm] Connector 1:
[ 11.480399] [drm] DIN
[ 11.480400] [drm] Encoders:
[ 11.480400] [drm] TV1: INTERNAL_KLDSCP_DAC2
[ 11.480401] [drm] Connector 2:
[ 11.480402] [drm] DVI-I
[ 11.480403] [drm] HPD2
[ 11.480404] [drm] DDC: 0x7e20 0x7e20 0x7e24 0x7e24 0x7e28 0x7e28 0x7e2c 0x7e2c
[ 11.480405] [drm] Encoders:
[ 11.480406] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 11.480407] [drm] DFP2: INTERNAL_KLDSCP_LVTMA
[ 11.536188] [drm] Internal thermal controller with fan control
[ 11.536219] [drm] radeon: power management initialized
[ 11.638668] [drm] fb mappable at 0xD0142000
[ 11.638669] [drm] vram apper at 0xD0000000
[ 11.638670] [drm] size 8294400
[ 11.638671] [drm] fb depth is 24
[ 11.638672] [drm] pitch is 7680
[ 11.638789] fb0: radeondrmfb frame buffer device
[ 11.638790] drm: registered panic notifier
[ 11.638794] [drm] Initialized radeon 2.8.0 20080528 for 0000:01:00.0 on minor 0
[ 22.170538] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id

2.6.37-020637-generic

[ 15.278388] [drm] Initialized drm 1.1.0 20060810
[ 15.654177] [drm] radeon defaulting to kernel modesetting.
[ 15.654178] [drm] radeon kernel modesetting enabled.
[ 15.654692] fb: conflicting fb hw usage radeondrmfb vs VESA VGA - removing generic driver
[ 15.656087] [drm] initializing kernel modesetting (RV770 0x1002:0x9442).
[ 15.660089] [drm] register mmio base: 0xFDFE0000
[ 15.660090] [drm] register mmio size: 65536
[ 15.662457] [drm] Detected VRAM RAM=512M, BAR=256M
[ 15.662460] [drm] RAM width 256bits DDR
[ 15.670407] [drm] radeon: 512M of VRAM memory ready
[ 15.670408] [drm] radeon: 512M of GTT memory ready.
[ 15.670477] [drm] radeon: irq initialized.
[ 15.670479] [drm] GART: num cpu pages 131072, num gpu pages 131072
[ 15.671039] [drm] Loading RV770 Microcode
[ 15.870579] [drm] ring test succeeded in 1 usecs
[ 15.870647] [drm] radeon: ib pool ready.
[ 15.870699] [drm] ib test succeeded in 0 usecs
[ 15.870701] [drm] Enabling audio support
[ 15.870886] [drm] Radeon Display Connectors
[ 15.870887] [drm] Connector 0:
[ 15.870888] [drm] DVI-I
[ 15.870889] [drm] HPD1
[ 15.870890] [drm] DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6c
[ 15.870891] [drm] Encoders:
[ 15.870892] [drm] DFP1: INTERNAL_UNIPHY
[ 15.870893] [drm] CRT2: INTERNAL_KLDSCP_DAC2
[ 15.870894] [drm] Connector 1:
[ 15.870895] [drm] DIN
[ 15.870896] [drm] Encoders:
[ 15.870897] [drm] TV1: INTERNAL_KLDSCP_DAC2
[ 15.870898] [drm] Connector 2:
[ 15.870898] [drm] DVI-I
[ 15.870899] [drm] HPD2
[ 15.870901] [drm] DDC: 0x7e20 0x7e20 0x7e24 0x7e24 0x7e28 0x7e28 0x7e2c 0x7e2c
[ 15.870902] [drm] Encoders:
[ 15.870903] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 15.870904] [drm] DFP2: INTERNAL_KLDSCP_LVTMA
[ 15.936495] [drm] Internal thermal controller with fan control
[ 15.936529] [drm] radeon: power management initialized
[ 16.028673] [drm] fb mappable at 0xD0142000
[ 16.028674] [drm] vram apper at 0xD0000000
[ 16.028675] [drm] size 8294400
[ 16.028676] [drm] fb depth is 24
[ 16.028677] [drm] pitch is 7680
[ 16.028790] fb0: radeondrmfb frame buffer device
[ 16.028792] drm: registered panic notifier
[ 16.028795] [drm] Initialized radeon 2.7.0 20080528 for 0000:01:00.0 on minor 0
[ 20.216393] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
[ 20.981880] Modules linked in: nfs lockd fscache nfs_acl auth_rpcgss sunrpc
snd_hda_codec_hdmi tuner_simple tuner_types wm8775 tda9887 tda8290
snd_hda_codec_realtek tuner radeon cx25840 snd_hda_intel ivtv cx2341x
snd_hda_codec snd_seq_midi btusb bluetooth v4l2_common snd_rawmidi videodev
snd_hwdep snd_seq_midi_event v4l1_compat v4l2_compat_ioctl32 tveeprom snd_pcm
snd_seq ttm joydev hid_topseed drm_kms_helper serio_raw drm hid_logitech
i2c_piix4 ff_memless lp ppdev parport_pc parport snd_seq_device snd_timer
i2c_algo_bit k10temp edac_core edac_mce_amd cdc_acm usblp shpchp snd soundcore
snd_page_alloc usbhid hid usb_storage uas firewire_ohci ahci firewire_core
crc_itu_t r8169 pata_atiixp libahci

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: linux-image-2.6.38-6-generic 2.6.38-6.34
Regression: Yes
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.38-6.34-generic 2.6.38-rc7
Uname: Linux 2.6.38-6-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: amd64
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path', '/dev/snd/controlC1', '/dev/snd/hwC1D0', '/dev/snd/pcmC1D3p', '/dev/snd/controlC0', '/dev/snd/hwC0D0', '/dev/snd/pcmC0D0c', '/dev/snd/pcmC0D0p', '/dev/snd/pcmC0D1c', '/dev/snd/pcmC0D1p', '/dev/snd/pcmC0D2c', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'SB'/'HDA ATI SB at 0xfe024000 irq 16'
   Mixer name : 'Realtek ALC888'
   Components : 'HDA:10ec0888,1458a002,00100001'
   Controls : 38
   Simple ctrls : 21
Card1.Amixer.info:
 Card hw:1 'HDMI'/'HDA ATI HDMI at 0xfdffc000 irq 44'
   Mixer name : 'ATI R6xx HDMI'
   Components : 'HDA:1002aa01,00aa0100,00100100'
   Controls : 4
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
CheckboxSubmission: 8d81d8a2e14e8058b9f6187a60ba8e48
CheckboxSystem: 4ed15c40009aa6f7770f606350a390a2
Date: Mon Mar 14 12:04:19 2011
HibernationDevice: RESUME=UUID=77635bd0-bbe2-401f-ae6d-e8dbcc09b8c6
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
MachineType: Gigabyte Technology Co., Ltd. GA-MA770T-UD3P
ProcEnviron:
 LANGUAGE=en_GB:en
 PATH=(custom, user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.38-6-generic root=UUID=d02c8ef3-e05a-4a68-bcef-74d66d77c193 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-2.6.38-6-generic N/A
 linux-backports-modules-2.6.38-6-generic N/A
 linux-firmware 1.48
RfKill:
 0: hci0: Bluetooth
  Soft blocked: no
  Hard blocked: no
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/28/2010
dmi.bios.vendor: Award Software International, Inc.
dmi.bios.version: F9
dmi.board.name: GA-MA770T-UD3P
dmi.board.vendor: Gigabyte Technology Co., Ltd.
dmi.chassis.type: 3
dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
dmi.modalias: dmi:bvnAwardSoftwareInternational,Inc.:bvrF9:bd06/28/2010:svnGigabyteTechnologyCo.,Ltd.:pnGA-MA770T-UD3P:pvr:rvnGigabyteTechnologyCo.,Ltd.:rnGA-MA770T-UD3P:rvr:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvr:
dmi.product.name: GA-MA770T-UD3P
dmi.sys.vendor: Gigabyte Technology Co., Ltd.

Revision history for this message
ArbitRabbit (arbitrabbit) wrote :
Changed in linux (Ubuntu):
importance: Undecided → High
Revision history for this message
ArbitRabbit (arbitrabbit) wrote :

The patch from this thread https://bugzilla.kernel.org/show_bug.cgi?id=30832 seems to fix it. I have tested with mainline 2.6.38 smf 2.6.37.4

Some boards seem to prefer the legacy pll algo for tv-out.

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=30832

Signed-off-by: Alex Deucher <email address hidden>

---
 drivers/gpu/drm/radeon/atombios_crtc.c | 6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index c74f646..80e26c0 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -957,7 +957,11 @@ static void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode
  /* adjust pixel clock as needed */
  adjusted_clock = atombios_adjust_pll(crtc, mode, pll, ss_enabled, &ss);

- if (ASIC_IS_AVIVO(rdev))
+ if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
+ /* TV seems to prefer the legacy algo on some boards */
+ radeon_compute_pll_legacy(pll, adjusted_clock, &pll_clock, &fb_div, &frac_fb_div,
+ &ref_div, &post_div);
+ else if (ASIC_IS_AVIVO(rdev))
   radeon_compute_pll_avivo(pll, adjusted_clock, &pll_clock, &fb_div, &frac_fb_div,
       &ref_div, &post_div);
  else

Revision history for this message
ArbitRabbit (arbitrabbit) wrote :

Fixed in kernel 2.6.38.2, where above mentioned patch has been included

Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Julian Wiedmann (jwiedmann) wrote :

natty's kernel has been rebased to 2.6.38.2 - would you mind verifying that it fixes this bug?

Revision history for this message
ArbitRabbit (arbitrabbit) wrote :

Checked and it is fixed in Natty 2.6.38-8-generic

Changed in linux (Ubuntu):
status: Confirmed → Fix Released
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.