From: Gregory CLEMENT <gregory.clement@free-electrons.com> To: Ulf Hansson <ulf.hansson@linaro.org>, Adrian Hunter <adrian.hunter@intel.com>, linux-mmc@vger.kernel.org Cc: Rob Herring <robh+dt@kernel.org>, devicetree@vger.kernel.org, Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>, Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory CLEMENT <gregory.clement@free-electrons.com>, Thomas Petazzoni <thomas.petazzoni@free-electrons.com>, linux-arm-kernel@lists.infradead.org, Nadav Haklai <nadavh@marvell.com>, Victor Gu <xigu@marvell.com>, Romain Perier <romain.perier@free-electrons.com>, Omri Itach <omrii@marvell.com>, Marcin Wojtas <mw@semihalf.com>, Wilson Ding <dingwei@marvell.com>, Shadi Ammouri <shadi@marvell.com> Subject: [PATCH 06/12] mmc: sdhci: add delay adjust feature including phy reset Date: Thu, 9 Jun 2016 09:10:12 +0200 [thread overview] Message-ID: <1465456218-28354-7-git-send-email-gregory.clement@free-electrons.com> (raw) In-Reply-To: <1465456218-28354-1-git-send-email-gregory.clement@free-electrons.com> From: Victor Gu <xigu@marvell.com> Tuning is only available in HS200 mode. However, some host controllers, such as the Xenon one, need to adjust delay for other modes and even adjust the delay before tuning. This commit adds a callback routine "delay_adj" in the struct sdhci_ops. [gregory.clement@free-electrons.com: split the initial commit and reformulate the log] Signed-off-by: Victor Gu <xigu@marvell.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> --- drivers/mmc/host/sdhci.c | 3 +++ drivers/mmc/host/sdhci.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index cad03ffa9d9b..2acae2b3b2d3 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1606,6 +1606,9 @@ static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) mmiowb(); spin_unlock_irqrestore(&host->lock, flags); + + if (host->ops->delay_adj) + host->ops->delay_adj(host, ios); } static int sdhci_get_cd(struct mmc_host *mmc) diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index 6bec1b0368d2..f88f72782a8d 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -551,6 +551,7 @@ struct sdhci_ops { int card_drv, int *drv_type); void (*init_card)(struct sdhci_host *host, struct mmc_card *card); void (*voltage_switch_pre)(struct sdhci_host *host); + int (*delay_adj)(struct sdhci_host *host, struct mmc_ios *ios); }; #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS -- 2.5.0
WARNING: multiple messages have this Message-ID (diff)
From: gregory.clement@free-electrons.com (Gregory CLEMENT) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 06/12] mmc: sdhci: add delay adjust feature including phy reset Date: Thu, 9 Jun 2016 09:10:12 +0200 [thread overview] Message-ID: <1465456218-28354-7-git-send-email-gregory.clement@free-electrons.com> (raw) In-Reply-To: <1465456218-28354-1-git-send-email-gregory.clement@free-electrons.com> From: Victor Gu <xigu@marvell.com> Tuning is only available in HS200 mode. However, some host controllers, such as the Xenon one, need to adjust delay for other modes and even adjust the delay before tuning. This commit adds a callback routine "delay_adj" in the struct sdhci_ops. [gregory.clement at free-electrons.com: split the initial commit and reformulate the log] Signed-off-by: Victor Gu <xigu@marvell.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> --- drivers/mmc/host/sdhci.c | 3 +++ drivers/mmc/host/sdhci.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index cad03ffa9d9b..2acae2b3b2d3 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1606,6 +1606,9 @@ static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) mmiowb(); spin_unlock_irqrestore(&host->lock, flags); + + if (host->ops->delay_adj) + host->ops->delay_adj(host, ios); } static int sdhci_get_cd(struct mmc_host *mmc) diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index 6bec1b0368d2..f88f72782a8d 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -551,6 +551,7 @@ struct sdhci_ops { int card_drv, int *drv_type); void (*init_card)(struct sdhci_host *host, struct mmc_card *card); void (*voltage_switch_pre)(struct sdhci_host *host); + int (*delay_adj)(struct sdhci_host *host, struct mmc_ios *ios); }; #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS -- 2.5.0
next prev parent reply other threads:[~2016-06-09 7:10 UTC|newest] Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-06-09 7:10 [PATCH 00/12] Add SDHCI Xenon driver Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT [not found] ` <1465456218-28354-1-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> 2016-06-09 7:10 ` [PATCH 01/12] mmc: sdhci: add init_card callback to sdhci Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT 2016-06-13 8:32 ` Adrian Hunter 2016-06-13 8:32 ` Adrian Hunter 2016-06-14 7:58 ` Gregory CLEMENT 2016-06-14 7:58 ` Gregory CLEMENT 2016-06-09 7:10 ` [PATCH 10/12] arm64: dts: marvell: add eMMC support for Armada 37xx Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT 2016-06-09 7:10 ` [PATCH 02/12] mmc: sdhci_f_sdh30: restrict voltage_switch() callback to the 1.8V case Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT 2016-06-09 7:10 ` [PATCH 03/12] mmc: tegra: restrict the " Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT 2016-06-09 9:54 ` Lucas Stach 2016-06-09 9:54 ` Lucas Stach 2016-06-09 12:27 ` Gregory CLEMENT 2016-06-09 12:27 ` Gregory CLEMENT 2016-06-09 7:10 ` [PATCH 04/12] mmc: sdhci: call voltage_switch callback also for the 3.3V case Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT 2016-06-09 7:10 ` [PATCH 05/12] mmc: sdhci: add a pre voltage switch callback function Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT [not found] ` <1465456218-28354-6-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> 2016-06-13 8:46 ` Adrian Hunter 2016-06-13 8:46 ` Adrian Hunter [not found] ` <575E72DC.5090604-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> 2016-06-13 14:04 ` Ziji Hu 2016-06-13 14:04 ` Ziji Hu [not found] ` <D7CF8A19-9181-4A97-90AF-AC5A6517CE2B-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org> 2016-06-14 7:07 ` Adrian Hunter 2016-06-14 7:07 ` Adrian Hunter 2016-06-14 7:59 ` Gregory CLEMENT 2016-06-14 7:59 ` Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT [this message] 2016-06-09 7:10 ` [PATCH 06/12] mmc: sdhci: add delay adjust feature including phy reset Gregory CLEMENT 2016-06-09 7:10 ` [PATCH 07/12] mmc: core: export the alive operation Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT 2016-06-09 7:10 ` [PATCH 08/12] dt-bindings: mmc: Add Xenon description Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT 2016-06-10 14:16 ` Rob Herring 2016-06-10 14:16 ` Rob Herring 2016-06-14 8:02 ` Gregory CLEMENT 2016-06-14 8:02 ` Gregory CLEMENT 2016-06-09 7:10 ` [PATCH 09/12] mmc: sdhci-xenon: add initial Xenon eMMC driver Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT 2016-06-09 13:45 ` kbuild test robot 2016-06-09 13:45 ` kbuild test robot 2016-06-09 14:33 ` Gregory CLEMENT 2016-06-09 14:33 ` Gregory CLEMENT 2016-06-09 14:20 ` kbuild test robot 2016-06-09 14:20 ` kbuild test robot 2016-06-09 14:54 ` Gregory CLEMENT 2016-06-09 14:54 ` Gregory CLEMENT [not found] ` <87r3c6mmyp.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> 2016-06-09 21:49 ` Arnd Bergmann 2016-06-09 21:49 ` Arnd Bergmann 2016-06-14 6:52 ` Adrian Hunter 2016-06-14 6:52 ` Adrian Hunter 2016-06-14 8:19 ` Gregory CLEMENT 2016-06-14 8:19 ` Gregory CLEMENT [not found] ` <878ty8chdr.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> 2016-06-14 8:36 ` Adrian Hunter 2016-06-14 8:36 ` Adrian Hunter 2016-06-22 11:04 ` Ulf Hansson 2016-06-22 11:04 ` Ulf Hansson 2016-06-09 7:10 ` [PATCH 11/12] arm64: dts: marvell: add SDIO support for Armada 37xx Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT 2016-06-09 7:10 ` [PATCH 12/12] arm64: defconfig: Add Xenon sdhci Gregory CLEMENT 2016-06-09 7:10 ` Gregory CLEMENT
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1465456218-28354-7-git-send-email-gregory.clement@free-electrons.com \ --to=gregory.clement@free-electrons.com \ --cc=adrian.hunter@intel.com \ --cc=andrew@lunn.ch \ --cc=devicetree@vger.kernel.org \ --cc=dingwei@marvell.com \ --cc=jason@lakedaemon.net \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-mmc@vger.kernel.org \ --cc=mw@semihalf.com \ --cc=nadavh@marvell.com \ --cc=omrii@marvell.com \ --cc=robh+dt@kernel.org \ --cc=romain.perier@free-electrons.com \ --cc=sebastian.hesselbarth@gmail.com \ --cc=shadi@marvell.com \ --cc=thomas.petazzoni@free-electrons.com \ --cc=ulf.hansson@linaro.org \ --cc=xigu@marvell.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.