On Friday, August 07, 2015 at 05:00:24 AM, Simon Glass wrote: > Hi Marek,
Hi Simon, > On 6 August 2015 at 20:58, Marek Vasut <ma...@denx.de> wrote: > > On Friday, August 07, 2015 at 04:54:42 AM, Simon Glass wrote: > >> Hi Marek, > > > > Hi Simon, > > > >> On 6 August 2015 at 20:51, Marek Vasut <ma...@denx.de> wrote: > >> > On Friday, August 07, 2015 at 04:16:28 AM, Simon Glass 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 <s...@chromium.org> > >> > > >> > Hi Simon, > >> > > >> >> --- > >> >> > >> >> 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); > >> > > >> > Why are you passing the @freq into get_mmc_clk() ? Shouldn't you call > >> > some clock framework function to determine the input frequency of the > >> > DWMMC block from within the get_mmc_clk() implementation instead ? > >> > What do you think please ? > >> > >> Well, yes. If such a clock frame work existed I would call it :-) We > >> do have a uclass now so we are getting there. > > > > Excellent, so do you really need this kind of patch ? :) Why don't you > > make just some kind of function -- get_dwmmc_clock() -- and call it > > instead ? > > This is sort-of what is happening. It is calling a function in the > host controller - i.e. the SoC's MMC controller. It is one step closer > to knowing the input clock to the dwmmc input clock. Note that it is > not the clock of the MMC bus itself, but the input clock to the dwmmc > logic block. I don't think I quite understand what you mean here. We're talking about obtaining the frequency of the clock which go into the DWMMC IP block, right ? So, if you implement a function, say -- dwmmc_get_upstream_clock() -- and call it from within the implementation of the .get_mmc_clk(), which is specific for that particular chip of yours*, you don't need this patch. Or am I really missing something fundamental ? *the .get_mmc_clk() is specific to a chip, see for example exynos_dw_mmc.c Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot