Bug 24041 - [KMS] KMS fails to initalize, in a rs690
Summary: [KMS] KMS fails to initalize, in a rs690
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:
Depends on:
Reported: 2009-09-20 02:40 UTC by Manuel Braga
Modified: 2010-07-28 12:08 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

syslog, kms fails (14.59 KB, text/plain)
2009-09-20 02:40 UTC, Manuel Braga
no flags Details
syslog, kms succefull inits (15.33 KB, text/plain)
2009-09-20 02:47 UTC, Manuel Braga
no flags Details

Description Manuel Braga 2009-09-20 02:40:52 UTC
Created attachment 29707 [details]
syslog, kms fails

With a vanilla 2.6.31 kernel, and a rs690.

KMS fails to initalize with "Bad things might happen." messages, ending with ring test failed.

By trying to find the cause, i arrived at r420_pipes_init, and put DRM_INFO that printed the value of RADEON_RBBM_STATUS between each register access.

This resulted that KMS sucessfull started, in this run.
[drm] rs690_gpu_init1 (RBBM_STATUS=0x10000140)
[drm] rs690_gpu_init2 (RBBM_STATUS=0x10000140)
[drm] rs690_gpu_init3 (RBBM_STATUS=0x10000140)  (before r420_pipes_init call)
[drm] r420_pipes_init1 (RBBM_STATUS=0x10000140) (top of r420_pipes_init)
[drm] r420_pipes_init2 (RBBM_STATUS=0x94000140) (after WREG32(0x4274, ... )
[drm] r420_pipes_init pipes 1
[drm] r420_pipes_init3 (RBBM_STATUS=0x10000140)
[drm] r420_pipes_init4 (RBBM_STATUS=0x94000140)
[drm] radeon: 1 quad pipes, 1 z pipes initialized.
[drm] rs690_gpu_init4 (RBBM_STATUS=0x10000140)

The value of RBBM_STATUS after GA_ENHANCE register write was 0x94000140

Only by putting a DRM_INFO print showed that fixes the problem, likely the cause is a timing related.
Comment 1 Manuel Braga 2009-09-20 02:46:04 UTC
By putting a r100_gui_wait_for_idle right after GA_ENHANCE write, KMS sucessfull starts.

(Ignore invalid EDID, is likely the motherboard fault)
Comment 2 Manuel Braga 2009-09-20 02:47:02 UTC
Created attachment 29708 [details]
syslog, kms succefull inits
Comment 3 Jerome Glisse 2010-04-13 02:42:41 UTC
So only 2.6.31 is affected ? Does it works with recent kernel (2.6.33 or 2.6.34) ?
Comment 4 Manuel Braga 2010-07-28 12:08:46 UTC
Just now tried 2.6.35-rc6 without any problem.

The fix were added at 2.6.32, commit 18a4cd2e9147dd41234dade56edb62c6222832eb
and is working fine.

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.