[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] Sony C1V Clock Generator miss detect work around



Package: xserver-xfree86
Version: 4.0.1-1

 xserver-xfree86 does not work on Sony C1V series.
(English version is C1JE/Japanese version is C1VJ)

 This machine's specs are like this:

 CPU:          Crusoe (TM5600 600Mhz)
 Graphic Chip: ATI Rage Mobility (with Power Management)
 Video RAM:    8 MB
 LCD:          1024x480


 This machine's graphic subsystem uses Internal Clock Generator, but
current XFree86 4 (current CVS) can not detect this correctly on the
machine :-< like this:

(WW) ATI(0): Unknown programmable clock generator type (0xFFFFFFFF) detected.
(--) ATI(0): Pixel clocks available:
(--) ATI(0): pixel clocks:   0.000   0.000   0.000   0.000

 So XFree86 runs with incorrect setting of clock generator and can not
display X on LCD (white out....).

 This is a work around patch force to set `To use Internal Clock
Generator'. When `ClockChip "Internal"' will set in Device section of
XF86Config, ati_drv force to use Internal Clock Generator.

 I'll happy if include this next release of xfree86-4.0.1.deb :-)

 Of cause I understand this is the upstream problem and the patch is
a only `WORK AROUND'. I already posted this report to
devel@xfree86.org and I'll debug to fix this problem basically as
soon as possible.

P.S
This machine is tuned only for WindowsMe. To use Linux on this
machine is a little difficult... 
For example  power management does not work correctly, can not resume.
and Kernel 2.4.0-preX hangs up on this machine :-< etc etc etc.....

--- xc/programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c.ORIG	Mon Oct 23 02:05:30 2000
+++ xc/programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c	Mon Oct 23 02:06:25 2000
@@ -981,7 +981,7 @@
              * Compensate for BIOS absence.  Note that the reference
              * frequency has already been set by option processing.
              */
-            if ((pATI->DAC & 0x0FU) == ATI_DAC_INTERNAL)
+	    if ((pATI->DAC & 0x0FU) == ATI_DAC_INTERNAL || (!xf86NameCmp(pGDev->clockchip, "Internal")))
                 pATI->ProgrammableClock = ATI_CLOCK_INTERNAL;
             else switch (pATI->DAC)
             {

-- 
ISHIKAWA Mutsumi
 <ishikawa@linux.or.jp>, <ishikawa@debian.org>, <ishikawa@redhat.com>



Reply to: