From: Philipp Zabel <p.zabel@pengutronix.de> To: Peter Griffin <peter.griffin@linaro.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, airlied@linux.ie, daniel@ffwll.ch, robh+dt@kernel.org, mark.rutland@arm.com, xuwei5@hisilicon.com, mturquette@baylibre.com, sboyd@kernel.org Cc: john.stultz@linaro.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, yuq825@gmail.com Subject: Re: [PATCH v1 4/6] reset: hi6220: Add support for AO reset controller Date: Wed, 20 Mar 2019 11:46:20 +0100 [thread overview] Message-ID: <1553078780.7071.8.camel@pengutronix.de> (raw) In-Reply-To: <1552937931-23050-5-git-send-email-peter.griffin@linaro.org> Hi Peter, On Mon, 2019-03-18 at 19:38 +0000, Peter Griffin wrote: > This is required to bring Mali450 gpu out of reset. > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- > drivers/reset/hisilicon/hi6220_reset.c | 51 +++++++++++++++++++++++++++++++++- > 1 file changed, 50 insertions(+), 1 deletion(-) > > diff --git a/drivers/reset/hisilicon/hi6220_reset.c b/drivers/reset/hisilicon/hi6220_reset.c > index d5e5229..0cd5f92 100644 > --- a/drivers/reset/hisilicon/hi6220_reset.c > +++ b/drivers/reset/hisilicon/hi6220_reset.c > @@ -36,6 +36,7 @@ > enum hi6220_reset_ctrl_type { > PERIPHERAL, > MEDIA, > + AO, > }; > > struct hi6220_reset_data { > @@ -95,6 +96,47 @@ static const struct reset_control_ops hi6220_media_reset_ops = { > .deassert = hi6220_media_deassert, > }; > > +#define AO_SCTRL_SC_PW_CLKEN0 0x800 > +#define AO_SCTRL_SC_PW_CLKDIS0 0x804 > + > +#define AO_SCTRL_SC_PW_RSTEN0 0x810 > +#define AO_SCTRL_SC_PW_RSTDIS0 0x814 > + > +#define AO_SCTRL_SC_PW_ISOEN0 0x820 > +#define AO_SCTRL_SC_PW_ISODIS0 0x824 > +#define AO_MAX_INDEX 12 > + > +static int hi6220_ao_assert(struct reset_controller_dev *rc_dev, > + unsigned long idx) > +{ > + struct hi6220_reset_data *data = to_reset_data(rc_dev); > + struct regmap *regmap = data->regmap; > + int ret; > + > + ret = regmap_write(regmap, AO_SCTRL_SC_PW_RSTEN0, BIT(idx)); > + ret |= regmap_write(regmap, AO_SCTRL_SC_PW_ISOEN0, BIT(idx)); > + ret |= regmap_write(regmap, AO_SCTRL_SC_PW_CLKDIS0, BIT(idx)); What if two regmap_writes return a different error code? Better check for ret and return individually. Also, no need to issue two more writes if the first one failed. > + return ret; > +} > + > +static int hi6220_ao_deassert(struct reset_controller_dev *rc_dev, > + unsigned long idx) > +{ > + struct hi6220_reset_data *data = to_reset_data(rc_dev); > + struct regmap *regmap = data->regmap; > + int ret; > + > + ret = regmap_write(regmap, AO_SCTRL_SC_PW_RSTDIS0, BIT(idx)); > + ret |= regmap_write(regmap, AO_SCTRL_SC_PW_ISODIS0, BIT(idx)); > + ret |= regmap_write(regmap, AO_SCTRL_SC_PW_CLKEN0, BIT(idx)); Same as above. Otherwise this looks fine. With this fixed, I could pick up patches 2, 4, and 5. regards Philipp
WARNING: multiple messages have this Message-ID (diff)
From: Philipp Zabel <p.zabel@pengutronix.de> To: Peter Griffin <peter.griffin@linaro.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, airlied@linux.ie, daniel@ffwll.ch, robh+dt@kernel.org, mark.rutland@arm.com, xuwei5@hisilicon.com, mturquette@baylibre.com, sboyd@kernel.org Cc: devicetree@vger.kernel.org, john.stultz@linaro.org, linux-clk@vger.kernel.org, dri-devel@lists.freedesktop.org, yuq825@gmail.com Subject: Re: [PATCH v1 4/6] reset: hi6220: Add support for AO reset controller Date: Wed, 20 Mar 2019 11:46:20 +0100 [thread overview] Message-ID: <1553078780.7071.8.camel@pengutronix.de> (raw) In-Reply-To: <1552937931-23050-5-git-send-email-peter.griffin@linaro.org> Hi Peter, On Mon, 2019-03-18 at 19:38 +0000, Peter Griffin wrote: > This is required to bring Mali450 gpu out of reset. > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- > drivers/reset/hisilicon/hi6220_reset.c | 51 +++++++++++++++++++++++++++++++++- > 1 file changed, 50 insertions(+), 1 deletion(-) > > diff --git a/drivers/reset/hisilicon/hi6220_reset.c b/drivers/reset/hisilicon/hi6220_reset.c > index d5e5229..0cd5f92 100644 > --- a/drivers/reset/hisilicon/hi6220_reset.c > +++ b/drivers/reset/hisilicon/hi6220_reset.c > @@ -36,6 +36,7 @@ > enum hi6220_reset_ctrl_type { > PERIPHERAL, > MEDIA, > + AO, > }; > > struct hi6220_reset_data { > @@ -95,6 +96,47 @@ static const struct reset_control_ops hi6220_media_reset_ops = { > .deassert = hi6220_media_deassert, > }; > > +#define AO_SCTRL_SC_PW_CLKEN0 0x800 > +#define AO_SCTRL_SC_PW_CLKDIS0 0x804 > + > +#define AO_SCTRL_SC_PW_RSTEN0 0x810 > +#define AO_SCTRL_SC_PW_RSTDIS0 0x814 > + > +#define AO_SCTRL_SC_PW_ISOEN0 0x820 > +#define AO_SCTRL_SC_PW_ISODIS0 0x824 > +#define AO_MAX_INDEX 12 > + > +static int hi6220_ao_assert(struct reset_controller_dev *rc_dev, > + unsigned long idx) > +{ > + struct hi6220_reset_data *data = to_reset_data(rc_dev); > + struct regmap *regmap = data->regmap; > + int ret; > + > + ret = regmap_write(regmap, AO_SCTRL_SC_PW_RSTEN0, BIT(idx)); > + ret |= regmap_write(regmap, AO_SCTRL_SC_PW_ISOEN0, BIT(idx)); > + ret |= regmap_write(regmap, AO_SCTRL_SC_PW_CLKDIS0, BIT(idx)); What if two regmap_writes return a different error code? Better check for ret and return individually. Also, no need to issue two more writes if the first one failed. > + return ret; > +} > + > +static int hi6220_ao_deassert(struct reset_controller_dev *rc_dev, > + unsigned long idx) > +{ > + struct hi6220_reset_data *data = to_reset_data(rc_dev); > + struct regmap *regmap = data->regmap; > + int ret; > + > + ret = regmap_write(regmap, AO_SCTRL_SC_PW_RSTDIS0, BIT(idx)); > + ret |= regmap_write(regmap, AO_SCTRL_SC_PW_ISODIS0, BIT(idx)); > + ret |= regmap_write(regmap, AO_SCTRL_SC_PW_CLKEN0, BIT(idx)); Same as above. Otherwise this looks fine. With this fixed, I could pick up patches 2, 4, and 5. regards Philipp _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-03-20 10:46 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-18 19:38 `From c152138a8ec2bcd8faaac8db01dbb9be547fd021 Mon Sep 17 00:00:00 2001 Peter Griffin 2019-03-18 19:38 ` Peter Griffin 2019-03-18 19:38 ` [PATCH v1 1/6] dt-bindings: gpu: mali-utgard: add hisilicon,hi6220-mali compatible Peter Griffin 2019-03-18 19:38 ` [PATCH v1 1/6] dt-bindings: gpu: mali-utgard: add hisilicon, hi6220-mali compatible Peter Griffin 2019-03-31 6:40 ` [PATCH v1 1/6] dt-bindings: gpu: mali-utgard: add hisilicon,hi6220-mali compatible Rob Herring 2019-03-31 6:40 ` [PATCH v1 1/6] dt-bindings: gpu: mali-utgard: add hisilicon, hi6220-mali compatible Rob Herring 2019-03-31 6:40 ` [PATCH v1 1/6] dt-bindings: gpu: mali-utgard: add hisilicon,hi6220-mali compatible Rob Herring 2019-03-18 19:38 ` [PATCH v1 2/6] dt-bindings: reset: hisilicon: Update compatible documentation Peter Griffin 2019-03-18 19:38 ` Peter Griffin 2019-03-31 6:40 ` Rob Herring 2019-03-31 6:40 ` Rob Herring 2019-03-31 6:40 ` Rob Herring 2019-03-18 19:38 ` [PATCH v1 3/6] arm64: dts: hisilicon: Add Mali-450 MP4 GPU DT entry Peter Griffin 2019-03-18 19:38 ` Peter Griffin 2019-03-18 19:38 ` [PATCH v1 4/6] reset: hi6220: Add support for AO reset controller Peter Griffin 2019-03-18 19:38 ` Peter Griffin 2019-03-20 10:46 ` Philipp Zabel [this message] 2019-03-20 10:46 ` Philipp Zabel 2019-03-18 19:38 ` [PATCH v1 5/6] dt-bindings: reset: hisilicon: Add ao " Peter Griffin 2019-03-18 19:38 ` Peter Griffin 2019-03-31 6:40 ` Rob Herring 2019-03-31 6:40 ` Rob Herring 2019-03-31 6:40 ` Rob Herring 2019-03-18 19:38 ` [PATCH v1 6/6] clk: hi6220: use CLK_OF_DECLARE_DRIVER Peter Griffin 2019-03-18 19:38 ` Peter Griffin 2019-03-18 20:21 ` Stephen Boyd 2019-03-18 20:21 ` Stephen Boyd
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=1553078780.7071.8.camel@pengutronix.de \ --to=p.zabel@pengutronix.de \ --cc=airlied@linux.ie \ --cc=daniel@ffwll.ch \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=john.stultz@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-clk@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=mturquette@baylibre.com \ --cc=peter.griffin@linaro.org \ --cc=robh+dt@kernel.org \ --cc=sboyd@kernel.org \ --cc=xuwei5@hisilicon.com \ --cc=yuq825@gmail.com \ /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: linkBe 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.