From: Thierry Reding <thierry.reding@gmail.com>
To: Jon Hunter <jonathanh@nvidia.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
Alexandre Courbot <gnurou@gmail.com>,
Wolfram Sang <wsa@the-dreams.de>,
Stephen Warren <swarren@wwwdotorg.org>,
dri-devel@lists.freedesktop.org, linux-gpio@vger.kernel.org,
devicetree@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
linux-i2c@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [RFC PATCH 04/13] drm/tegra: Add sor-safe clock for DPAUX on Tegra210
Date: Fri, 17 Jun 2016 18:18:19 +0200 [thread overview]
Message-ID: <20160617161819.GE27475@ulmo.ba.sec> (raw)
In-Reply-To: <1466165027-17917-5-git-send-email-jonathanh@nvidia.com>
[-- Attachment #1.1: Type: text/plain, Size: 2929 bytes --]
On Fri, Jun 17, 2016 at 01:03:38PM +0100, Jon Hunter wrote:
> For Tegra210 the 'sor-safe' clock needs to be enabled when using DPAUX.
> Add support to the DPAUX driver for enabling this clock on Tegra210.
>
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> ---
> drivers/gpu/drm/tegra/dpaux.c | 29 +++++++++++++++++++++++++++--
> 1 file changed, 27 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/tegra/dpaux.c b/drivers/gpu/drm/tegra/dpaux.c
> index aa3a037fcd3b..d696a7e45935 100644
> --- a/drivers/gpu/drm/tegra/dpaux.c
> +++ b/drivers/gpu/drm/tegra/dpaux.c
> @@ -37,6 +37,7 @@ struct tegra_dpaux {
>
> struct reset_control *rst;
> struct clk *clk_parent;
> + struct clk *clk_sor;
Can we call this "clk_safe", please? On one hand that mirrors the name
of the clock in the binding and on the other hand it avoids confusion
with the real SOR clock.
> struct clk *clk;
>
> struct regulator *vdd;
> @@ -340,18 +341,37 @@ static int tegra_dpaux_probe(struct platform_device *pdev)
> return PTR_ERR(dpaux->rst);
> }
>
> + if (of_device_is_compatible(pdev->dev.of_node,
> + "nvidia,tegra210-dpaux")) {
> + dpaux->clk_sor = devm_clk_get(&pdev->dev, "sor-safe");
> + if (IS_ERR(dpaux->clk_sor)) {
> + dev_err(&pdev->dev,
> + "failed to get sor-safe clock: %ld\n",
> + PTR_ERR(dpaux->clk_sor));
> + return PTR_ERR(dpaux->clk_sor);
> + }
> +
> + err = clk_prepare_enable(dpaux->clk_sor);
> + if (err < 0) {
> + dev_err(&pdev->dev,
> + "failed to enable sor-safe clock: %d\n", err);
> + return err;
> + }
> + }
Please make this part of a struct tegra_dpaux_soc, so that we don't have
to check the compatible string again here. This could look like:
struct tegra_dpaux_soc {
bool needs_safe_clock;
};
static const struct tegra_dpaux_soc tegra124_dpaux_soc = {
.needs_safe_clock = false,
};
static const struct tegra_dpaux_soc tegra210_dpaux_soc = {
.needs_safe_clock = true,
};
...
static const struct of_device_id tegra_dpaux_of_match[] = {
{ .compatible = "nvidia,tegra210-dpaux", .data = &tegra210_dpaux_soc },
{ .compatible = "nvidia,tegra124-dpaux", .data = &tegra124_dpaux_soc },
{ },
};
> @@ -434,6 +454,9 @@ disable_parent_clk:
> assert_reset:
> reset_control_assert(dpaux->rst);
> clk_disable_unprepare(dpaux->clk);
> +disable_sor_clk:
> + if (dpaux->clk_sor)
> + clk_disable_unprepare(dpaux->clk_sor);
You can drop the extra check here, since the common clock framework
ignores NULL or ERR_PTR() pointers.
>
> return err;
> }
> @@ -456,6 +479,8 @@ static int tegra_dpaux_remove(struct platform_device *pdev)
> clk_disable_unprepare(dpaux->clk_parent);
> reset_control_assert(dpaux->rst);
> clk_disable_unprepare(dpaux->clk);
> + if (dpaux->clk_sor)
> + clk_disable_unprepare(dpaux->clk_sor);
Same here.
Thierry
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-06-17 16:18 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-17 12:03 [RFC PATCH 00/13] Add support for Tegra DPAUX pinctrl Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 02/13] drm/tegra: Add helper functions for setting up DPAUX pads Jon Hunter
2016-06-17 16:11 ` Thierry Reding
2016-06-20 7:59 ` Jon Hunter
[not found] ` <1466165027-17917-1-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-06-17 12:03 ` [RFC PATCH 01/13] drm/tegra: Clean-up if probing DPAUX fails Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 03/13] dt-bindings: drm/tegra: Update DPAUX documentation Jon Hunter
2016-06-17 16:13 ` Thierry Reding
[not found] ` <20160617161306.GD27475-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
2016-06-20 8:02 ` Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 06/13] pinctrl: pinconf: Add generic helper function for freeing mappings Jon Hunter
[not found] ` <1466165027-17917-7-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-06-18 9:04 ` Linus Walleij
2016-06-20 9:26 ` Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 13/13] arm64: tegra: Add DPAUX pinctrl bindings Jon Hunter
2016-06-17 16:50 ` Thierry Reding
2016-06-23 7:46 ` Linus Walleij
2016-06-17 16:56 ` [RFC PATCH 00/13] Add support for Tegra DPAUX pinctrl Thierry Reding
[not found] ` <20160617165611.GO27475-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
2016-06-17 16:58 ` Thierry Reding
[not found] ` <20160617165842.GP27475-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
2016-06-23 7:49 ` Linus Walleij
2016-06-23 8:04 ` Thierry Reding
[not found] ` <20160623080400.GA8136-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
2016-06-23 9:21 ` Linus Walleij
2016-06-17 12:03 ` [RFC PATCH 04/13] drm/tegra: Add sor-safe clock for DPAUX on Tegra210 Jon Hunter
2016-06-17 16:18 ` Thierry Reding [this message]
2016-06-20 8:43 ` Jon Hunter
2016-06-20 16:33 ` Thierry Reding
2016-06-17 12:03 ` [RFC PATCH 05/13] drm/tegra: Prepare DPAUX for supporting generic PM domains Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 07/13] dt-bindings: i2c: Add support for 'i2c-bus' subnode Jon Hunter
2016-06-17 16:23 ` Thierry Reding
[not found] ` <1466165027-17917-8-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-06-17 16:30 ` Mark Rutland
2016-06-17 16:45 ` Thierry Reding
[not found] ` <20160617164525.GL27475-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
2016-06-20 11:15 ` Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 08/13] i2c: core: " Jon Hunter
2016-06-17 16:24 ` Thierry Reding
2016-06-20 8:57 ` Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 09/13] dt-bindings: drm/tegra: Add DPAUX pinctrl documentation Jon Hunter
2016-06-17 16:31 ` Thierry Reding
2016-06-20 9:10 ` Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 10/13] drm/tegra: Add pinctrl support for DPAUX Jon Hunter
[not found] ` <1466165027-17917-11-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-06-17 12:42 ` Jon Hunter
2016-06-17 16:37 ` Thierry Reding
2016-06-20 10:45 ` Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 11/13] arm64: tegra: Add SOR power-domain node Jon Hunter
2016-06-17 16:42 ` Thierry Reding
2016-06-20 9:18 ` Jon Hunter
2016-06-20 16:37 ` Thierry Reding
2016-06-17 16:44 ` Thierry Reding
2016-06-20 9:20 ` Jon Hunter
2016-06-17 12:03 ` [RFC PATCH 12/13] arm64: tegra: Add sor-safe clock to DPAUX binding Jon Hunter
[not found] ` <1466165027-17917-13-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-06-17 16:47 ` Thierry Reding
2016-06-20 9:23 ` Jon Hunter
2016-06-20 16:38 ` Thierry Reding
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=20160617161819.GE27475@ulmo.ba.sec \
--to=thierry.reding@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=gnurou@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
--cc=swarren@wwwdotorg.org \
--cc=wsa@the-dreams.de \
/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.