Bug 50125 - Radeon KMS mis-detects present connectors
Summary: Radeon KMS mis-detects present connectors
Status: RESOLVED NOTABUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: XOrg git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-19 11:45 UTC by Bruno
Modified: 2012-05-21 10:17 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
ROM, extracted from card0/device/rom (60.00 KB, application/octet-stream)
2012-05-19 11:45 UTC, Bruno
no flags Details

Description Bruno 2012-05-19 11:45:15 UTC
Created attachment 61856 [details]
ROM, extracted from card0/device/rom

On a Gigabyte GA-A75M-UD2H mainboard with A8 3850 APU connectors reported by radeon driver don't match those physically present.

The manual lists the following connector usage table:
- VGA   + DVI-D
- VGA   + HDMI    => only HDMI lit
- VGA   + DP
- DVI-D + HDMI
- DVI-D + DP      => only DP lit
- HDMI  + DP

In addition, mainboard allows configuring DVI-D output as Dual Link in which case all other connectors would be disabled.


For full manual see http://www.gigabyte.com/products/product-page.aspx?pid=3928#manual Connectors are descibed in chapter 1-7 on pages 20 and 21.



Kernel log related to loading of radeon.ko:
[  750.904222] [drm] radeon defaulting to kernel modesetting.
[  750.904230] [drm] radeon kernel modesetting enabled.
[  750.904304] checking generic (d0000000 3aa000) vs hw (d0000000 10000000)
[  750.904310] fb: conflicting fb hw usage radeondrmfb vs EFI VGA - removing generic driver
[  750.904558] Console: switching to colour dummy device 80x25
[  750.905927] [drm] initializing kernel modesetting (SUMO 0x1002:0x9640 0x1458:0xD000).
[  750.906061] [drm] register mmio base: 0xFDFC0000
[  750.906066] [drm] register mmio size: 262144
[  750.906584] ATOM BIOS: General
[  750.906618] radeon 0000:00:01.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used)
[  750.906626] radeon 0000:00:01.0: GTT: 512M 0x0000000020000000 - 0x000000003FFFFFFF
[  750.906640] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906645] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906649] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906654] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906658] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906663] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906668] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906672] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906677] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906681] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906685] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.906690] mtrr: your BIOS has configured an incorrect mask, fixing it.
[  750.908508] [drm] Detected VRAM RAM=512M, BAR=256M
[  750.908516] [drm] RAM width 32bits DDR
[  750.908724] [TTM] Zone  kernel: Available graphics memory: 3822448 kiB
[  750.908732] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[  750.908737] [TTM] Initializing pool allocator
[  750.908760] [TTM] Initializing DMA pool allocator
[  750.908842] [drm] radeon: 512M of VRAM memory ready
[  750.908849] [drm] radeon: 512M of GTT memory ready.
[  750.908866] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[  750.908870] [drm] Driver supports precise vblank timestamp query.
[  750.908957] radeon 0000:00:01.0: irq 53 for MSI/MSI-X
[  750.908990] radeon 0000:00:01.0: radeon: using MSI.
[  750.909082] [drm] radeon: irq initialized.
[  750.909092] [drm] GART: num cpu pages 131072, num gpu pages 131072
[  750.910672] [drm] radeon: ib pool ready.
[  750.910804] [drm] Loading SUMO Microcode
[  750.935358] [drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
[  750.935638] radeon 0000:00:01.0: WB enabled
[  750.935645] [drm] fence driver on ring 0 use gpu addr 0x20000c00 and cpu addr 0xffff880205cd9c00
[  750.953738] [drm] ring test on 0 succeeded in 1 usecs
[  750.955543] [drm] ib test on ring 0 succeeded in 0 usecs
[  750.960348] [drm] Radeon Display Connectors
[  750.960354] [drm] Connector 0:
[  750.960358] [drm]   VGA
[  750.960362] [drm]   HPD2
[  750.960367] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
[  750.960372] [drm]   Encoders:
[  750.960375] [drm]     CRT1: INTERNAL_UNIPHY2
[  750.960379] [drm]     CRT1: NUTMEG
[  750.960382] [drm] Connector 1:
[  750.960385] [drm]   DVI-D
[  750.960388] [drm]   HPD1
[  750.960394] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[  750.960398] [drm]   Encoders:
[  750.960401] [drm]     DFP1: INTERNAL_UNIPHY2
[  750.978771] [drm] Internal thermal controller without fan control
[  750.978986] [drm] radeon: power management initialized
[  751.051829] [drm] fb mappable at 0xD0142000
[  751.051831] [drm] vram apper at 0xD0000000
[  751.051832] [drm] size 5242880
[  751.051833] [drm] fb depth is 24
[  751.051834] [drm]    pitch is 5120
[  751.051935] fbcon: radeondrmfb (fb0) is primary device
[  751.136057] Console: switching to colour frame buffer device 160x64
[  751.148965] fb0: radeondrmfb frame buffer device
[  751.148969] drm: registered panic notifier
[  751.148987] [drm] Initialized radeon 2.15.0 20080528 for 0000:00:01.0 on minor 0
Comment 1 Alex Deucher 2012-05-21 09:19:19 UTC
Not all of the outputs are usable at the same time.  The sbios sets up the available connectors based on what is connected at boot time.
Comment 2 Bruno 2012-05-21 09:56:52 UTC
(In reply to comment #1)
> The sbios sets up the available connectors based on what is connected at boot time.

Does this mean that the other connectors are not usable until reboot or does plugging around still work? If so does the list of connectors get updated on hotplug or which connector corresponds to which name depend on what was connected?

How does the whole thing behave in the event that something was connected to each connector? (e.g. is it possible to choose using xrandr which of the connectors should effectively be used or does one depend on BIOS's guess?)
Comment 3 Alex Deucher 2012-05-21 10:17:57 UTC
(In reply to comment #2)
> 
> Does this mean that the other connectors are not usable until reboot or does
> plugging around still work? If so does the list of connectors get updated on
> hotplug or which connector corresponds to which name depend on what was
> connected?

The active connector list is fixed once the sbios boots.  To change it you have to reboot.  Due to the way the ports are wired up, only certain combinations are allowed (as detailed by the manual).

> 
> How does the whole thing behave in the event that something was connected to
> each connector? (e.g. is it possible to choose using xrandr which of the
> connectors should effectively be used or does one depend on BIOS's guess?)

The sbios makes an educated guess if all of the connected are connected on boot.  xrandr only knows about the connectors that the driver provides.  The driver only knows about the connectors that are enumerated by the sbios at boot.  There's no way for the driver to know all of the possible combinations available on any specific board.


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.