Loading drivers/mmc/mmci.c +6 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <linux/mmc/host.h> #include <linux/mmc/protocol.h> #include <asm/div64.h> #include <asm/io.h> #include <asm/irq.h> #include <asm/scatterlist.h> Loading Loading @@ -70,6 +71,7 @@ static void mmci_stop_data(struct mmci_host *host) static void mmci_start_data(struct mmci_host *host, struct mmc_data *data) { unsigned int datactrl, timeout, irqmask; unsigned long long clks; void __iomem *base; DBG(host, "blksz %04x blks %04x flags %08x\n", Loading @@ -81,9 +83,10 @@ static void mmci_start_data(struct mmci_host *host, struct mmc_data *data) mmci_init_sg(host, data); timeout = data->timeout_clks + ((unsigned long long)data->timeout_ns * host->cclk) / 1000000000ULL; clks = (unsigned long long)data->timeout_ns * host->cclk; do_div(clks, 1000000000UL); timeout = data->timeout_clks + (unsigned int)clks; base = host->base; writel(timeout, base + MMCIDATATIMER); Loading Loading
drivers/mmc/mmci.c +6 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <linux/mmc/host.h> #include <linux/mmc/protocol.h> #include <asm/div64.h> #include <asm/io.h> #include <asm/irq.h> #include <asm/scatterlist.h> Loading Loading @@ -70,6 +71,7 @@ static void mmci_stop_data(struct mmci_host *host) static void mmci_start_data(struct mmci_host *host, struct mmc_data *data) { unsigned int datactrl, timeout, irqmask; unsigned long long clks; void __iomem *base; DBG(host, "blksz %04x blks %04x flags %08x\n", Loading @@ -81,9 +83,10 @@ static void mmci_start_data(struct mmci_host *host, struct mmc_data *data) mmci_init_sg(host, data); timeout = data->timeout_clks + ((unsigned long long)data->timeout_ns * host->cclk) / 1000000000ULL; clks = (unsigned long long)data->timeout_ns * host->cclk; do_div(clks, 1000000000UL); timeout = data->timeout_clks + (unsigned int)clks; base = host->base; writel(timeout, base + MMCIDATATIMER); Loading