From: Thierry Reding <thierry.reding@gmail.com>
To: "Heiko Stübner" <heiko@sntech.de>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org,
Russell King - ARM Linux <linux@arm.linux.org.uk>,
Pawel Moll <pawel.moll@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
dri-devel@lists.freedesktop.org,
linux-rockchip@lists.infradead.org,
Rob Herring <robh+dt@kernel.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 2/3] drm/rockchip: implement dw_hdmi supplies for the Rockchip implementation
Date: Mon, 8 Jun 2015 16:49:09 +0200 [thread overview]
Message-ID: <20150608144858.GF10354@ulmo.nvidia.com> (raw)
In-Reply-To: <17068264.uLYIadrGJJ@diego>
[-- Attachment #1.1: Type: text/plain, Size: 3424 bytes --]
On Fri, Jun 05, 2015 at 07:06:38PM +0200, Heiko Stübner wrote:
> The Rockchip implementation of the IP exposes the supplies outside and
> expects them to be supplied by a pmic. So implement regulator handling
> for them.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
> ---
> changes since v3:
> - split generic dt-bindings and rockchip implementation
> - add Ack from Philipp Zabel
> changes since v2:
> - rename supplies to the names found in the hdmi IP databook
> changes since v1:
> - follow suggestion from Russell King to keep regulator handling local
> to the rockchip implementation for the time being and only generalize
> when a real second implementation needs regulator handling
>
> drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 32 ++++++++++++++++++++++++++++-
> 1 file changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
> index 80d6fc8..9c003fa 100644
> --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
> +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
> @@ -11,6 +11,7 @@
> #include <linux/platform_device.h>
> #include <linux/mfd/syscon.h>
> #include <linux/regmap.h>
> +#include <linux/regulator/consumer.h>
> #include <drm/drm_of.h>
> #include <drm/drmP.h>
> #include <drm/drm_crtc_helper.h>
> @@ -28,6 +29,9 @@ struct rockchip_hdmi {
> struct device *dev;
> struct regmap *regmap;
> struct drm_encoder encoder;
> + struct regulator_bulk_data supplies[2];
> + int nsupplies;
unsigned int, please. Also I personally prefer the num_ prefix and it's
slightly more common in DRM code (even in the Rockchip driver).
> + bool supplies_enabled;
> };
>
> #define to_rockchip_hdmi(x) container_of(x, struct rockchip_hdmi, x)
> @@ -179,6 +183,12 @@ static struct drm_encoder_funcs dw_hdmi_rockchip_encoder_funcs = {
>
> static void dw_hdmi_rockchip_encoder_disable(struct drm_encoder *encoder)
> {
> + struct rockchip_hdmi *hdmi = to_rockchip_hdmi(encoder);
> +
> + if (hdmi->nsupplies > 0 && hdmi->supplies_enabled) {
> + regulator_bulk_disable(hdmi->nsupplies, hdmi->supplies);
> + hdmi->supplies_enabled = false;
> + }
> }
>
> static bool
> @@ -199,7 +209,16 @@ static void dw_hdmi_rockchip_encoder_commit(struct drm_encoder *encoder)
> {
> struct rockchip_hdmi *hdmi = to_rockchip_hdmi(encoder);
> u32 val;
> - int mux;
> + int mux, ret;
> +
> + if (hdmi->nsupplies > 0 && !hdmi->supplies_enabled) {
> + ret = regulator_bulk_enable(hdmi->nsupplies, hdmi->supplies);
> + if (ret) {
> + dev_err(hdmi->dev, "could not enable hdmi analog supplies\n");
"HDMI" please. And perhaps you want to add the error code to the message
as well?
> + return;
> + }
> + hdmi->supplies_enabled = true;
> + }
>
> mux = rockchip_drm_encoder_get_mux_id(hdmi->dev->of_node, encoder);
> if (mux)
> @@ -275,6 +294,17 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
> if (!iores)
> return -ENXIO;
>
> + hdmi->supplies[0].supply = "vp";
> + hdmi->supplies[1].supply = "vph";
> + hdmi->nsupplies = 2;
> +
> + ret = devm_regulator_bulk_get(hdmi->dev,
> + hdmi->nsupplies, hdmi->supplies);
I think it'd be slightly more idiomatic to put hdmi->nsupplies on the
first line.
Thierry
[-- Attachment #1.2: Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 2/3] drm/rockchip: implement dw_hdmi supplies for the Rockchip implementation
Date: Mon, 8 Jun 2015 16:49:09 +0200 [thread overview]
Message-ID: <20150608144858.GF10354@ulmo.nvidia.com> (raw)
In-Reply-To: <17068264.uLYIadrGJJ@diego>
On Fri, Jun 05, 2015 at 07:06:38PM +0200, Heiko St?bner wrote:
> The Rockchip implementation of the IP exposes the supplies outside and
> expects them to be supplied by a pmic. So implement regulator handling
> for them.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
> ---
> changes since v3:
> - split generic dt-bindings and rockchip implementation
> - add Ack from Philipp Zabel
> changes since v2:
> - rename supplies to the names found in the hdmi IP databook
> changes since v1:
> - follow suggestion from Russell King to keep regulator handling local
> to the rockchip implementation for the time being and only generalize
> when a real second implementation needs regulator handling
>
> drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 32 ++++++++++++++++++++++++++++-
> 1 file changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
> index 80d6fc8..9c003fa 100644
> --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
> +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
> @@ -11,6 +11,7 @@
> #include <linux/platform_device.h>
> #include <linux/mfd/syscon.h>
> #include <linux/regmap.h>
> +#include <linux/regulator/consumer.h>
> #include <drm/drm_of.h>
> #include <drm/drmP.h>
> #include <drm/drm_crtc_helper.h>
> @@ -28,6 +29,9 @@ struct rockchip_hdmi {
> struct device *dev;
> struct regmap *regmap;
> struct drm_encoder encoder;
> + struct regulator_bulk_data supplies[2];
> + int nsupplies;
unsigned int, please. Also I personally prefer the num_ prefix and it's
slightly more common in DRM code (even in the Rockchip driver).
> + bool supplies_enabled;
> };
>
> #define to_rockchip_hdmi(x) container_of(x, struct rockchip_hdmi, x)
> @@ -179,6 +183,12 @@ static struct drm_encoder_funcs dw_hdmi_rockchip_encoder_funcs = {
>
> static void dw_hdmi_rockchip_encoder_disable(struct drm_encoder *encoder)
> {
> + struct rockchip_hdmi *hdmi = to_rockchip_hdmi(encoder);
> +
> + if (hdmi->nsupplies > 0 && hdmi->supplies_enabled) {
> + regulator_bulk_disable(hdmi->nsupplies, hdmi->supplies);
> + hdmi->supplies_enabled = false;
> + }
> }
>
> static bool
> @@ -199,7 +209,16 @@ static void dw_hdmi_rockchip_encoder_commit(struct drm_encoder *encoder)
> {
> struct rockchip_hdmi *hdmi = to_rockchip_hdmi(encoder);
> u32 val;
> - int mux;
> + int mux, ret;
> +
> + if (hdmi->nsupplies > 0 && !hdmi->supplies_enabled) {
> + ret = regulator_bulk_enable(hdmi->nsupplies, hdmi->supplies);
> + if (ret) {
> + dev_err(hdmi->dev, "could not enable hdmi analog supplies\n");
"HDMI" please. And perhaps you want to add the error code to the message
as well?
> + return;
> + }
> + hdmi->supplies_enabled = true;
> + }
>
> mux = rockchip_drm_encoder_get_mux_id(hdmi->dev->of_node, encoder);
> if (mux)
> @@ -275,6 +294,17 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
> if (!iores)
> return -ENXIO;
>
> + hdmi->supplies[0].supply = "vp";
> + hdmi->supplies[1].supply = "vph";
> + hdmi->nsupplies = 2;
> +
> + ret = devm_regulator_bulk_get(hdmi->dev,
> + hdmi->nsupplies, hdmi->supplies);
I think it'd be slightly more idiomatic to put hdmi->nsupplies on the
first line.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150608/8280d80d/attachment.sig>
next prev parent reply other threads:[~2015-06-08 14:49 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-05 17:05 [PATCH v4 1/3] dt-bindings: describe dw_hdmi supplies Heiko Stübner
2015-06-05 17:05 ` Heiko Stübner
2015-06-05 17:06 ` [PATCH v4 2/3] drm/rockchip: implement dw_hdmi supplies for the Rockchip implementation Heiko Stübner
2015-06-05 17:06 ` Heiko Stübner
2015-06-08 14:49 ` Thierry Reding [this message]
2015-06-08 14:49 ` Thierry Reding
2015-06-05 17:07 ` [PATCH v4 3/3] ARM: dts: rockchip: add hdmi analog power supplies to rk3288 boards Heiko Stübner
2015-06-05 17:07 ` Heiko Stübner
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=20150608144858.GF10354@ulmo.nvidia.com \
--to=thierry.reding@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=heiko@sntech.de \
--cc=ijc+devicetree@hellion.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.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.