Summary: | [KMS] KMS fails to initalize, in a rs690 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Manuel Braga <mul.braga> | ||||||
Component: | DRM/Radeon | Assignee: | Default DRI bug account <dri-devel> | ||||||
Status: | RESOLVED FIXED | QA Contact: | |||||||
Severity: | normal | ||||||||
Priority: | medium | ||||||||
Version: | unspecified | ||||||||
Hardware: | Other | ||||||||
OS: | All | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
By putting a r100_gui_wait_for_idle right after GA_ENHANCE write, KMS sucessfull starts. (Ignore invalid EDID, is likely the motherboard fault) Created attachment 29708 [details]
syslog, kms succefull inits
So only 2.6.31 is affected ? Does it works with recent kernel (2.6.33 or 2.6.34) ? 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.
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.