diff options
author | David P <megver83@parabola.nu> | 2018-03-14 22:50:51 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2018-03-14 22:50:51 -0300 |
commit | 6a85bfe121a93570d7a0a9b08cff00f3897dfd01 (patch) | |
tree | a7a8dfbff908d58f4f7b37d2ee5b7c1dff8557da /libre/linux-libre/0004-fix-mvsdio-eMMC-timing.patch | |
parent | e093861f94a63a21b01501f8f841c739be1174b8 (diff) | |
download | abslibre-6a85bfe121a93570d7a0a9b08cff00f3897dfd01.tar.gz abslibre-6a85bfe121a93570d7a0a9b08cff00f3897dfd01.tar.bz2 abslibre-6a85bfe121a93570d7a0a9b08cff00f3897dfd01.zip |
upgpkg: libre/linux-libre 4.15.9_gnu-1
Diffstat (limited to 'libre/linux-libre/0004-fix-mvsdio-eMMC-timing.patch')
-rw-r--r-- | libre/linux-libre/0004-fix-mvsdio-eMMC-timing.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libre/linux-libre/0004-fix-mvsdio-eMMC-timing.patch b/libre/linux-libre/0004-fix-mvsdio-eMMC-timing.patch new file mode 100644 index 000000000..842dfcd77 --- /dev/null +++ b/libre/linux-libre/0004-fix-mvsdio-eMMC-timing.patch @@ -0,0 +1,38 @@ +From c6275cb1cf73c56e9c2e74ae7c41abf3b70cb5ae Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich <kevin@archlinuxarm.org> +Date: Fri, 5 Sep 2014 15:43:56 -0600 +Subject: [PATCH 04/14] fix mvsdio eMMC timing + +These changes from Globalscale change the MMC timing to allow the eMMC versions +of the Mirabox and SMILE Plug to work. + +Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org> +--- + drivers/mmc/host/mvsdio.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c +index 210247b3d11a..1a1802dc9ef4 100644 +--- a/drivers/mmc/host/mvsdio.c ++++ b/drivers/mmc/host/mvsdio.c +@@ -93,7 +93,7 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data) + tmout_index = fls(tmout - 1) - 12; + if (tmout_index < 0) + tmout_index = 0; +- if (tmout_index > MVSD_HOST_CTRL_TMOUT_MAX) ++// if (tmout_index > MVSD_HOST_CTRL_TMOUT_MAX) //by steven, try to setup the timeout to maximum value + tmout_index = MVSD_HOST_CTRL_TMOUT_MAX; + + dev_dbg(host->dev, "data %s at 0x%08x: blocks=%d blksz=%d tmout=%u (%d)\n", +@@ -614,6 +614,8 @@ static void mvsd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) + u32 m = DIV_ROUND_UP(host->base_clock, ios->clock) - 1; + if (m > MVSD_BASE_DIV_MAX) + m = MVSD_BASE_DIV_MAX; ++ if(ios->clock==50000000 ) //by steven ++ m=1; + mvsd_write(MVSD_CLK_DIV, m); + host->clock = ios->clock; + host->ns_per_clk = 1000000000 / (host->base_clock / (m+1)); +-- +2.16.1 + |