brcm2708: update against latest rpi-3.10.y branch
[openwrt.git] / target / linux / brcm2708 / patches-3.10 / 0037-Allow-the-number-of-cycles-delay-between-sdcard-peri.patch
1 From addefb978a42b1699979ef8ecef08a01977dfd7d Mon Sep 17 00:00:00 2001
2 From: popcornmix <popcornmix@gmail.com>
3 Date: Wed, 3 Oct 2012 21:31:48 +0100
4 Subject: [PATCH 037/174] Allow the number of cycles delay between sdcard
5  peripheral writes to be specified on command line with
6  sdhci-bcm2708.cycle_delay
7
8 ---
9  drivers/mmc/host/sdhci-bcm2708.c | 5 ++++-
10  1 file changed, 4 insertions(+), 1 deletion(-)
11
12 --- a/drivers/mmc/host/sdhci-bcm2708.c
13 +++ b/drivers/mmc/host/sdhci-bcm2708.c
14 @@ -77,6 +77,8 @@
15  #define REG_EXRDFIFO_EN     0x80
16  #define REG_EXRDFIFO_CFG    0x84
17  
18 +int cycle_delay=2;
19 +
20  /*****************************************************************************\
21   *                                                                          *
22   * Debug                                                                    *
23 @@ -249,7 +251,7 @@ static void sdhci_bcm2708_raw_writel(str
24                 /* host->clock is the clock freq in Hz */
25                 static hptime_t last_write_hpt;
26                 hptime_t now = hptime();
27 -               ns_2clk = 2000000000/host->clock;
28 +               ns_2clk = cycle_delay*1000000/(host->clock/1000);
29  
30                 if (now == last_write_hpt || now == last_write_hpt+1) {
31                          /* we can't guarantee any significant time has
32 @@ -1388,6 +1390,7 @@ module_param(emmc_clock_freq, int, 0444)
33  module_param(sync_after_dma, bool, 0444);
34  module_param(missing_status, bool, 0444);
35  module_param(enable_llm, bool, 0444);
36 +module_param(cycle_delay, int, 0444);
37  
38  MODULE_DESCRIPTION("Secure Digital Host Controller Interface platform driver");
39  MODULE_AUTHOR("Broadcom <info@broadcom.com>");