Bug 52266 - No DVI output on "ATI Radeon XPRESS 200 5A41 (PCIE)" (ChipID = 0x5a41)
Summary: No DVI output on "ATI Radeon XPRESS 200 5A41 (PCIE)" (ChipID = 0x5a41)
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: XOrg git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-19 13:51 UTC by Przemek Tomczyk
Modified: 2019-11-19 08:28 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
vbios dump (60.00 KB, application/octet-stream)
2012-07-19 13:51 UTC, Przemek Tomczyk
no flags Details
dmesg output (2.67 KB, text/plain)
2012-07-19 13:52 UTC, Przemek Tomczyk
no flags Details
Xorg.0 log (37.88 KB, text/plain)
2012-07-19 13:55 UTC, Przemek Tomczyk
no flags Details
possible fix (1.59 KB, patch)
2012-07-19 14:27 UTC, Alex Deucher
no flags Details | Splinter Review
kern.log after patch applied (4.61 KB, text/plain)
2012-07-19 22:36 UTC, Przemek Tomczyk
no flags Details
possible fix (3.19 KB, patch)
2012-07-20 00:13 UTC, Alex Deucher
no flags Details | Splinter Review
possible fix (1.06 KB, patch)
2012-07-20 13:53 UTC, Alex Deucher
no flags Details | Splinter Review

Description Przemek Tomczyk 2012-07-19 13:51:50 UTC
Created attachment 64390 [details]
vbios dump

DVI output does not see  monitor attached to it:

xorg.log:
 Output DVI-0 disconnected

as soon as KMS sets graphic mode.

kernel is vanilla 3.4.4.

lspci output is:

01:05.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RS400 [Radeon Xpress 200] (prog-if 00 [VGA controller])
	Subsystem: ASUSTeK Computer Inc. Device 81c8
	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), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 17
	Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M]
	Region 1: I/O ports at ee00 [size=256]
	Region 2: Memory at fddf0000 (32-bit, non-prefetchable) [size=64K]
	[virtual] Expansion ROM at fdd00000 [disabled] [size=128K]
	Capabilities: [50] 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=0 PME-
	Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
		Address: 00000000  Data: 0000
	Kernel driver in use: radeon
Comment 1 Przemek Tomczyk 2012-07-19 13:52:29 UTC
Created attachment 64391 [details]
dmesg output
Comment 2 Przemek Tomczyk 2012-07-19 13:55:46 UTC
Created attachment 64392 [details]
Xorg.0 log
Comment 3 Alex Deucher 2012-07-19 14:27:39 UTC
Created attachment 64395 [details] [review]
possible fix

The attached patch should fix the issue.
Comment 4 Przemek Tomczyk 2012-07-19 22:36:26 UTC
Created attachment 64407 [details]
kern.log after patch applied

no luck.
i've let myself to change subsystem device condition to match data shown in log (RS400 0x1002:0x5A41 0x1043:0x81C8 ).
then - first if is taken twice, but ddc_i2c->valid is true in both cases.
after planting DRM_ERROR call on top of combios_setup_i2c_bus(), like this:
DRM_ERROR("setup bus: %d %d %d \n", (int)ddc, clk_mask, data_mask);

, i got whats in attachment.
Comment 5 Przemek Tomczyk 2012-07-19 22:52:41 UTC
and when forced custom combios_setup_i2c_bus call by commenting out "ddc_i2c->valid == false" (was it wise?) got this connectors info, but still DVI output is dead.

    9.906711] [drm] Radeon Display Connectors
    9.906714] [drm] Connector 0:
    9.906717] [drm]   VGA
    9.906720] [drm]   DDC: 0x68 0x68 0x68 0x68 0x68 0x68 0x68 0x68
    9.906722] [drm]   Encoders:
    9.906725] [drm]     CRT1: INTERNAL_DAC2
    9.906727] [drm] Connector 1:
    9.906729] [drm]   DVI-D
    9.906731] [drm]   HPD2
    9.906734] [drm]   DDC: 0x198 0x198 0x19c 0x19c 0x1a0 0x1a0 0x1a4 0x1a4
    9.906737] [drm]   Encoders:
    9.906739] [drm]     DFP2: INTERNAL_DVO1
    9.906741] [drm] Connector 2:
    9.906743] [drm]   S-video
    9.906745] [drm]   Encoders:
    9.906747] [drm]     TV1: INTERNAL_DAC2
    9.955393] [drm] fb mappable at 0xD0040000
    9.955399] [drm] vram apper at 0xD0000000
    9.955403] [drm] size 9216000
    9.955406] [drm] fb depth is 24
    9.955410] [drm]    pitch is 7680
    9.955553] fbcon: radeondrmfb (fb0) is primary device
Comment 6 Alex Deucher 2012-07-20 00:13:25 UTC
Created attachment 64408 [details] [review]
possible fix

Try this patch instead.  I misread the bios tables.
Comment 7 Przemek Tomczyk 2012-07-20 01:24:24 UTC
still no luck. DVI output goes blank, xrandr claims it;s disconnected.

kern.log:
 [drm] Initialized radeon 2.16.0 20080528 for 0000:01:05.0 on minor 0
 [drm] Initialized drm 1.1.0 20060810
 [drm] radeon defaulting to kernel modesetting.
 [drm] radeon kernel modesetting enabled.
 [drm] initializing kernel modesetting (RS400 0x1002:0x5A41 0x1043:0x81C8).
 [drm] register mmio base: 0xFDDF0000
 [drm] register mmio size: 65536
 [drm] Generation 2 PCI interface, using max accessible memory
 [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
 [drm] Driver supports precise vblank timestamp query.
 [drm] radeon: irq initialized.
 [drm] Detected VRAM RAM=256M, BAR=256M
 [drm] RAM width 128bits DDR
 [drm] radeon: 256M of VRAM memory ready
 [drm] radeon: 512M of GTT memory ready.
 [drm] GART: num cpu pages 131072, num gpu pages 131072
 [drm] radeon: ib pool ready.
 [drm] radeon: 4 quad pipes, 1 z pipes initialized.
 [drm] PCIE GART of 512M enabled (table at 0x0000000031680000).
 [drm] fence driver on ring 0 use gpu addr 0x80000000 and cpu addr 0xffb40000
 [drm] Loading R300 Microcode
 [drm] radeon: ring at 0x0000000080001000
 [drm] ring test succeeded in 2 usecs
 [drm] ib test succeeded in 0 usecs
 [drm] Radeon Display Connectors
 [drm] Connector 0:
 [drm]   VGA
 [drm]   DDC: 0x68 0x68 0x68 0x68 0x68 0x68 0x68 0x68
 [drm]   Encoders:
 [drm]     CRT1: INTERNAL_DAC2
 [drm] Connector 1:
 [drm]   DVI-D
 [drm]   HPD2
 [drm]   DDC: 0x198 0x198 0x19c 0x19c 0x1a0 0x1a0 0x1a4 0x1a4
 [drm]   Encoders:
 [drm]     DFP2: INTERNAL_DVO1
 [drm] Connector 2:
 [drm]   S-video
 [drm]   Encoders:
 [drm]     TV1: INTERNAL_DAC2
 [drm] fb mappable at 0xD0040000
 [drm] vram apper at 0xD0000000
 [drm] size 9216000
 [drm] fb depth is 24
 [drm]    pitch is 7680
 fbcon: radeondrmfb (fb0) is primary device
 fb0: radeondrmfb frame buffer device
 drm: registered panic notifier
 [drm] Initialized radeon 2.16.0 20080528 for 0000:01:05.0 on minor 0


Xorg.0.log says:
[    19.440] (II) RADEON(0): EDID for output DVI-0
[    19.441] (II) RADEON(0): EDID for output S-video
[    19.441] (II) RADEON(0): Output VGA-0 connected
[    19.441] (II) RADEON(0): Output DVI-0 disconnected
[    19.441] (II) RADEON(0): Output S-video disconnected
Comment 8 Alex Deucher 2012-07-20 13:53:02 UTC
Created attachment 64449 [details] [review]
possible fix

How about this one?  If it doesn't work, try commenting out the first *ddc_i2c line and uncommenting the second:

+               *ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
+               //*ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);


Let me know if either of those work.
Comment 9 Przemek Tomczyk 2012-07-20 17:14:13 UTC
neither of those worked. kern.log output is now the same as in first attachement: 
[drm:radeon_add_legacy_connector] *ERROR* DVI: Failed to assign ddc bus! Check dmesg for i2c errors.

and then

[drm] Connector 1:
[drm]   DVI-D
[drm]   HPD2
[drm]   DDC: no ddc bus - possible BIOS bug - please report to xorg-driver-ati@lists.x.org
[drm]   Encoders:
[drm]     DFP2: INTERNAL_DVO1
Comment 10 Martin Peres 2019-11-19 08:28:03 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/282.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.