From: Adrian Hunter <adrian.hunter-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Gregory CLEMENT
<gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
Sebastian Hesselbarth
<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Thomas Petazzoni
<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Nadav Haklai <nadavh-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
Victor Gu <xigu-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
Romain Perier
<romain.perier-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Omri Itach <omrii-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
Marcin Wojtas <mw-nYOzD4b6Jr9Wk0Htik3J/w@public.gmane.org>,
Wilson Ding <dingwei-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
Shadi Ammouri <shadi-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
Subject: Re: [PATCH 05/12] mmc: sdhci: add a pre voltage switch callback function
Date: Mon, 13 Jun 2016 11:46:20 +0300 [thread overview]
Message-ID: <575E72DC.5090604@intel.com> (raw)
In-Reply-To: <1465456218-28354-6-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
On 09/06/16 10:10, Gregory CLEMENT wrote:
> From: Victor Gu <xigu-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
>
> Some host controller such as Xenon needs additional setting when
> switching signal voltage in eMMC mode. They also need to re-enable
> internal clock before a voltage switch.
>
> This commit adds a callback routine "voltage_switch_pre" in the struct
> sdhci_ops, which is used by some host controllers which need re-enable
> the internal clock before a voltage switch.
Don't want to add sdhci host ops for the "do something before a mmc host op"
case.
Instead, export sdhci_start_signal_voltage_switch() and hook
host->mmc_host_ops.start_signal_voltage_switch. Then in sdhci-xenon.c:
int xenon__start_signal_voltage_switch(struct mmc_host *mmc,
struct mmc_ios *ios)
{
blah blah
return sdhci_start_signal_voltage_switch(mmc, ios);
}
>
> [gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org: split the initial commit and
> reformulate the log]
>
> Signed-off-by: Victor Gu <xigu-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
> Signed-off-by: Marcin Wojtas <mw-nYOzD4b6Jr9Wk0Htik3J/w@public.gmane.org>
> Signed-off-by: Gregory CLEMENT <gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
> ---
> drivers/mmc/host/sdhci.c | 4 ++++
> drivers/mmc/host/sdhci.h | 1 +
> 2 files changed, 5 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index b07219426d39..cad03ffa9d9b 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -1729,6 +1729,10 @@ static int sdhci_start_signal_voltage_switch(struct mmc_host *mmc,
> if (host->version < SDHCI_SPEC_300)
> return 0;
>
> + /* Some controller need to do more before switching */
> + if (host->ops->voltage_switch_pre)
> + host->ops->voltage_switch_pre(host);
> +
> ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
>
> switch (ios->signal_voltage) {
> diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
> index 49c6c5b0e33b..6bec1b0368d2 100644
> --- a/drivers/mmc/host/sdhci.h
> +++ b/drivers/mmc/host/sdhci.h
> @@ -550,6 +550,7 @@ struct sdhci_ops {
> unsigned int max_dtr, int host_drv,
> 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);
> };
>
> #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: adrian.hunter@intel.com (Adrian Hunter)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 05/12] mmc: sdhci: add a pre voltage switch callback function
Date: Mon, 13 Jun 2016 11:46:20 +0300 [thread overview]
Message-ID: <575E72DC.5090604@intel.com> (raw)
In-Reply-To: <1465456218-28354-6-git-send-email-gregory.clement@free-electrons.com>
On 09/06/16 10:10, Gregory CLEMENT wrote:
> From: Victor Gu <xigu@marvell.com>
>
> Some host controller such as Xenon needs additional setting when
> switching signal voltage in eMMC mode. They also need to re-enable
> internal clock before a voltage switch.
>
> This commit adds a callback routine "voltage_switch_pre" in the struct
> sdhci_ops, which is used by some host controllers which need re-enable
> the internal clock before a voltage switch.
Don't want to add sdhci host ops for the "do something before a mmc host op"
case.
Instead, export sdhci_start_signal_voltage_switch() and hook
host->mmc_host_ops.start_signal_voltage_switch. Then in sdhci-xenon.c:
int xenon__start_signal_voltage_switch(struct mmc_host *mmc,
struct mmc_ios *ios)
{
blah blah
return sdhci_start_signal_voltage_switch(mmc, ios);
}
>
> [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: Marcin Wojtas <mw@semihalf.com>
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
> ---
> drivers/mmc/host/sdhci.c | 4 ++++
> drivers/mmc/host/sdhci.h | 1 +
> 2 files changed, 5 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index b07219426d39..cad03ffa9d9b 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -1729,6 +1729,10 @@ static int sdhci_start_signal_voltage_switch(struct mmc_host *mmc,
> if (host->version < SDHCI_SPEC_300)
> return 0;
>
> + /* Some controller need to do more before switching */
> + if (host->ops->voltage_switch_pre)
> + host->ops->voltage_switch_pre(host);
> +
> ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
>
> switch (ios->signal_voltage) {
> diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
> index 49c6c5b0e33b..6bec1b0368d2 100644
> --- a/drivers/mmc/host/sdhci.h
> +++ b/drivers/mmc/host/sdhci.h
> @@ -550,6 +550,7 @@ struct sdhci_ops {
> unsigned int max_dtr, int host_drv,
> 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);
> };
>
> #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
>
next prev parent reply other threads:[~2016-06-13 8:46 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
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 [this message]
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 ` [PATCH 06/12] mmc: sdhci: add delay adjust feature including phy reset Gregory CLEMENT
2016-06-09 7:10 ` 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
[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 11/12] arm64: dts: marvell: add SDIO " 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=575E72DC.5090604@intel.com \
--to=adrian.hunter-ral2jqcrhueavxtiumwx3w@public.gmane.org \
--cc=andrew-g2DYL2Zd6BY@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=dingwei-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
--cc=gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mw-nYOzD4b6Jr9Wk0Htik3J/w@public.gmane.org \
--cc=nadavh-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
--cc=omrii-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=romain.perier-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=shadi-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
--cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=xigu-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
/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: link
Be 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.