KMS/radeon regression: failure to set modes on CEDAR & TAHITI; v3.11vs 3.12-rc5/rc7

From: Robin H. Johnson
Date: Sun Nov 03 2013 - 13:48:43 EST


(Please CC, not sub'd to LKML; Was originally posted to
xorg-driver-ati@xxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx, but I
think the dmesg attachments got it eaten as spam).

I apologize for not sending this sooner, but I wanted to be really sure that I
wasn't introducing the bug elsewhere, and I was lacking time to even narrow it
down this far.

TL;DR:
3.11 kernel does proper modeset for dual 1920x1200 outputs
3.12-rc5/rc7 kernel fails to do proper modeset, blank screen after radeon loaded

Symptoms:
- With implicit video= modes, after the radeon module loads, both monitors just go blank.
Kernel message: radeon 0000:01:00.0: No connectors reported connected with modes
X does not visible start, screen stays black.
- With explicit video= modes, after the radeon module loads, both monitors during the
kernel boot display very garbled output; after X starts, they are in
1024x768, with no higher modes listed.

Attached are four dmesg [1] runs, on v3.11 vs v3.12-rc7, with both explicit
video parameters, and implicit video parameters; as well as drm.debug=0x06 in
ALL cases; as well as two xorg logs (both from the implicit variants).

testcase 1 (implicit): modeset=1 fbcon=map:0 drm.debug=0x06
testcase 2 (explicit): video=HDMI-A-1:1920x1200e video=DVI-I-1:1920x1200e modeset=1 fbcon=map:0 drm.debug=0x06

I have produced this bug with three different cards:
CEDAR 0x1002:0x68F9 0x1043:0x03CA (used for all these bug reports)
CEDAR 0x1002:0x68F9 0x174B:0xE164
TAHITI 0x1002:0x6798 0x1458:0x2261 (7970, borrowed before)

This happened as far back as 3.12-rc5 for me, but I didn't debug more at the
time.

Monitors:
(Left) Dell U2410 via DVI
(Center) Dell U2413 via HDMI
(Right is another U2410, not connected at all)

Userspace:
xorg-server-1.14.3
mesa-9.2.1
xf86-video-ati-7.2.0

I think the error might be and off by one in the connector probing, based on
this:

3.11:
[drm:drm_helper_probe_single_connector_modes], [CONNECTOR:15:HDMI-A-1]
[drm:radeon_atombios_connected_scratch_regs], DFP1 connected
[drm:drm_helper_probe_single_connector_modes], [CONNECTOR:15:HDMI-A-1] probed modes :

3.12-rc7:
[drm:drm_helper_probe_single_connector_modes], [CONNECTOR:16:HDMI-A-1]
[drm:radeon_process_i2c_ch], hw_i2c error
[drm:radeon_atombios_connected_scratch_regs], DFP1 disconnected
[drm:drm_helper_probe_single_connector_modes], [CONNECTOR:16:HDMI-A-1] disconnected

[1] yes I know about the bonding error, that's a separate issue I need
to mail to LKML/netdev.

--
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee & Infrastructure Lead
E-Mail : robbat2@xxxxxxxxxx
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85

Attachment: 3.11.0-working-explicit.gz
Description: Binary data

Attachment: 3.11.0-working-implicit.gz
Description: Binary data

Attachment: 3.11.0-working-implicit-xorg.gz
Description: Binary data

Attachment: 3.12.0-rc7-broken-explicit.gz
Description: Binary data

Attachment: 3.12.0-rc7-broken-implicit.gz
Description: Binary data

Attachment: 3.12.0-rc7-broken-implicit-xorg.gz
Description: Binary data

Attachment: signature.asc
Description: Digital signature