updata send sd checkout all time at move and input
authorlhh <lhh@rock-chips.com>
Wed, 26 Jan 2011 09:29:53 +0000 (17:29 +0800)
committerlhh <lhh@rock-chips.com>
Wed, 26 Jan 2011 09:29:53 +0000 (17:29 +0800)
drivers/mmc/host/rk29_sdmmc.c

index 475112ba19333c416dcd5c1e74128628e647e5c8..cf846eec5fc65349a279e7f3f361beac199bd8bd 100755 (executable)
@@ -46,7 +46,7 @@
 #define RK29_SDMMC_ERROR_FLAGS         (RK29_SDMMC_DATA_ERROR_FLAGS | RK29_SDMMC_CMD_ERROR_FLAGS | SDMMC_INT_HLE)
 #define RK29_SDMMC_SEND_STATUS         1
 #define RK29_SDMMC_RECV_STATUS         2
-#define RK29_SDMMC_DMA_THRESHOLD       512
+#define RK29_SDMMC_DMA_THRESHOLD       16
 
 enum {
        EVENT_CMD_COMPLETE = 0,
@@ -1150,7 +1150,7 @@ static irqreturn_t rk29_sdmmc_interrupt(int irq, void *dev_id)
        u32                     status,  pending;
        unsigned int            pass_count = 0;
        bool present;
-       bool present_old;
+       //bool present_old;
 
        spin_lock(&host->lock);
        do {
@@ -1161,8 +1161,8 @@ static irqreturn_t rk29_sdmmc_interrupt(int irq, void *dev_id)
                if(pending & SDMMC_INT_CD) {
                    rk29_sdmmc_write(host->regs, SDMMC_RINTSTS, SDMMC_INT_CD); // clear sd detect int
                        present = rk29_sdmmc_get_cd(host->mmc);
-                       present_old = test_bit(RK29_SDMMC_CARD_PRESENT, &host->flags);
-                       if(present != present_old) {
+                       //present_old = test_bit(RK29_SDMMC_CARD_PRESENT, &host->flags);
+                       //if(present != present_old) {
                                if (present != 0) {
                                        set_bit(RK29_SDMMC_CARD_PRESENT, &host->flags);
                                        mod_timer(&host->detect_timer, jiffies + msecs_to_jiffies(200));
@@ -1170,7 +1170,7 @@ static irqreturn_t rk29_sdmmc_interrupt(int irq, void *dev_id)
                                        clear_bit(RK29_SDMMC_CARD_PRESENT, &host->flags);
                                        mod_timer(&host->detect_timer, jiffies + msecs_to_jiffies(10));                                 
                                }                                                       
-                       }
+                       //}
                }       
                if(pending & RK29_SDMMC_CMD_ERROR_FLAGS) {
                    rk29_sdmmc_write(host->regs, SDMMC_RINTSTS,RK29_SDMMC_CMD_ERROR_FLAGS);  //  clear interrupt