Changeset 4711


Ignore:
Timestamp:
10/10/08 23:58:41 (5 years ago)
Author:
werner
Message:
  • series, gta02-mmc-mci.patch: added platform glue to use the S3C MCI driver
  • hif-direct-interrupt.patch: made use of direct interrupt configurable
  • hif-direct-interrupt.patch: removed useless attempt to set ECSI (interrupt signaling even when nSS is inactive)
Location:
developers/werner/wlan-spi/patches
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • developers/werner/wlan-spi/patches/hif-direct-interrupt.patch

    r4697 r4711  
    1010Index: korig/drivers/ar6000/hif/hif2.c 
    1111=================================================================== 
    12 --- korig.orig/drivers/ar6000/hif/hif2.c        2008-10-07 13:00:55.000000000 -0200 
    13 +++ korig/drivers/ar6000/hif/hif2.c     2008-10-07 13:00:57.000000000 -0200 
     12--- korig.orig/drivers/ar6000/hif/hif2.c        2008-10-07 13:06:47.000000000 -0200 
     13+++ korig/drivers/ar6000/hif/hif2.c     2008-10-10 19:51:23.000000000 -0200 
    1414@@ -21,9 +21,13 @@ 
    1515 #include <linux/list.h> 
     
    7373  
    7474-#if 1 
    75 +#if 0 
     75+#ifndef CONFIG_AR6000_GTA02_DIRECT_IRQ 
    7676  
    7777 /* 
    7878  * Volatile ought to be good enough to make gcc do the right thing on S3C24xx. 
    79 @@ -393,69 +414,64 @@ 
     79@@ -386,78 +407,76 @@ 
     80                yield(); 
     81 } 
     82  
     83-#endif 
     84+#endif /* !CONFIG_AR6000_GTA02_DIRECT_IRQ */ 
     85  
     86 /* ========================================================================= */ 
     87  
    8088 /* 
    8189  * The code below is for handling interrupts signalled out-of-band. 
     
    8391-#if 0 
    8492-#define IRQ_GPIO S3C2410_GPE8 /* SDDAT1 */ 
     93  
     94+#ifdef CONFIG_AR6000_GTA02_DIRECT_IRQ 
     95  
     96-static atomic_t mask = ATOMIC_INIT(1); 
     97  
    8598- 
    86 - 
    87 -static atomic_t mask = ATOMIC_INIT(1); 
    88 +#if 1 
    89   
    90   
    9199-static void sdio_ar6000_irq(struct sdio_func *func) 
    92100+static void sdio_ar6000_work(struct work_struct *work) 
     
    173181+       disable_irq(hif->irq); 
    174182 } 
    175  #endif 
    176   
    177 @@ -503,6 +519,7 @@ 
    178         struct device *dev = &func->dev; 
    179         int ret; 
    180         struct task_struct *task; 
    181 +       u8 bus; 
    182   
    183         dev_dbg(dev, "sdio_ar6000_probe\n"); 
    184         BUG_ON(!htcCallbacks.deviceInsertedHandler); 
    185 @@ -520,11 +537,46 @@ 
     183-#endif 
     184+ 
     185+#endif /* CONFIG_AR6000_GTA02_DIRECT_IRQ */ 
     186+ 
     187  
     188 /* ========================================================================= */ 
     189  
     190@@ -520,11 +539,31 @@ 
    186191                dev_err(dev, "sdio_set_block_size returns %d\n", ret); 
    187192                /* @@@ cleanup */ 
    188193        } 
    189 +#if 0 
     194+#ifndef CONFIG_AR6000_GTA02_DIRECT_IRQ 
    190195        ret = sdio_claim_irq(func, sdio_ar6000_irq); 
    191196        if (ret) { 
     
    193198                /* @@@ cleanup */ 
    194199        } 
    195 +#else 
     200+#else /* !CONFIG_AR6000_GTA02_DIRECT_IRQ */ 
    196201+       hif_device.irq = IRQ_EINT3; 
    197202+       INIT_WORK(&hif_device.work, sdio_ar6000_work); 
     
    204209+       /* driver wants to be in charge for enabling the interrupt */ 
    205210+       disable_irq(hif_device.irq); 
    206 +       bus = sdio_f0_readb(func, SDIO_CCCR_IF, &ret); 
    207 +       if (ret) { 
    208 +               dev_err(dev, "sdio_f0_readb(SDIO_CCCR_IF) returns %d\n", 
    209 +                   ret); 
    210 +               /* @@@ cleanup */ 
    211 +       } 
    212 +       printk(KERN_INFO "bus 0x%02x\n", bus); 
    213 +       /* try to set ECSI. Note: SCSI is 0, so this probably has no effect. */ 
    214 +       bus |= 0x20; 
    215 +       sdio_f0_writeb(func, bus, SDIO_CCCR_IF, &ret); 
    216 +       if (ret) { 
    217 +               dev_err(dev, "sdio_f0_writeb(SDIO_CCCR_IF) returns %d\n", 
    218 +                   ret); 
    219 +               /* @@@ cleanup */ 
    220 +       } 
    221211+       sdio_f0_writeb(func, 3, SDIO_CCCR_IENx, &ret); 
    222212+       if (ret) { 
     
    225215+               /* @@@ cleanup */ 
    226216+       } 
    227 +#endif 
     217+#endif /* CONFIG_AR6000_GTA02_DIRECT_IRQ */ 
    228218+ 
    229219 #if 0 /* only for hw SDIO */ 
     
    232222Index: korig/drivers/spi/spi_bitbang.c 
    233223=================================================================== 
    234 --- korig.orig/drivers/spi/spi_bitbang.c        2008-10-07 13:00:55.000000000 -0200 
    235 +++ korig/drivers/spi/spi_bitbang.c     2008-10-07 13:00:57.000000000 -0200 
     224--- korig.orig/drivers/spi/spi_bitbang.c        2008-10-07 13:06:31.000000000 -0200 
     225+++ korig/drivers/spi/spi_bitbang.c     2008-10-07 13:06:47.000000000 -0200 
    236226@@ -323,6 +323,9 @@ 
    237227                         * selected ...) 
     
    254244                        bitbang->chipselect(spi, BITBANG_CS_INACTIVE); 
    255245                        ndelay(nsecs); 
     246Index: korig/drivers/ar6000/Kconfig 
     247=================================================================== 
     248--- korig.orig/drivers/ar6000/Kconfig   2008-10-10 19:23:50.000000000 -0200 
     249+++ korig/drivers/ar6000/Kconfig        2008-10-10 19:28:22.000000000 -0200 
     250@@ -5,3 +5,8 @@ 
     251         default m 
     252         help 
     253           good luck. 
     254+ 
     255+config AR6000_GTA02_DIRECT_IRQ 
     256+       bool "Hack: use direct interrupt on GTA02" 
     257+       depends on AR6000_WLAN && !AR6K_S3CMCI 
     258+       default n 
  • developers/werner/wlan-spi/patches/series

    r4698 r4711  
    3434hif-direct-interrupt.patch 
    3535hif-can-do-async.patch 
     36gta02-mmc-mci.patch 
Note: See TracChangeset for help on using the changeset viewer.