lkml.org 
[lkml]   [2018]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 06/40] soc/tegra: pmc: Factor out DPD register bit calculation
    Date
    Factor out the the code to calculate the correct DPD register and bit
    number for a given pad. This logic will be needed to query the status
    register.

    Signed-off-by: Aapo Vienamo <avienamo@nvidia.com>
    Acked-by: Jon Hunter <jonathanh@nvidia.com>
    ---
    drivers/soc/tegra/pmc.c | 20 +++++++++++++++++---
    1 file changed, 17 insertions(+), 3 deletions(-)

    diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
    index f926332..393ca72 100644
    --- a/drivers/soc/tegra/pmc.c
    +++ b/drivers/soc/tegra/pmc.c
    @@ -922,11 +922,12 @@ tegra_io_pad_find(struct tegra_pmc *pmc, enum tegra_io_pad id)
    return NULL;
    }

    -static int tegra_io_pad_prepare(enum tegra_io_pad id, unsigned long *request,
    - unsigned long *status, u32 *mask)
    +static int tegra_io_pad_get_dpd_register_bit(enum tegra_io_pad id,
    + unsigned long *request,
    + unsigned long *status,
    + u32 *mask)
    {
    const struct tegra_io_pad_soc *pad;
    - unsigned long rate, value;

    pad = tegra_io_pad_find(pmc, id);
    if (!pad) {
    @@ -947,6 +948,19 @@ static int tegra_io_pad_prepare(enum tegra_io_pad id, unsigned long *request,
    *request = pmc->soc->regs->dpd2_req;
    }

    + return 0;
    +}
    +
    +static int tegra_io_pad_prepare(enum tegra_io_pad id, unsigned long *request,
    + unsigned long *status, u32 *mask)
    +{
    + unsigned long rate, value;
    + int err;
    +
    + err = tegra_io_pad_get_dpd_register_bit(id, request, status, mask);
    + if (err)
    + return err;
    +
    if (pmc->clk) {
    rate = clk_get_rate(pmc->clk);
    if (!rate) {
    --
    2.7.4
    \
     
     \ /
      Last update: 2018-08-01 18:37    [W:3.601 / U:1.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site