[PATCH] drm/radeon/kms: fix tv dac conflict resolver
GhePeU
ghepeu at virgilio.it
Tue Apr 27 14:30:07 PDT 2010
Il giorno gio, 15/04/2010 alle 13.41 -0400, Alex Deucher ha scritto:
> >From 837feb147c531219c7315857a6f17e145af8f750 Mon Sep 17 00:00:00 2001
> From: Alex Deucher <alexdeucher at gmail.com>
> Date: Thu, 15 Apr 2010 13:31:12 -0400
> Subject: [PATCH] drm/radeon/kms: fix tv dac conflict resolver
>
> On systems with the tv dac shared between DVI and TV,
> we can only use the dac for one of the connectors.
> However, when using a digital monitor on the DVI port,
> you can use the dac for the TV connector just fine.
> Check the use_digital status when resolving the conflict.
>
> Fixes fdo bug 27649, possibly others.
>
> Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
> Cc: stable <stable at kernel.org>
[resending because I suspect something went wrong the first time, sorry if
it's a duplicate]
Hi,
a few days ago I upgraded to the last 2.6.34 rc kernel and found that with
KMS both the console and X were using a 800x600 resolution instead of my LCD
display's native resolution of 1440x900 who was selected by default with
2.6.33 and previous kernels.
1440x900 also disappeared from the available resolution listed by GNOME
display utility, and I could enable it again only with the xrandr
command line tool.
I tracked the problem to this patch, which causes the same issues also
when manually applied to 2.6.33: apparently the kms radeon driver
wrongly detects a TV connected to my card (I don't have one, only a LCD
display connected to the DVI port) and forces the TV default resolution
for all the outputs.
Attached to the email the xrandr output I get with 2.6.33 and 2.6.34 and
pasted after the actual text are the relevant portions of the dmesg output
of 2.6.34. I'm using a Radeon RV370 card. Please tell me if you need
other information.
Best regards,
Giacomo
dmesg:
[drm] Initialized drm 1.1.0 20060810
[drm] radeon kernel modesetting enabled.
[drm] initializing kernel modesetting (RV380 0x1002:0x5B63).
[drm] register mmio base: 0xFD7F0000
[drm] register mmio size: 65536
[drm] GPU reset succeed (RBBM_STATUS=0x00000140)
[drm] 1 Power State(s)
[drm] State 0 Default (default)
[drm] 16 PCIE Lanes
[drm] 1 Clock Mode(s)
[drm] 0 engine/memory: 400000/250000
[drm] radeon: power management initialized
[drm] Generation 2 PCI interface, using max accessible memory
[drm] radeon: using MSI.
[drm] radeon: irq initialized.
[drm] Detected VRAM RAM=256M, BAR=256M
[drm] RAM width 128bits DDR
[TTM] Zone kernel: Available graphics memory: 1030236 kiB.
[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: 1 quad pipes, 1 Z pipes initialized.
[drm] PCIE GART of 512M enabled (table at 0xD0040000).
[drm] radeon: cp idle (0x10000C03)
[drm] Loading R300 Microcode
platform radeon_cp.0: firmware: requesting radeon/R300_cp.bin
[drm] radeon: ring at 0x00000000B0000000
[drm] ring test succeeded in 1 usecs
[drm] radeon: ib pool ready.
[drm] ib test succeeded in 0 usecs
[drm] Default TV standard: NTSC
[drm] 27.000000000 MHz TV ref clk
[drm] DFP table revision: 4
[drm] Default TV standard: NTSC
[drm] 27.000000000 MHz TV ref clk
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm] VGA
[drm] DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
[drm] Encoders:
[drm] CRT1: INTERNAL_DAC1
[drm] Connector 1:
[drm] DVI-I
[drm] HPD1
[drm] DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64
[drm] Encoders:
[drm] CRT2: INTERNAL_DAC2
[drm] DFP1: INTERNAL_TMDS1
[drm] Connector 2:
[drm] S-video
[drm] Encoders:
[drm] TV1: INTERNAL_DAC2
[drm] fb mappable at 0xD00C0000
[drm] vram apper at 0xD0000000
[drm] size 5184000
[drm] fb depth is 24
[drm] pitch is 5760
[drm] crtc 1 is connected to a TV
Console: switching to colour frame buffer device 100x37
fb0: radeondrmfb frame buffer device
registered panic notifier
[drm] Initialized radeon 2.3.0 20080528 for 0000:05:00.0 on minor 0
-------------- next part --------------
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 1440 x 1440
VGA-0 disconnected (normal left inverted right x axis y axis)
DVI-0 connected 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 257mm
1440x900 59.9*+ 75.0 59.9
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.0
1024x768 75.0 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
640x480 75.0 72.8 66.7 59.9
720x400 70.1
S-video disconnected (normal left inverted right x axis y axis)
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 1440 x 1440
VGA-0 disconnected (normal left inverted right x axis y axis)
Identifier: 0x52
Timestamp: 36419
Subpixel: no subpixels
Clones: DVI-0
CRTCs: 0 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
load_detection: 1 (0x00000001) range: (0,1)
DVI-0 connected 1440x900+0+0 (0x55) normal (normal left inverted right x axis y axis) 410mm x 257mm
Identifier: 0x53
Timestamp: 36419
Subpixel: horizontal rgb
Clones: VGA-0
CRTC: 0
CRTCs: 0 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
EDID:
00ffffffffffff004c2de10339315754
0212010380291a872ade95a3544c9926
0f5054bfef809500950f81808140714f
0101010101019a29a0d0518422305098
36009a011100001c000000fd00384b1e
510e000a202020202020000000fc0053
796e634d61737465720a2020000000ff
004831414b3530303030300a20200028
dvi_monitor_type: auto
scaler: off
tmds_pll: bios
load_detection: 0 (0x00000000) range: (0,1)
1440x900 (0x55) 106.5MHz -HSync +VSync *current +preferred
h: width 1440 start 1520 end 1672 total 1904 skew 0 clock 55.9KHz
v: height 900 start 903 end 909 total 934 clock 59.9Hz
1280x1024 (0x56) 135.0MHz +HSync +VSync
h: width 1280 start 1296 end 1440 total 1688 skew 0 clock 80.0KHz
v: height 1024 start 1025 end 1028 total 1066 clock 75.0Hz
1280x1024 (0x57) 108.0MHz +HSync +VSync
h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 64.0KHz
v: height 1024 start 1025 end 1028 total 1066 clock 60.0Hz
1440x900 (0x58) 136.8MHz -HSync +VSync
h: width 1440 start 1536 end 1688 total 1936 skew 0 clock 70.6KHz
v: height 900 start 903 end 909 total 942 clock 75.0Hz
1440x900 (0x59) 88.8MHz +HSync -VSync
h: width 1440 start 1488 end 1520 total 1600 skew 0 clock 55.5KHz
v: height 900 start 903 end 909 total 926 clock 59.9Hz
1280x960 (0x5a) 108.0MHz +HSync +VSync
h: width 1280 start 1376 end 1488 total 1800 skew 0 clock 60.0KHz
v: height 960 start 961 end 964 total 1000 clock 60.0Hz
1152x864 (0x5b) 108.0MHz +HSync +VSync
h: width 1152 start 1216 end 1344 total 1600 skew 0 clock 67.5KHz
v: height 864 start 865 end 868 total 900 clock 75.0Hz
1024x768 (0x5c) 78.8MHz +HSync +VSync
h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.0KHz
v: height 768 start 769 end 772 total 800 clock 75.0Hz
1024x768 (0x5d) 75.0MHz -HSync -VSync
h: width 1024 start 1048 end 1184 total 1328 skew 0 clock 56.5KHz
v: height 768 start 771 end 777 total 806 clock 70.1Hz
1024x768 (0x5e) 65.0MHz -HSync -VSync
h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.4KHz
v: height 768 start 771 end 777 total 806 clock 60.0Hz
832x624 (0x5f) 57.3MHz -HSync -VSync
h: width 832 start 864 end 928 total 1152 skew 0 clock 49.7KHz
v: height 624 start 625 end 628 total 667 clock 74.6Hz
800x600 (0x60) 50.0MHz +HSync +VSync
h: width 800 start 856 end 976 total 1040 skew 0 clock 48.1KHz
v: height 600 start 637 end 643 total 666 clock 72.2Hz
800x600 (0x61) 49.5MHz +HSync +VSync
h: width 800 start 816 end 896 total 1056 skew 0 clock 46.9KHz
v: height 600 start 601 end 604 total 625 clock 75.0Hz
800x600 (0x62) 40.0MHz +HSync +VSync
h: width 800 start 840 end 968 total 1056 skew 0 clock 37.9KHz
v: height 600 start 601 end 605 total 628 clock 60.3Hz
800x600 (0x63) 36.0MHz +HSync +VSync
h: width 800 start 824 end 896 total 1024 skew 0 clock 35.2KHz
v: height 600 start 601 end 603 total 625 clock 56.2Hz
640x480 (0x64) 31.5MHz -HSync -VSync
h: width 640 start 656 end 720 total 840 skew 0 clock 37.5KHz
v: height 480 start 481 end 484 total 500 clock 75.0Hz
640x480 (0x65) 31.5MHz -HSync -VSync
h: width 640 start 664 end 704 total 832 skew 0 clock 37.9KHz
v: height 480 start 489 end 492 total 520 clock 72.8Hz
640x480 (0x66) 30.2MHz -HSync -VSync
h: width 640 start 704 end 768 total 864 skew 0 clock 35.0KHz
v: height 480 start 483 end 486 total 525 clock 66.7Hz
640x480 (0x67) 25.2MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.5KHz
v: height 480 start 490 end 492 total 525 clock 59.9Hz
720x400 (0x68) 28.3MHz -HSync +VSync
h: width 720 start 738 end 846 total 900 skew 0 clock 31.5KHz
v: height 400 start 412 end 414 total 449 clock 70.1Hz
S-video disconnected (normal left inverted right x axis y axis)
Identifier: 0x54
Timestamp: 36419
Subpixel: no subpixels
Clones:
CRTCs: 0 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
tv_standard: pal
tv_vertical_position: 0 (0x00000000) range: (-5,5)
tv_horizontal_position: 0 (0x00000000) range: (-5,5)
tv_horizontal_size: 0 (0x00000000) range: (-5,5)
load_detection: 0 (0x00000000) range: (0,1)
-------------- next part --------------
Screen 0: minimum 320 x 200, current 800 x 600, maximum 4096 x 4096
VGA-0 disconnected (normal left inverted right x axis y axis)
DVI-0 connected 800x600+0+0 (normal left inverted right x axis y axis) 410mm x 257mm
1440x900 59.9 + 75.0
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.0
1024x768 75.1 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2*
640x480 72.8 75.0 66.7 60.0
720x400 70.1
S-video connected 800x600+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
800x600 59.9*+
640x480 59.9
Screen 0: minimum 320 x 200, current 800 x 600, maximum 4096 x 4096
VGA-0 disconnected (normal left inverted right x axis y axis)
Identifier: 0x51
Timestamp: 13020
Subpixel: no subpixels
Clones: DVI-0
CRTCs: 0 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
load detection: 1 (0x00000001) range: (0,1)
DVI-0 connected 800x600+0+0 (0x61) normal (normal left inverted right x axis y axis) 410mm x 257mm
Identifier: 0x52
Timestamp: 13020
Subpixel: horizontal rgb
Clones: VGA-0
CRTC: 0
CRTCs: 0 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
EDID:
00ffffffffffff004c2de10339315754
0212010380291a872ade95a3544c9926
0f5054bfef809500950f81808140714f
0101010101019a29a0d0518422305098
36009a011100001c000000fd00384b1e
510e000a202020202020000000fc0053
796e634d61737465720a2020000000ff
004831414b3530303030300a20200028
load detection: 1 (0x00000001) range: (0,1)
1440x900 (0x54) 106.5MHz -HSync +VSync +preferred
h: width 1440 start 1520 end 1672 total 1904 skew 0 clock 55.9KHz
v: height 900 start 903 end 909 total 934 clock 59.9Hz
1280x1024 (0x55) 135.0MHz +HSync +VSync
h: width 1280 start 1296 end 1440 total 1688 skew 0 clock 80.0KHz
v: height 1024 start 1025 end 1028 total 1066 clock 75.0Hz
1280x1024 (0x56) 108.0MHz +HSync +VSync
h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 64.0KHz
v: height 1024 start 1025 end 1028 total 1066 clock 60.0Hz
1440x900 (0x57) 136.8MHz -HSync +VSync
h: width 1440 start 1536 end 1688 total 1936 skew 0 clock 70.6KHz
v: height 900 start 903 end 909 total 942 clock 75.0Hz
1280x960 (0x58) 108.0MHz +HSync +VSync
h: width 1280 start 1376 end 1488 total 1800 skew 0 clock 60.0KHz
v: height 960 start 961 end 964 total 1000 clock 60.0Hz
1152x864 (0x59) 108.0MHz +HSync +VSync
h: width 1152 start 1216 end 1344 total 1600 skew 0 clock 67.5KHz
v: height 864 start 865 end 868 total 900 clock 75.0Hz
1024x768 (0x5a) 78.8MHz +HSync +VSync
h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.1KHz
v: height 768 start 769 end 772 total 800 clock 75.1Hz
1024x768 (0x5b) 75.0MHz -HSync -VSync
h: width 1024 start 1048 end 1184 total 1328 skew 0 clock 56.5KHz
v: height 768 start 771 end 777 total 806 clock 70.1Hz
1024x768 (0x5c) 65.0MHz -HSync -VSync
h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.4KHz
v: height 768 start 771 end 777 total 806 clock 60.0Hz
832x624 (0x5d) 57.3MHz -HSync -VSync
h: width 832 start 864 end 928 total 1152 skew 0 clock 49.7KHz
v: height 624 start 625 end 628 total 667 clock 74.6Hz
800x600 (0x5e) 50.0MHz +HSync +VSync
h: width 800 start 856 end 976 total 1040 skew 0 clock 48.1KHz
v: height 600 start 637 end 643 total 666 clock 72.2Hz
800x600 (0x5f) 49.5MHz +HSync +VSync
h: width 800 start 816 end 896 total 1056 skew 0 clock 46.9KHz
v: height 600 start 601 end 604 total 625 clock 75.0Hz
800x600 (0x60) 40.0MHz +HSync +VSync
h: width 800 start 840 end 968 total 1056 skew 0 clock 37.9KHz
v: height 600 start 601 end 605 total 628 clock 60.3Hz
800x600 (0x61) 36.0MHz +HSync +VSync *current
h: width 800 start 824 end 896 total 1024 skew 0 clock 35.2KHz
v: height 600 start 601 end 603 total 625 clock 56.2Hz
640x480 (0x62) 31.5MHz -HSync -VSync
h: width 640 start 664 end 704 total 832 skew 0 clock 37.9KHz
v: height 480 start 489 end 491 total 520 clock 72.8Hz
640x480 (0x63) 31.5MHz -HSync -VSync
h: width 640 start 656 end 720 total 840 skew 0 clock 37.5KHz
v: height 480 start 481 end 484 total 500 clock 75.0Hz
640x480 (0x64) 30.2MHz -HSync -VSync
h: width 640 start 704 end 768 total 864 skew 0 clock 35.0KHz
v: height 480 start 483 end 486 total 525 clock 66.7Hz
640x480 (0x65) 25.2MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.5KHz
v: height 480 start 490 end 492 total 525 clock 60.0Hz
720x400 (0x66) 28.3MHz -HSync +VSync
h: width 720 start 738 end 846 total 900 skew 0 clock 31.5KHz
v: height 400 start 412 end 414 total 449 clock 70.1Hz
S-video connected 800x600+0+0 (0x67) normal (normal left inverted right x axis y axis) 0mm x 0mm
Identifier: 0x53
Timestamp: 13020
Subpixel: no subpixels
Clones:
CRTC: 1
CRTCs: 0 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
tv standard: ntsc
supported: ntsc pal pal-m pal-60
ntsc-j scart-pal pal-cn secam
load detection: 1 (0x00000001) range: (0,1)
800x600 (0x67) 38.2MHz -HSync +VSync *current +preferred
h: width 800 start 832 end 912 total 1024 skew 0 clock 37.4KHz
v: height 600 start 603 end 607 total 624 clock 59.9Hz
640x480 (0x68) 25.2MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.5KHz
v: height 480 start 490 end 492 total 525 clock 59.9Hz
More information about the dri-devel
mailing list