Bug 28182

Summary: Radeon Cedar 5450 doesn't interlace
Product: Drivers Reporter: Chris Kennedy (bitbytebit)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: CLOSED CODE_FIX    
Severity: normal CC: florian
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.38-rc3 Subsystem:
Regression: No Bisected commit-id:
Attachments: possible fix

Description Chris Kennedy 2011-02-04 16:59:30 UTC
When using the 5450 card and trying a 640x480 interlaced console frame buffer I get half the screen shown (top half) and bottom is out of the screen display.  It's a progressive picture too, not interlaced.  If I use 320x240 progressive it all fits, so seems to be that the interlacing isn't working for this chip.  Not sure if it's known and just not been implemented yet or if it's a bug. 

Thanks,
Chris


40:00.0 VGA compatible controller: ATI Technologies Inc Device 68f9 (prog-if 00 [VGA controller])
	Subsystem: PC Partner Limited Device e157
	Flags: bus master, fast devsel, latency 0, IRQ 88
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	Memory at f2500000 (64-bit, non-prefetchable) [size=128K]
	I/O ports at 3000 [size=256]
	[virtual] Expansion ROM at f2540000 [disabled] [size=128K]
	Capabilities: [50] Power Management version 3
	Capabilities: [58] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information <?>
	Capabilities: [150] Advanced Error Reporting
	Kernel driver in use: radeon

40:00.1 Audio device: ATI Technologies Inc Device aa68
	Subsystem: PC Partner Limited Device aa68
	Physical Slot: 2
	Flags: bus master, fast devsel, latency 0, IRQ 5
	Memory at f2520000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 3
	Capabilities: [58] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information <?>
	Capabilities: [150] Advanced Error Reporting
	Kernel modules: snd-hda-intel



[    0.801038] [drm] Initialized drm 1.1.0 20060810
[    0.801109] [drm] radeon defaulting to kernel modesetting.
[    0.801154] [drm] radeon kernel modesetting enabled.
[    0.801253] radeon 0000:40:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    0.801304] radeon 0000:40:00.0: setting latency timer to 64
[    0.804194] [drm] initializing kernel modesetting (CEDAR 0x1002:0x68F9).
[    0.804282] [drm] register mmio base: 0xF2500000
[    0.804327] [drm] register mmio size: 131072
[    0.804566] ATOM BIOS: CEDAR
[    0.804700] radeon 0000:40:00.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used)
[    0.804755] radeon 0000:40:00.0: GTT: 512M 0x0000000020000000 - 0x000000003FFFFFFF
[    0.805277] [drm] Detected VRAM RAM=512M, BAR=256M
[    0.805329] [drm] RAM width 64bits DDR
[    0.805461] [TTM] Zone  kernel: Available graphics memory: 1541250 kiB.
[    0.805508] [TTM] Initializing pool allocator.
[    0.805576] [drm] radeon: 512M of VRAM memory ready
[    0.805621] [drm] radeon: 512M of GTT memory ready.
[    0.805686] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    0.805732] [drm] Driver supports precise vblank timestamp query.
[    0.805830] radeon 0000:40:00.0: irq 88 for MSI/MSI-X
[    0.805837] radeon 0000:40:00.0: radeon: using MSI.
[    0.805917] [drm] radeon: irq initialized.
[    0.805963] [drm] GART: num cpu pages 131072, num gpu pages 131072
[    0.807259] [drm] Loading CEDAR Microcode
[    0.809692] radeon 0000:40:00.0: WB enabled
[    0.826164] [drm] ring test succeeded in 1 usecs
[    0.826364] [drm] radeon: ib pool ready.
[    0.826569] [drm] ib test succeeded in 0 usecs
[    0.827043] [drm] Radeon Display Connectors
[    0.827087] [drm] Connector 0:
[    0.827129] [drm]   HDMI-A
[    0.827171] [drm]   HPD1
[    0.827214] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
[    0.827265] [drm]   Encoders:
[    0.827307] [drm]     DFP1: INTERNAL_UNIPHY1
[    0.827350] [drm] Connector 1:
[    0.827392] [drm]   DVI-I
[    0.827434] [drm]   HPD4
[    0.827476] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
[    0.827527] [drm]   Encoders:
[    0.827569] [drm]     DFP2: INTERNAL_UNIPHY
[    0.827612] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    0.827655] [drm] Connector 2:
[    0.827697] [drm]   VGA
[    0.827739] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[    0.827790] [drm]   Encoders:
[    0.827832] [drm]     CRT2: INTERNAL_KLDSCP_DAC2
[    0.934929] [drm] Internal thermal controller with fan control
[    0.935028] [drm] radeon: power management initialized
[    1.066145] [drm] fb mappable at 0xD0141000
[    1.066189] [drm] vram apper at 0xD0000000
[    1.066233] [drm] size 9216000
[    1.066275] [drm] fb depth is 24
[    1.066317] [drm]    pitch is 7680
[    1.500225] [drm] force priority to high
[    1.500231] [drm] force priority to high
[    1.514974] Console: switching to colour frame buffer device 240x67
[    1.520982] fb0: radeondrmfb frame buffer device
[    1.520985] drm: registered panic notifier
[    1.521048] [drm] Initialized radeon 2.8.0 20080528 for 0000:40:00.0 on minor 0
Comment 1 Alex Deucher 2011-02-04 18:43:53 UTC
Created attachment 46222 [details]
possible fix

This patch should fix it.
Comment 2 Chris Kennedy 2011-02-04 18:51:36 UTC
Cool, I will test that.  Also a person reported to me this same behavior on the RS690.  At first it flickered and didn't work, but after applying your patch for the PLL HIGHER he got a stable picture yet it seems that it was a half screen again like this was doing on the 5450.  So not sure if it's the same type of thing, or if this patch might even fix it?
Comment 3 Chris Kennedy 2011-02-06 19:19:45 UTC
I have tested the patch and it works, now I can get interlaced modes just fine, thanks.
Comment 4 Florian Mickler 2011-02-20 00:09:30 UTC
merged in (soon to be) .38-rc6:
commit c9417bdd4c6b1b92a21608c07e83afa419c7bb62
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Sun Feb 6 14:23:26 2011 -0500

    drm/radeon/kms: fix interlaced modes on dce4+