[DCON] Enable GPIO7 input to ensure DCONIRQ works correctly.
David Woodhouse
dwmw2 at infradead.org
Thu Nov 2 00:17:14 EST 2006
Commit: 56340040bf66343f6e34ab86bceda2b46470fae7
Parent: c9ac945f31ce8e99aea192b13dbddd66b503b53f
commit 56340040bf66343f6e34ab86bceda2b46470fae7
Author: David Woodhouse <dwmw2 at infradead.org>
AuthorDate: Thu Nov 2 13:20:52 2006 +0800
Commit: David Woodhouse <dwmw2 at infradead.org>
CommitDate: Thu Nov 2 13:20:52 2006 +0800
[DCON] Enable GPIO7 input to ensure DCONIRQ works correctly.
OpenFirmware doesn't do this for us; the old BIOS used to.
Signed-off-by: David Woodhouse <dwmw2 at infradead.org>
---
drivers/video/geode/gxfb_dcon.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/video/geode/gxfb_dcon.c b/drivers/video/geode/gxfb_dcon.c
index a621d1c..88abc38 100644
--- a/drivers/video/geode/gxfb_dcon.c
+++ b/drivers/video/geode/gxfb_dcon.c
@@ -609,7 +609,7 @@ static int dcon_interrupt(int irq, void
(out) GPIO11 -- DCONLOAD
*/
-#define IN_GPIOS ((1<<5) | (1<<6) | (1<<12))
+#define IN_GPIOS ((1<<5) | (1<<6) | (1<<7) | (1<<12))
#define OUT_GPIOS (1<<11)
int __init gxfb_dcon_init(void)
@@ -628,14 +628,13 @@ int __init gxfb_dcon_init(void)
/* Mask off the IO base address */
gpio_base = lo & 0x0000ff00;
- /* Set the directions for the GPIO pins */
+ /* Turn off the event enable for GPIO7 just to be safe */
+ outl(1 << (16 + 7), gpio_base + GPIOx_EVNT_EN);
+ /* Set the directions for the GPIO pins */
outl(OUT_GPIOS | (IN_GPIOS << 16), gpio_base + GPIOx_OUT_EN);
outl(IN_GPIOS | (OUT_GPIOS << 16), gpio_base + GPIOx_IN_EN);
- /* Turn off the event enable for GPIO7 just to be safe */
- outl(1 << (16 + 7), gpio_base + GPIOx_EVNT_EN);
-
/* Set up the interrupt mappings first, so we can collect the
* first interrupt when it happens
*/
More information about the Commits-kernel
mailing list