Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eb78f9b3fa8532057d2a45acbe415b27ece6341b
Commit:     eb78f9b3fa8532057d2a45acbe415b27ece6341b
Parent:     f22e521f2992031fdedb661f2a647cafd2e45fa1
Author:     Ben Dooks <[EMAIL PROTECTED]>
AuthorDate: Tue Oct 16 01:28:39 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Tue Oct 16 09:43:14 2007 -0700

    sm501fb: Ensure panel interface is not tristated when setup
    
    When we setup the panel interface whilst configuring the
    framebuffer, we should ensure the panel interface is not
    in tristate, in case the bootloader or previous setup has
    not enabled it.
    
    Signed-off-by: Ben Dooks <[EMAIL PROTECTED]>
    Signed-off-by: Antonino Daplas <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/video/sm501fb.c    |    5 +++++
 include/linux/sm501-regs.h |   18 ++++++++++++++++++
 2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/drivers/video/sm501fb.c b/drivers/video/sm501fb.c
index d97edd7..1be95a6 100644
--- a/drivers/video/sm501fb.c
+++ b/drivers/video/sm501fb.c
@@ -777,6 +777,11 @@ static int sm501fb_set_par_pnl(struct fb_info *info)
        writel(control, fbi->regs + SM501_DC_PANEL_CONTROL);
        sm501fb_sync_regs(fbi);
 
+       /* ensure the panel interface is not tristated at this point */
+
+       sm501_modify_reg(fbi->dev->parent, SM501_SYSTEM_CONTROL,
+                        0, SM501_SYSCTRL_PANEL_TRISTATE);
+
        /* power the panel up */
        sm501fb_panel_power(fbi, 1);
        return 0;
diff --git a/include/linux/sm501-regs.h b/include/linux/sm501-regs.h
index 014e73b..df7620d 100644
--- a/include/linux/sm501-regs.h
+++ b/include/linux/sm501-regs.h
@@ -15,6 +15,24 @@
 
 /* config 1 */
 #define SM501_SYSTEM_CONTROL           (0x000000)
+
+#define SM501_SYSCTRL_PANEL_TRISTATE   (1<<0)
+#define SM501_SYSCTRL_MEM_TRISTATE     (1<<1)
+#define SM501_SYSCTRL_CRT_TRISTATE     (1<<2)
+
+#define SM501_SYSCTRL_PCI_SLAVE_BURST_MASK (3<<4)
+#define SM501_SYSCTRL_PCI_SLAVE_BURST_1        (0<<4)
+#define SM501_SYSCTRL_PCI_SLAVE_BURST_2        (1<<4)
+#define SM501_SYSCTRL_PCI_SLAVE_BURST_4        (2<<4)
+#define SM501_SYSCTRL_PCI_SLAVE_BURST_8        (3<<4)
+
+#define SM501_SYSCTRL_PCI_CLOCK_RUN_EN (1<<6)
+#define SM501_SYSCTRL_PCI_RETRY_DISABLE        (1<<7)
+#define SM501_SYSCTRL_PCI_SUBSYS_LOCK  (1<<11)
+#define SM501_SYSCTRL_PCI_BURST_READ_EN        (1<<15)
+
+/* miscellaneous control */
+
 #define SM501_MISC_CONTROL             (0x000004)
 
 #define SM501_MISC_BUS_SH              (0x0)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to