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

Re: Solution for issue with PicassoII and flickering pixels



On 05.02.2006, Christian Steigies wrote:

> On Sun, Feb 05, 2006 at 10:04:34PM -0500, Peter Krummrich wrote:
>> 
>> Well, as it seems, not all drivers... clgenfb or cirrusfb seems to be
>> missing. After booting the kernel, I got some disk activity (SCSI disks),
>> but nothing on the screen. Unfortunately, my monitor cannot display
>> vertical frequencies below 56 Hz. So if the Picasso card is activated,
>> everything is fine (usually starts with 640x480 mode with 60 Hz). If it
>> is not, I don't get anything on my screen.
> 
> Actually, the driver might not be built in at all, I had to disable some,
> since they failed to compile, and I did not check for a while, if they
> compile again. But why don't you log in via the network? 

Well, I was not so bold to assume that the network is working. Maybe I
should try next time...

> My last boot of
> the Amiga did not get my a login screen, last message was starting the
> crond. But the machine was working fine, and I could work from the
> console.
> 
> CONFIG_FB_CIRRUS=m
> # CONFIG_FB_PM2 is not set
> CONFIG_FB_AMIGA=y
> CONFIG_FB_AMIGA_OCS=y
> CONFIG_FB_AMIGA_ECS=y
> CONFIG_FB_AMIGA_AGA=y
> # CONFIG_FB_CYBER is not set
> # CONFIG_FB_VIRGE is not set
> # CONFIG_FB_RETINAZ3 is not set
> CONFIG_FB_FM2=y
> 
> If it is the cirrus driver, it should be available as a module. As for the
> keyboard, I did not add the patch to use the old amiga keymaps yet. Too
> many patches, I want to change only one thing at a time.
> 
>> My proposal would still be to send me the current cirrusfb.c file (or
>> tell me, where I can download it - but please not as part of a complete
>> kernel source archive).
> 
> Just get it from linux-m68k CVS
> http://linux-m68k-cvs.ubb.ca/
> http://linux-m68k-cvs.ubb.ca/c/cvsweb/linux/drivers/video/cirrusfb.c
> 

Thanks for the link. I downloaded the file and spent a look at the code. The
interface to the module may have changed, but the core/internal functions
are pretty much the same as in clgenfb.c. The problem with overclocking of
the video memory of the Picasso board is still there. I have attached a
diff file that changes the mclk values to the ones that work with my
Picasso board and the clgenfb driver. This should fix the problem for
cirrusfb.c, too. Can someone please change the code in CVS or tell me, how
this can be done?
 
>> This trick actually worked for me. Strange that an uncompressed (larger)
>> kernel fits and a compressed (smaller) one is considered too large.
> 
> Well, the compressed (smaller) kernel has to be uncompressed by amiboot
> before it can be used. The it used the full memory of the uncompressed
> kernel plus something extra, maybe the whole compressed kernel or even
> more.
> 
> Seems I can not build new kernels at the moment, my main machine has
> troubles with it's ethernet connectivity, I am still hoping that it did
> not like my rerouting of powercables and not broken hardware...
> 
> Christian
> 

I keep my fingers crossed that your hardware is not broken. PC stuff is easy
to replace, but Amigas are a species threatened by extinction.

Best Regards,

Peter


--- cirrusfb.c.org	2006-02-06 23:05:13.000000000 +0100
+++ cirrusfb.c	2006-02-06 23:21:58.000000000 +0100
@@ -202,7 +202,7 @@
                 .sr07                   = 0x20,
                 .sr07_1bpp              = 0x20,
                 .sr07_8bpp              = 0x21,
-                .sr1f                   = 0x22
+                .sr1f                   = 0x1e
         },
         [BT_SPECTRUM] = {
                 .name                   = "CL Spectrum",
@@ -1229,7 +1229,7 @@
 
                 case BT_PICASSO:
                         DPRINTK ("(for Picasso)\n");
-                        vga_wseq (regbase, CL_SEQR1F, 0x22);            /* ##vorher 22 MCLK select */
+                        vga_wseq (regbase, CL_SEQR1F, 0x1e);            /* MCLK select */
                         vga_wseq (regbase, CL_SEQRF, 0xd0);     /* ## vorher d0 avoid FIFO underruns..? */
                         break;
 
@@ -1307,7 +1307,7 @@
                         break;
 
                 case BT_PICASSO:
-                        vga_wseq (regbase, CL_SEQR1F, 0x22);            /* ### vorher 1c MCLK select */
+                        vga_wseq (regbase, CL_SEQR1F, 0x1e);            /* MCLK select */
                         vga_wseq (regbase, CL_SEQRF, 0xb0);     /* Fast Page-Mode writes */
                         break;
 
@@ -1374,7 +1374,7 @@
                 case BT_PICASSO:
                         vga_wseq (regbase, CL_SEQR7, 0x27);
                         vga_wseq (regbase, CL_SEQRF, 0xb0);     /* Fast Page-Mode writes */
-                        vga_wseq (regbase, CL_SEQR1F, 0x22);            /* MCLK select */
+                        vga_wseq (regbase, CL_SEQR1F, 0x1e);            /* MCLK select */
                         break;
 
                 case BT_SPECTRUM:
@@ -1450,7 +1450,7 @@
                 case BT_PICASSO:
                         vga_wseq (regbase, CL_SEQR7, 0x25);
                         vga_wseq (regbase, CL_SEQRF, 0xb0);     /* Fast Page-Mode writes */
-                        vga_wseq (regbase, CL_SEQR1F, 0x22);            /* MCLK select */
+                        vga_wseq (regbase, CL_SEQR1F, 0x1e);            /* MCLK select */
                         break;
 
                 case BT_SPECTRUM:

Reply to: