[EMAIL PROTECTED] schrieb:
Hi! Hope this will not grow into a 'development issue', because then i'm at the wrong mailing list ...
The chips module seems to presume a ct65554 chipset's memory bus width is always 4 byte. However, according to the 'datasheet' available via www.chips.com a.k.a Intel, a ct65554 equipped with 4 MB of memory gets it's data 8-byte-per-memtick. So I should get a [EMAIL PROTECTED] mode with reasonable refresh rate for flat panels. For now, I can live with 8 bit colours, but I don't think that staying noticeably behind the hardware seller's specs will help a lot in free software advocacy...


Question: How to force the Xserver to try a mode it normally doesn't?

Thanks to all that take care of newbies like me :)


That has been months ago. Now: one problem solved, others remaining :)
I got the source, was then 4.2.99-4, but I was too lazy and too scared (being a non-coder) to change a thing for quite a long time.
Now I'm proud to present the attached almost-no-brainer.
It gives me a [EMAIL PROTECTED] mode with 16 bpp, that was unavailable before.It's tested on a laptop with 1024x768 pixels screen and ct65554 chipset @ 4 MB. It's still to be tested for the other HiQv chipsets.
BTW, has anybody SEEN a ct68554?
Best wishes,
wij


--- ct_driver.c         Sun Feb  2 22:16:21 2003
+++ NEW.ct_driver.c     Tue Jul  8 17:46:19 2003
@@ -2268,12 +2268,16 @@
        break;
     }
     
-    /* Check if maxClock is limited by the MemClk. Only 70% to allow for */
-    /* RAS/CAS. Extra byte per memory clock needed if framebuffer used   */
-    /* Extra byte if the overlay plane is activated                      */
-    /* We have a 64bit wide memory bus on the 69030 and 69000, and 32bits */
-    /* on the others. Thus multiply by a suitable factor                 */  
-    if ((cPtr->Chipset == CHIPS_CT69030) || (cPtr->Chipset == CHIPS_CT69000)) {
+    /* Check if maxClock is limited by the MemClk. Only 70% to allow for *
+    * RAS/CAS. Extra byte per memory clock needed if framebuffer used    *
+    * Extra byte if the overlay plane is activated                       *
+    * We have a 64bit wide memory bus on the 69030, 69000, 68554 (?),    *
+    * 65555 and even on the 65554 (with 4MB mem; 2MB: uncertain), 32bits *
+    * on the others. Thus multiply by a suitable factor                  */  
+    if ((cPtr->Chipset == CHIPS_CT69030) || (cPtr->Chipset == CHIPS_CT69000)
+       || (cPtr->Chipset == CHIPS_CT68554)
+       || (cPtr->Chipset == CHIPS_CT65555)
+       || ((cPtr->Chipset == CHIPS_CT65554) && (pScrn->videoRam == 4096))) {
        if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD))
            if (cPtr->Flags & ChipsOverlay8plus16 )
                cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 4);
@@ -5165,7 +5169,7 @@
                    if (Fvco <= ((cPtr->Chipset == CHIPS_CT69000 ||
                        cPtr->Chipset == CHIPS_CT69030) ? 100.0e6 : 48.0e6))
                        continue;
-                   if (Fvco > 220.0e6)
+                   if (Fvco > 220.0e6)
                        break;
 
                    Fout = Fvco / (1 << P);

Reply via email to