Bug 139361

Summary: Video mode is too high for the ES1000 video ASIC
Product: [openSUSE] SUSE Linux 10.1 Reporter: Rod Macdonald <rod.macdonald>
Component: X.OrgAssignee: Stefan Dirsch <sndirsch>
Status: RESOLVED FIXED QA Contact: Stefan Dirsch <sndirsch>
Severity: Normal    
Priority: P2 - High CC: antonovi, eich, eldho_kuriakose, john_hull, marc.ruehrschneck, mdanzer, mtippett
Version: Alpha 4   
Target Milestone: ---   
Hardware: i386   
OS: SuSE Pro 9.2   
Whiteboard:
Found By: Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: XFree86Config
/var/log/XFree86.0.log
Patch for SLES9
Config file for 24bpp test
Config file for 24bpp test
Log file from 24bp test
radeon.tar.bz2

Description Rod Macdonald 2005-12-15 15:17:19 UTC
This problem was reported by Dell for another Distributor.  It was also reproduced at ATI using SLES 9 SP2.

When using a monitor that can handle very large resolutions it is possible to configure the video output beyond what the ES1000 can handle.  

Specifically we are seeing resolution 1600x1200@85Hz which will display with corruption.  This mode is beyond what the ES1000 can support when using 16bit memory at 200MHz.

Is there a "maximum resolution limit" that is set in the the radeon open source driver used by SuSE?  I understand a bandwith calculation is done in the driver.  If this is determining the maximum resolution can it be changed to be more conservative?  

Config and log files will be appended shortly.
Comment 1 Rod Macdonald 2005-12-15 15:18:25 UTC
Created attachment 60983 [details]
XFree86Config
Comment 2 Rod Macdonald 2005-12-15 15:19:41 UTC
Created attachment 60985 [details]
/var/log/XFree86.0.log
Comment 3 Stefan Dirsch 2006-01-04 10:38:35 UTC
I wonder why ATI can't take care of this itself, e.g. Hui Yu <hyu@ati.com> is very familiar with the Open Source radeon driver and he has commit rights to X.Org CVS as well and did many patches especially for new chipset support in the past.
Comment 4 Stefan Dirsch 2006-01-11 16:31:29 UTC
*** Bug 142143 has been marked as a duplicate of this bug. ***
Comment 5 Marc Ruehrschneck 2006-01-16 16:08:00 UTC
It looks like this needs to be fixed in the opensource driver.
Rod, can you forward this to e.g. Hui Yo as Stefan mentioned? Let us know what your thoughts are.
Comment 6 Rod Macdonald 2006-01-19 20:49:32 UTC
Hui Yu is no longer available for investigations on the radeon open source driver.  Having said that, another developer at ATI is looking at providing a patch for this problem that will selectively restrict the pixel clock depending on the bpp requested.  Essentially the fix will look like this:

Limit the pixel clock to
100 MHz at 32bpp
200 MHz at 16bpp
400 Mhz at 8bpp

We might need to limit the 8bpp further to meet a specific request for Dell.  I'll append a patch as soon as it is ready.
Comment 7 Stefan Dirsch 2006-01-19 22:11:49 UTC
Thanks for keeping us up-to-date.
Comment 8 Stefan Dirsch 2006-02-16 17:55:21 UTC
https://bugs.freedesktop.org/show_bug.cgi?id=5766
Comment 9 Rod Macdonald 2006-02-16 21:09:29 UTC
Hi Stefan, Could you also apply this patch to SLES 10 since this problem also exists in X.Org
Comment 10 Stefan Dirsch 2006-02-16 22:35:28 UTC
I think so.
Comment 11 Egbert Eich 2006-02-17 09:27:47 UTC
OK, the patch limits the max pll clock by using an empirical formual taken from the ATi Windows driver. We should use it.
Comment 12 Stefan Dirsch 2006-02-17 14:12:23 UTC
submitted for STABLE. Fixed in 10.1 Beta > 4.
Comment 13 Stefan Dirsch 2006-02-22 17:16:03 UTC
This patch has broken IBM T41p support again completely. Therefore I disabled it for now. See Bug #152473 for details.
Comment 14 Stefan Dirsch 2006-02-23 05:09:57 UTC
Bug 152473:
-----------
[...]
Comment #22 From Stefan Dirsch 2006-02-22 11:26 MST  [reply]
> > I don't see how rn50-pixelclock-limit.diff could have such an effect - it
> > should only have *any* effect with an RN50 card.
> It was surprising for me as well ...
I'll doublecheck!
Comment 15 Stefan Dirsch 2006-02-23 14:18:06 UTC
rn50-pixelclock-limit.diff is not responsible for the hangup on T41p. I reverted this, i.e. I enabled the patch again.
Comment 16 Stefan Dirsch 2006-03-01 17:59:31 UTC
Created attachment 70843 [details]
Patch for SLES9
Comment 17 Stefan Dirsch 2006-03-01 20:01:59 UTC
reopen.
Comment 18 Stefan Dirsch 2006-03-01 20:02:28 UTC
submitted patch (comment #16) for SLES9-SP4.
Comment 19 Rod Macdonald 2006-03-07 14:11:15 UTC
Regarding the test RPMs provided by Stefan:

Date: Wed Mar  1 18:19:54 CET 2006 
From: sndirsch@suse.de  

ftp://ftp.suse.com/pub/people/sndirsch/RPMS/ATI

- p_radeon-dell.diff:
  * fixes wrong mouse position on Dell servers ( Bug #138458)
- p_rn50-pixelclock-limit.diff:
  * Limit pixel clock to model memory bandwidth limits
    ( Bug #139361, X.Org  Bug #5766)
- p_radeon-window-panning.diff:
  * should fix window panning problem ( Bug #151621)

===============================================================================

Date: Monday, 6 Mar 2006 
From: Rod Macdonald <rmacdona@ati.com>

This RPM does limit the ES1000 resolutions sufficiently to eliminate corruption.  I tested by setting XF86Config to allow very high resolutions and then ran startx which showed the following:

1.  Limit of 1600x1200@73Hz for 8bpp
2.  Limit of 1600x1200@73Hz for 16bpp
3.  Limit of 1280x960@60Hz for 24bpp

Testing was performed on a Dell SC1430 with SLES9 SP3 32b.  

The result for #3 might be of concern to Dell. I'll attach the config and log files shortly.  With RHEL we saw 1280x1024@60Hz for 24bpp.

These results should also be verified by Dell.


Comment 20 Rod Macdonald 2006-03-07 14:17:23 UTC
Created attachment 71565 [details]
Config file for 24bpp test
Comment 21 Rod Macdonald 2006-03-07 14:17:39 UTC
Created attachment 71566 [details]
Config file for 24bpp test
Comment 22 Rod Macdonald 2006-03-07 14:19:01 UTC
Created attachment 71567 [details]
Log file from 24bp test
Comment 23 Michel Danzer 2006-03-07 14:41:39 UTC
(In reply to comment #19)> 
> 
> The result for #3 might be of concern to Dell. I'll attach the config and log
> files shortly.  With RHEL we saw 1280x1024@60Hz for 24bpp.

Was that with the same monitor? 1280x1024@60 is 108 Mhz, which is within the limit of 112.5 Mhz that the driver calculated from the memory parameters (and AFAIK Anatoli succeeded in using this mode with a limit of 110 Mhz on RHEL3).
Comment 24 Egbert Eich 2006-03-07 15:29:20 UTC
There doesn't seem to be a problem here other that 60Hz vrefresh are quite low for CRTs. Going up to 110 or 112 MHz does not increase the frame rate considerably.
Comment 25 Rod Macdonald 2006-03-07 16:17:14 UTC
> Was that with the same monitor? 1280x1024@60 is 108 Mhz, which is within the
> limit of 112.5 Mhz 

I reconfigured the monitor settings with Yast and now I get 1280x1024@60Hz for 24bpp.  All is well.  Thanks, 
Comment 26 Rod Macdonald 2006-03-28 14:47:55 UTC
Stefan, can you tell me if this fix will be in the next update to SLES9?

Comment 27 Stefan Dirsch 2006-03-28 15:01:03 UTC
Currently no since other bugs, which I wanted to fix at the same time are not resolved yet (#138458,#151621).
Comment 28 Stefan Dirsch 2006-03-29 17:08:49 UTC
> Currently no since other bugs, which I wanted to fix at the same time are
> not resolved yet (#138458,#151621).
Just for the record. #151621 has been resolved fixed meanwhile. #138458 is
still remaining.
Comment 29 Stefan Dirsch 2006-06-07 20:56:17 UTC
Created attachment 87821 [details]
radeon.tar.bz2

Updated driver for testing.