Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 648f9d16 authored by Asutosh Das's avatar Asutosh Das Committed by xiaonian
Browse files

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: default avatarAsutosh Das <asutoshd@codeaurora.org>
[xiaonian@codeaurora.org: fix trivial merge conflict]
Signed-off-by: default avatarXiaonian Wang <xiaonian@codeaurora.org>
parent 7bd9906a
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -75,6 +75,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,
@@ -1222,10 +1225,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)
+1 −0
Original line number Diff line number Diff line
@@ -569,6 +569,7 @@ struct sdhci_ops {
	void	(*set_uhs_signaling)(struct sdhci_host *host, unsigned int uhs);
	void	(*hw_reset)(struct sdhci_host *host);
	void    (*adma_workaround)(struct sdhci_host *host, u32 intmask);
	unsigned int	(*get_max_segments)(void);
	void    (*card_event)(struct sdhci_host *host);
	void	(*toggle_cdr)(struct sdhci_host *host, bool enable);
	void	(*check_power_status)(struct sdhci_host *host);