Bug 43487 - [HD6320] Corrupted displays (LVDS and HDMI) after connecting HDMI
Summary: [HD6320] Corrupted displays (LVDS and HDMI) after connecting HDMI
Status: RESOLVED INVALID
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-03 03:13 UTC by Rafał Miłecki
Modified: 2011-12-03 04:09 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Rafał Miłecki 2011-12-03 03:13:58 UTC
I've netbook Asus 1215B with AMD E-450 and HD6320.

When I connect my TV over HDMI I get 2 corrupted displays after a second or two.

I'm using drm-next branch of git://people.freedesktop.org/~airlied/linux from yesterday (04b3924db60f974d2b4af0b2e19a0ae7ca202dc7).
Comment 1 Rafał Miłecki 2011-12-03 03:23:42 UTC
** LVDS corruption **

LVDS corruption consists of two problems:
1) Display is corrupted
2) Everything is moved (bottom and right parts of display are black)

Ad 1
After booting (without HDMI connected) register 0x6818 is set to 0x00000640. When I connect HDMI, driver changes it to 0x00000580. I have no idea why does it happen, but it's source of the corruption. Setting it back with:
avivotool regset 0x6818 0x00000640
removes corruption. I believe register is defined as:
#define EVERGREEN_GRPH_PITCH                            0x6818
With fglrx register 0x6818 is set to 0x640 all the time (with HDMI and without)

Ad 2
After booting (without HDMI connected) register 0x6810 is set to 0x00000000. When I connect HDMI, driver changes it to 0x00142000. It's the source of moved display. Setting it back with:
avivotool regset 0x6810 0x00000000
removes movement. I believe register is defined as:
#define EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS          0x6810
With fglrx register 0x6810 is set to 0 all the time (with HDMI and without)
Comment 2 Rafał Miłecki 2011-12-03 03:33:17 UTC
** LVDS corruption **

After disconnecting HDMI corruption does not disappear.
Switching to console (ALT+CTRL+F1) does not fix corruption.
However switching back to X (ALT+CTRL+F7) fixes the corruption.

One more interesting thing: DFP1 seems to be disconnected all the time according to xrandr:
DFP1 disconnected (normal left inverted right x axis y axis)
Comment 3 Rafał Miłecki 2011-12-03 03:47:35 UTC
** HDMI corruption **

After connecting  HDMI (and waiting second or two) my TV starts displaying something. That looks like green and white vertical stripes. However xrandr displays HDMI (DFP1) as disconnected and it really seems that DFP1 is not programmed at all.

When I compare regs between radeon and (fglrx or radeon-with-DFP1-attached-at-boot-time) [always with HDMI attached], there are a lot of differences. About 30 in low registers and over 100 differences in registers 0x28... and 0x29...
Comment 4 Rafał Miłecki 2011-12-03 04:09:12 UTC
Just call me an idiot. I've been using fglrx Xorg driver with radeon kernel module...

Plain radeon + radeon works OK!


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.