Updates to -ck series/patches to reflect BFS 404 changes; revert config to 100 Hz...
[kernel-bfs] / kernel-bfs-2.6.28 / debian / patches / class10sd_dto14_fix.diff
1 --- kernel-2.6.28/drivers/mmc/host/omap_hsmmc.c 2011-04-28 23:06:37.000000000 +0200
2 +++ kernel-2.6.28.new/drivers/mmc/host/omap_hsmmc.c     2011-05-05 22:18:25.174891197 +0200
3 @@ -958,36 +958,9 @@ static void set_data_timeout(struct omap
4                              unsigned int timeout_ns,
5                              unsigned int timeout_clks)
6  {
7 -       unsigned int timeout, cycle_ns;
8 -       uint32_t reg, clkd, dto = 0;
9 -
10 -       reg = OMAP_HSMMC_READ(host->base, SYSCTL);
11 -       clkd = (reg & CLKD_MASK) >> CLKD_SHIFT;
12 -       if (clkd == 0)
13 -               clkd = 1;
14 -
15 -       cycle_ns = 1000000000 / (clk_get_rate(host->fclk) / clkd);
16 -       timeout = timeout_ns / cycle_ns;
17 -       timeout += timeout_clks;
18 -       if (timeout) {
19 -               while ((timeout & 0x80000000) == 0) {
20 -                       dto += 1;
21 -                       timeout <<= 1;
22 -               }
23 -               dto = 31 - dto;
24 -               timeout <<= 1;
25 -               if (timeout && dto)
26 -                       dto += 1;
27 -               if (dto >= 13)
28 -                       dto -= 13;
29 -               else
30 -                       dto = 0;
31 -               if (dto > 14)
32 -                       dto = 14;
33 -       }
34 -
35 +       uint32_t reg = OMAP_HSMMC_READ(host->base, SYSCTL);
36         reg &= ~DTO_MASK;
37 -       reg |= dto << DTO_SHIFT;
38 +       reg |= DTO << DTO_SHIFT;
39         OMAP_HSMMC_WRITE(host->base, SYSCTL, reg);
40  }
41