[Top] [All Lists]

Re: [loongson-PATCH-v1 16/27] Add Siliconmotion 712 framebuffer driver

Subject: Re: [loongson-PATCH-v1 16/27] Add Siliconmotion 712 framebuffer driver
From: Simon Braunschmidt <>
Date: Fri, 29 May 2009 15:29:28 +0200
In-reply-to: <>
Organization: emlix gmbh, Goettingen, Germany
Original-recipient: rfc822;
References: <> <>
User-agent: Thunderbird (X11/20090409)
Hi Wu Zhangjin

I applied your patch cleanly and run it on a i486SX (little endian) embedded computing board.

This provides a huge performance benefit compared to vesa framebuffer, so thanks a lot for the contribution.

I tested it in both the library-accelerated (cfb...) and hardware accelerated codepaths, with no problems. Tested with qt-embedded 4.5.1.

As i have seen lots of functionality are guarded by
#ifdef __BIG_ENDIAN

Is there a way to setup a different mode than 1024x600 on kernel-commandline or from userspace, e.g. with fbset?

What I currently do is
picking appropriate values form the table VGAMode in smtcfb.h and hardcoding them.

I tried 800x600x16bit@60hz, which worked also, but 1024x768x24bit@60hz left me with a corrupted display output (distored colors, missing regions), i did not check further wheter it also crashed.

I dont know wheter i am subscribed and this will make it through to lkml and linux-mips, feel free to cite me if you want.

Also if you want you may add my

Tested-by: Simon Braunschmidt <>

see also attached a patch for the debug messages

From addec9a5a27512621c538a2f799e31e07720cb9c Mon Sep 17 00:00:00 2001
From: Simon Braunschmidt <>
Date: Fri, 29 May 2009 15:03:51 +0200
Subject: [PATCH] [video] fix debug messages in smtcfb

when defining #DEBUG
 drivers/video/smi/smtcfb.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/video/smi/smtcfb.c b/drivers/video/smi/smtcfb.c
index 33ce878..ebc6371 100644
--- a/drivers/video/smi/smtcfb.c
+++ b/drivers/video/smi/smtcfb.c
@@ -44,6 +44,8 @@
 #include "smtcfb.h"
 #include "smtc2d.h"

+#define DEBUG
 #ifdef DEBUG
 #define smdbg(format, arg...)  printk(KERN_DEBUG format , ## arg)
@@ -1087,7 +1089,7 @@ static int __init sm712be_setup(char *options)
        sm712be_flag = 0;
        if (!options || !*options) {
                retval = 1;
-               smdbg("\n No sm712be parameter\n", __LINE__);
+               smdbg("\n No sm712be parameter\n");
        if (!retval && strstr(options, "enable"))
                sm712be_flag = 1;
@@ -1113,7 +1115,7 @@ static int __init sm712vga_setup(char *options)

        if (!options || !*options) {
                retval = 1;
-               smdbg("\n No vga parameter\n", __LINE__);
+               smdbg("\n No vga parameter\n");

        screen_info.lfb_width = 0;

<Prev in Thread] Current Thread [Next in Thread>