All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 2/3] mmc: dw_mmc: Support bypass mode with the get_mmc_clk() method
Date: Wed, 12 Aug 2015 10:55:03 +0200	[thread overview]
Message-ID: <201508121055.03285.marex@denx.de> (raw)
In-Reply-To: <55405834-164D-4F12-AE0F-836974B7DBF1@antoniou-consulting.com>

On Wednesday, August 12, 2015 at 09:39:03 AM, Pantelis Antoniou wrote:
> Hi Simon,

Hi,

> > On Aug 7, 2015, at 05:16 , Simon Glass <sjg@chromium.org> wrote:
> > 
> > Some SoCs want to adjust the input clock to the DWMMC block as a way of
> > controlling the MMC bus clock. Update the get_mmc_clk() method to support
> > this.
> > 
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > ---
> > 
> > Changes in v4:
> > - Update commit message to indicate this patch is for the dw_mmc driver
> > 
> > drivers/mmc/dw_mmc.c        |  2 +-
> > drivers/mmc/exynos_dw_mmc.c |  2 +-
> > include/dwmmc.h             | 16 +++++++++++++++-
> > 3 files changed, 17 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
> > index 8f28d7e..a034c3f 100644
> > --- a/drivers/mmc/dw_mmc.c
> > +++ b/drivers/mmc/dw_mmc.c
> > @@ -248,7 +248,7 @@ static int dwmci_setup_bus(struct dwmci_host *host,
> > u32 freq)
> > 
> > 	 * host->bus_hz should be set by user.
> > 	 */
> > 	
> > 	if (host->get_mmc_clk)
> > 
> > -		sclk = host->get_mmc_clk(host);
> > +		sclk = host->get_mmc_clk(host, freq);
> > 
> > 	else if (host->bus_hz)
> > 	
> > 		sclk = host->bus_hz;
> > 	
> > 	else {
> > 
> > diff --git a/drivers/mmc/exynos_dw_mmc.c b/drivers/mmc/exynos_dw_mmc.c
> > index e083745..3f702ba 100644
> > --- a/drivers/mmc/exynos_dw_mmc.c
> > +++ b/drivers/mmc/exynos_dw_mmc.c
> > @@ -39,7 +39,7 @@ static void exynos_dwmci_clksel(struct dwmci_host
> > *host)
> > 
> > 	dwmci_writel(host, DWMCI_CLKSEL, priv->sdr_timing);
> > 
> > }
> > 
> > -unsigned int exynos_dwmci_get_clk(struct dwmci_host *host)
> > +unsigned int exynos_dwmci_get_clk(struct dwmci_host *host, uint freq)
> > {
> > 
> > 	unsigned long sclk;
> > 	int8_t clk_div;
> > 
> > diff --git a/include/dwmmc.h b/include/dwmmc.h
> > index 7a7555a..25cf42c 100644
> > --- a/include/dwmmc.h
> > +++ b/include/dwmmc.h
> > @@ -163,7 +163,21 @@ struct dwmci_host {
> > 
> > 	void (*clksel)(struct dwmci_host *host);
> > 	void (*board_init)(struct dwmci_host *host);
> > 
> > -	unsigned int (*get_mmc_clk)(struct dwmci_host *host);
> > +
> > +	/**
> > +	 * Get / set a particular MMC clock frequency
> > +	 *
> > +	 * This is used to request the current clock frequency of the clock
> > +	 * that drives the DWMMC peripheral. The caller will then use this
> > +	 * information to work out the divider it needs to achieve the
> > +	 * required MMC bus clock frequency. If you want to handle the
> > +	 * clock external to DWMMC, use @freq to select the frequency and
> > +	 * return that value too. Then DWMMC will put itself in bypass mode.
> > +	 *
> > +	 * @host:	DWMMC host
> > +	 * @freq:	Frequency the host is trying to achieve
> > +	 */
> > +	unsigned int (*get_mmc_clk)(struct dwmci_host *host, uint freq);
> > 
> > 	struct mmc_config cfg;
> > 
> > };
> 
> I?m applying this now. It makes sense. No, we don?t have a clock framework
> for now so this will do.

Please don't apply patches which still have open questions, besides I still
disagree with the patch.

  reply	other threads:[~2015-08-12  8:55 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-07  2:16 [U-Boot] [PATCH v4 1/3] mmc: dw_mmc: Avoid using printf() for errors Simon Glass
2015-08-07  2:16 ` [U-Boot] [PATCH v4 2/3] mmc: dw_mmc: Support bypass mode with the get_mmc_clk() method Simon Glass
2015-08-07  2:51   ` Marek Vasut
2015-08-07  2:54     ` Simon Glass
2015-08-07  2:58       ` Marek Vasut
2015-08-07  3:00         ` Simon Glass
2015-08-07  3:07           ` Marek Vasut
2015-08-07  5:51             ` Jaehoon Chung
2015-08-12 13:04             ` Simon Glass
2015-08-12 13:48               ` Marek Vasut
2015-08-12 13:51                 ` Simon Glass
2015-08-12 13:53                   ` Marek Vasut
2015-08-12 13:55                     ` Simon Glass
2015-08-12 14:40                       ` Marek Vasut
2015-08-12 21:09                         ` Simon Glass
2015-08-12 22:11                           ` Marek Vasut
2015-08-12  7:39   ` Pantelis Antoniou
2015-08-12  8:55     ` Marek Vasut [this message]
2015-08-07  2:16 ` [U-Boot] [PATCH v4 3/3] mmc: Calculate dwmmc FIFO threshold size if not provided Simon Glass
2015-08-07  4:26   ` Jaehoon Chung
2015-08-12  7:40   ` Pantelis Antoniou
2015-08-07  4:22 ` [U-Boot] [PATCH v4 1/3] mmc: dw_mmc: Avoid using printf() for errors Jaehoon Chung
2015-08-12  7:37 ` Pantelis Antoniou

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=201508121055.03285.marex@denx.de \
    --to=marex@denx.de \
    --cc=u-boot@lists.denx.de \
    /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.