Hi, On 08/07/2015 12:07 PM, Marek Vasut wrote: > 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 wha,t 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 ?
Hmm. I don't know what purpose @freq is...just bypass? @freq doesn't use wherever..I'm checking with u-boot-dm repository(mmc-working branch) I wonder i'm also missing something like Marek. Best Regards, Jaehoon Chung > > *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