* [PATCH 3/5] mmc: dw-mmc: add the platdata related with clock @ 2012-08-23 11:31 Jaehoon Chung 2012-08-23 12:10 ` Will Newton 0 siblings, 1 reply; 5+ messages in thread From: Jaehoon Chung @ 2012-08-23 11:31 UTC (permalink / raw) To: linux-mmc; +Cc: Chris Ball, Kyungmin Park, Will Newton, James Hogan 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@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> --- 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 */ + /* 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 *); + void (*set_clk_drv_sample)(struct dw_mci *host, struct mmc_ios *ios); + }; #endif /* LINUX_MMC_DW_MMC_H */ -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 3/5] mmc: dw-mmc: add the platdata related with clock 2012-08-23 11:31 [PATCH 3/5] mmc: dw-mmc: add the platdata related with clock Jaehoon Chung @ 2012-08-23 12:10 ` Will Newton 2012-08-23 12:18 ` Jaehoon Chung 0 siblings, 1 reply; 5+ messages in thread From: Will Newton @ 2012-08-23 12:10 UTC (permalink / raw) To: Jaehoon Chung Cc: linux-mmc, Chris Ball, Kyungmin Park, Will Newton, James Hogan On Thu, Aug 23, 2012 at 12:31 PM, Jaehoon Chung <jh80.chung@samsung.com> 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@samsung.com> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > --- > 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? > + 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 3/5] mmc: dw-mmc: add the platdata related with clock 2012-08-23 12:10 ` Will Newton @ 2012-08-23 12:18 ` Jaehoon Chung 2012-08-24 4:03 ` Seungwon Jeon 0 siblings, 1 reply; 5+ messages in thread From: Jaehoon Chung @ 2012-08-23 12:18 UTC (permalink / raw) To: Will Newton Cc: Jaehoon Chung, linux-mmc, Chris Ball, Kyungmin Park, Will Newton, James Hogan 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@samsung.com> 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@samsung.com> >> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >> --- >> 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. 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@vger.kernel.org >> 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH 3/5] mmc: dw-mmc: add the platdata related with clock 2012-08-23 12:18 ` Jaehoon Chung @ 2012-08-24 4:03 ` Seungwon Jeon 2012-08-24 5:03 ` Jaehoon Chung 0 siblings, 1 reply; 5+ messages in thread From: Seungwon Jeon @ 2012-08-24 4:03 UTC (permalink / raw) To: 'Jaehoon Chung', 'Will Newton' Cc: 'linux-mmc', 'Chris Ball', 'Kyungmin Park', 'Will Newton', 'James Hogan' On Thursday, August 23, 2012, Jaehoon Chung <jh80.chung@samsung.com> 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@samsung.com> 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@samsung.com> > >> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > >> --- > >> 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. > > 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@vger.kernel.org > >> 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@vger.kernel.org > > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 3/5] mmc: dw-mmc: add the platdata related with clock 2012-08-24 4:03 ` Seungwon Jeon @ 2012-08-24 5:03 ` Jaehoon Chung 0 siblings, 0 replies; 5+ messages in thread From: Jaehoon Chung @ 2012-08-24 5:03 UTC (permalink / raw) To: Seungwon Jeon Cc: 'Jaehoon Chung', 'Will Newton', 'linux-mmc', 'Chris Ball', 'Kyungmin Park', 'Will Newton', 'James Hogan' On 08/24/2012 01:03 PM, Seungwon Jeon wrote: > On Thursday, August 23, 2012, Jaehoon Chung <jh80.chung@samsung.com> 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@samsung.com> 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@samsung.com> >>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >>>> --- >>>> 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@vger.kernel.org >>>> 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@vger.kernel.org >>> 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@vger.kernel.org >> 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-08-24 5:03 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-08-23 11:31 [PATCH 3/5] mmc: dw-mmc: add the platdata related with clock Jaehoon Chung 2012-08-23 12:10 ` Will Newton 2012-08-23 12:18 ` Jaehoon Chung 2012-08-24 4:03 ` Seungwon Jeon 2012-08-24 5:03 ` Jaehoon Chung
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox