Date:2012-10-22 16:01:24 (11 years 5 months ago)
Author:Xiangfu
Commit:4a16fa46b4ad3642070013d6a0bfd0b68c2dc97f
Message:xburst: ben nanonote:: add ks7010 wrieless card support

Files: target/linux/xburst/patches-3.3/600-sdio-wireless-ks7010-support.patch (1 diff)

Change Details

target/linux/xburst/patches-3.3/600-sdio-wireless-ks7010-support.patch
1From 3aad7806fb868cd3d024954b08b8913e215ef705 Mon Sep 17 00:00:00 2001
2From: Xiangfu Liu <xiangfu@sharism.cc>
3Date: Tue, 6 Mar 2012 09:32:15 +0800
4Subject: [PATCH 22/28] sdio-wifi-ks7010-support
5
6---
7 drivers/mmc/core/core.c | 4 ++--
8 drivers/mmc/core/sdio_cis.c | 7 ++++---
9 2 files changed, 6 insertions(+), 5 deletions(-)
10
11diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
12index 950b97d..9bbc3db 100644
13--- a/drivers/mmc/core/core.c
14@@ -1303,7 +1303,7 @@ static void mmc_power_up(struct mmc_host *host)
15      * This delay should be sufficient to allow the power supply
16      * to reach the minimum voltage.
17      */
18- mmc_delay(10);
19+ mmc_delay(200);
20
21     host->ios.clock = host->f_init;
22
23@@ -1314,7 +1314,7 @@ static void mmc_power_up(struct mmc_host *host)
24      * This delay must be at least 74 clock sizes, or 1 ms, or the
25      * time required to reach a stable voltage.
26      */
27- mmc_delay(10);
28+ mmc_delay(200);
29
30     mmc_host_clk_release(host);
31 }
32diff --git a/drivers/mmc/core/sdio_cis.c b/drivers/mmc/core/sdio_cis.c
33index f1c7ed8..7881c4b 100644
34--- a/drivers/mmc/core/sdio_cis.c
35@@ -156,7 +156,8 @@ static int cistpl_funce_common(struct mmc_card *card, struct sdio_func *func,
36     /* TPLFE_MAX_TRAN_SPEED */
37     card->cis.max_dtr = speed_val[(buf[3] >> 3) & 15] *
38                 speed_unit[buf[3] & 7];
39-
40+ if(card->cis.max_dtr > 25000000 && card->cccr.sdio_vsn < SDIO_SDIO_REV_2_00)
41+ card->cis.max_dtr = 25000000;
42     return 0;
43 }
44
45@@ -177,14 +178,14 @@ static int cistpl_funce_func(struct mmc_card *card, struct sdio_func *func,
46     vsn = func->card->cccr.sdio_vsn;
47     min_size = (vsn == SDIO_SDIO_REV_1_00) ? 28 : 42;
48
49- if (size < min_size)
50+ if (buf[0] != 1)
51         return -EINVAL;
52
53     /* TPLFE_MAX_BLK_SIZE */
54     func->max_blksize = buf[12] | (buf[13] << 8);
55
56     /* TPLFE_ENABLE_TIMEOUT_VAL, present in ver 1.1 and above */
57- if (vsn > SDIO_SDIO_REV_1_00)
58+ if (vsn > SDIO_SDIO_REV_1_00 && size >= min_size)
59         func->enable_timeout = (buf[28] | (buf[29] << 8)) * 10;
60     else
61         func->enable_timeout = jiffies_to_msecs(HZ);
62--
631.7.5.4
64

Archive Download the corresponding diff file



interactive