From a507b5a6c4f7b46189b04bf81bf1d66e2fd371f0 Mon Sep 17 00:00:00 2001 From: Asutosh Das Date: Thu, 10 Jan 2013 21:11:04 +0530 Subject: [PATCH] mmc: sdhci-msm: configure adma descriptors for large request size This patch adds a function to configure adma descriptors to support request size upto 512MB. Change-Id: Ie2ad32106422bb5bdbf72b08d1ecdd74d9a93c19 Signed-off-by: Asutosh Das --- drivers/mmc/host/sdhci-msm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index e0498847d08f..5b5cbdfa706b 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -76,6 +76,9 @@ #define CORE_CLK_PWRSAVE (1 << 1) #define CORE_IO_PAD_PWR_SWITCH (1 << 16) +/* 8KB descriptors */ +#define SDHCI_MSM_MAX_SEGMENTS (1 << 13) + static const u32 tuning_block_64[] = { 0x00FF0FFF, 0xCCC3CCFF, 0xFFCC3CC3, 0xEFFEFFFE, 0xDDFFDFFF, 0xFBFFFBFF, 0xFF7FFFBF, 0xEFBDF777, @@ -1498,10 +1501,16 @@ static void sdhci_msm_toggle_cdr(struct sdhci_host *host, bool enable) host->ioaddr + CORE_DLL_CONFIG); } +static unsigned int sdhci_msm_max_segs(void) +{ + return SDHCI_MSM_MAX_SEGMENTS; +} + static struct sdhci_ops sdhci_msm_ops = { .check_power_status = sdhci_msm_check_power_status, .platform_execute_tuning = sdhci_msm_execute_tuning, .toggle_cdr = sdhci_msm_toggle_cdr, + .get_max_segments = sdhci_msm_max_segs, }; static int sdhci_msm_probe(struct platform_device *pdev)