On 08/24/2012 01:03 PM, Seungwon Jeon wrote: > On Thursday, August 23, 2012, Jaehoon Chung <jh80.chung@xxxxxxxxxxx> wrote: >> Hi Will, >> >> On 08/23/2012 09:10 PM, Will Newton wrote: >>> On Thu, Aug 23, 2012 at 12:31 PM, Jaehoon Chung <jh80.chung@xxxxxxxxxxx> wrote: >>> >>> Hi Jaehoon, >>> >>>> Some SoC need to set the clock-phase shift. >>>> So Add the callback function into platdata for using phase-shift >>>> >>>> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> >>>> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> >>>> --- >>>> drivers/mmc/host/dw_mmc.c | 3 +++ >>>> include/linux/mmc/dw_mmc.h | 8 ++++++++ >>>> 2 files changed, 11 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c >>>> index 8bef3c2..feafa2d 100644 >>>> --- a/drivers/mmc/host/dw_mmc.c >>>> +++ b/drivers/mmc/host/dw_mmc.c >>>> @@ -824,6 +824,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) >>>> >>>> mci_writel(slot->host, UHS_REG, regs); >>>> >>>> + if (slot->host->pdata->set_clk_drv_sample) >>>> + slot->host->pdata->set_clk_drv_sample(slot->host, ios); >>>> + >>>> if (ios->clock) { >>>> /* >>>> * Use mirror of ios->clock to prevent race with mmc >>>> diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h >>>> index 7a7ebd3..f20979c 100644 >>>> --- a/include/linux/mmc/dw_mmc.h >>>> +++ b/include/linux/mmc/dw_mmc.h >>>> @@ -229,6 +229,9 @@ struct dw_mci_board { >>>> */ >>>> unsigned int fifo_depth; >>>> >>>> + u32 ddr_timing; /* DDR clock phase timing value */ >>>> + u32 sdr_timing; /* SDR clock phase timing value */ >>>> + >>> >>> These members... >>> >>>> /* delay in mS before detecting cards after interrupt */ >>>> u32 detect_delay_ms; >>>> >>>> @@ -249,6 +252,11 @@ struct dw_mci_board { >>>> struct dw_mci_dma_ops *dma_ops; >>>> struct dma_pdata *data; >>>> struct block_settings *blk_settings; >>>> + >>>> + int (*get_clk_drv)(struct dw_mci *); >>>> + int (*get_clk_sample)(struct dw_mci *); >>> >>> ...and these members do not seem to be used in the rest of this patch. >>> Should they be included? >> These member should be used at exynos-soc. >> I will also send the patch related with them. > These are needed. > Actually, we have applied it for Exynos internally. > But I can't make sure that other host can apply it with the same way. > It is a good chance that we can find out implementation of other host based on Synopsys. As i mentioned, these are used at Exynos. But i think that we need to add the code like this for supporting Exynos. Thank you for comment. Best regards, Jaehoon Chung > >> >> Thanks for comments. >> >> Best Regards, >> Jaehoon Chung >>> >>>> + void (*set_clk_drv_sample)(struct dw_mci *host, struct mmc_ios *ios); >>>> + >>>> }; >>>> >>>> #endif /* LINUX_MMC_DW_MMC_H */ >>>> -- >>>> 1.7.4.1 >>>> -- >>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in >>>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html