From: Ritesh Harjani <riteshh@codeaurora.org>
To: shawn.lin@rock-chips.com, ulf.hansson@linaro.org,
linux-mmc@vger.kernel.org, adrian.hunter@intel.com
Cc: linux-arm-msm@vger.kernel.org, georgi.djakov@linaro.org,
alex.lemberg@sandisk.com, mateusz.nowak@intel.com,
Yuliy.Izrailov@sandisk.com, asutoshd@codeaurora.org,
kdorfman@codeaurora.org, david.griego@linaro.org,
stummala@codeaurora.org, venkatg@codeaurora.org,
Ritesh Harjani <riteshh@codeaurora.org>
Subject: [PATCH 06/10] mmc: sdhci: Add get_clk_div callback support
Date: Thu, 11 Aug 2016 19:22:53 +0530 [thread overview]
Message-ID: <1470923574-411-2-git-send-email-riteshh@codeaurora.org> (raw)
In-Reply-To: <1470923574-411-1-git-send-email-riteshh@codeaurora.org>
Few controllers (like MSM) may have to override div
in certain cases. Hence provide a callback to get the
div value for their driver.
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
---
drivers/mmc/host/sdhci.c | 8 ++++++++
drivers/mmc/host/sdhci.h | 1 +
2 files changed, 9 insertions(+)
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index cd65d47..cc3d6f2 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1318,6 +1318,14 @@ u16 sdhci_calc_clk(struct sdhci_host *host, unsigned int clock,
clock_set:
if (real_div)
*actual_clock = (host->max_clk * clk_mul) / real_div;
+ /*
+ * Few controllers may have to override div
+ * here. Hence provide a callback to get the
+ * div value for them.
+ */
+ if (host->ops->get_clk_div)
+ div = host->ops->get_clk_div(host, div);
+
clk |= (div & SDHCI_DIV_MASK) << SDHCI_DIVIDER_SHIFT;
clk |= ((div & SDHCI_DIV_HI_MASK) >> SDHCI_DIV_MASK_LEN)
<< SDHCI_DIVIDER_HI_SHIFT;
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
index 0411c9f..4701001 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -562,6 +562,7 @@ struct sdhci_ops {
struct mmc_card *card,
unsigned int max_dtr, int host_drv,
int card_drv, int *drv_type);
+ int (*get_clk_div)(struct sdhci_host *host, int div);
};
#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
--
1.8.2.1
next prev parent reply other threads:[~2016-08-11 13:53 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-10 15:01 [PATCH 00/10] Add clk-rates and DDR support to sdhci-msm Ritesh Harjani
2016-08-10 15:01 ` [PATCH 01/10] mmc: sdhci-msm: Update DLL reset sequence Ritesh Harjani
2016-08-10 15:01 ` [PATCH 02/10] mmc: sdhci-msm: add pltfm_data support to get clk-rates from DT Ritesh Harjani
2016-08-10 15:01 ` [PATCH 03/10] arm64: dts: qcom: msm8916: Add clk-rates to sdhc1 & sdhc2 Ritesh Harjani
2016-08-10 15:01 ` [PATCH 04/10] mmc: sdhci-msm: Add get_min_clock() and get_max_clock() callback Ritesh Harjani
2016-08-10 15:01 ` [PATCH 05/10] mmc: sdhci-msm: Enable SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN Ritesh Harjani
2016-08-10 15:01 ` [PATCH 06/10] mmc: sdhci: Add SDHCI_QUIRK2_ALWAYS_USE_BASE_CLOCK quirk2 support Ritesh Harjani
2016-08-11 2:07 ` Shawn Lin
2016-08-11 7:03 ` Ritesh Harjani
2016-08-11 13:52 ` Adding callback in sdhci_calc_clk for geting clk divider Ritesh Harjani
2016-08-11 13:52 ` Ritesh Harjani [this message]
2016-08-12 1:34 ` [PATCH 06/10] mmc: sdhci: Add get_clk_div callback support Jaehoon Chung
2016-08-12 2:19 ` Ritesh Harjani
2016-08-12 3:21 ` Shawn Lin
2016-08-12 3:46 ` Ritesh Harjani
2016-08-12 7:21 ` Shawn Lin
2016-08-11 13:52 ` [PATCH 08/10] mmc: sdhci-msm: Add get_clk_div callback definition Ritesh Harjani
2016-08-10 15:01 ` [PATCH 07/10] mmc: sdhci-msm: Implement set_clock callback for sdhci-msm Ritesh Harjani
2016-08-10 15:01 ` [PATCH 08/10] mmc: sdhci-msm: Enable SDHCI_QUIRK2_ALWAYS_USE_BASE_CLOCK to sdhci-msm Ritesh Harjani
2016-08-10 15:01 ` [PATCH 09/10] mmc: sdhci-msm: Add clock changes for DDR mode Ritesh Harjani
2016-08-10 15:01 ` [PATCH 10/10] arm64: dts: qcom: msm8916: Add ddr support to sdhc1 Ritesh Harjani
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=1470923574-411-2-git-send-email-riteshh@codeaurora.org \
--to=riteshh@codeaurora.org \
--cc=Yuliy.Izrailov@sandisk.com \
--cc=adrian.hunter@intel.com \
--cc=alex.lemberg@sandisk.com \
--cc=asutoshd@codeaurora.org \
--cc=david.griego@linaro.org \
--cc=georgi.djakov@linaro.org \
--cc=kdorfman@codeaurora.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=mateusz.nowak@intel.com \
--cc=shawn.lin@rock-chips.com \
--cc=stummala@codeaurora.org \
--cc=ulf.hansson@linaro.org \
--cc=venkatg@codeaurora.org \
/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.