From: Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
To: Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Shawn Guo <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Tomasz Figa <tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
Sascha Hauer <kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v7 2/5] ARM: imx6: gpc: Add PU power domain for GPU/VPU
Date: Mon, 08 Sep 2014 13:54:06 +0200 [thread overview]
Message-ID: <1410177246.3981.34.camel@paszta.hi.pengutronix.de> (raw)
In-Reply-To: <CAPDyKFovJOVyKRNSA+sEjd4mXA9QYYYDQEAvTzkptj8FDzgWTQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi Ulf,
thank you for the comments.
Am Dienstag, den 26.08.2014, 21:48 +0200 schrieb Ulf Hansson:
[...]
> > @@ -139,3 +161,184 @@ void __init imx_gpc_init(void)
> > gic_arch_extn.irq_unmask = imx_gpc_irq_unmask;
> > gic_arch_extn.irq_set_wake = imx_gpc_irq_set_wake;
> > }
> > +
> > +#ifdef CONFIG_PM
>
> Hi Philipp,
>
> Should this be CONFIG_PM_GENERIC_DOMAINS?
Yes, I'll change this.
[...]
> > +static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
> > +{
> > + struct clk *clk;
> > + bool is_off;
> > + int i;
> > +
> > + imx6q_pu_domain.base.of_node = dev->of_node;
> > + imx6q_pu_domain.reg = pu_reg;
> > +
> > + for (i = 0; ; i++) {
> > + clk = of_clk_get(dev->of_node, i);
> > + if (IS_ERR(clk))
> > + break;
> > + if (i >= GPC_CLK_MAX) {
> > + dev_err(dev, "more than %d clocks\n", GPC_CLK_MAX);
> > + goto clk_err;
> > + }
> > + imx6q_pu_domain.clk[i] = clk;
> > + }
> > + imx6q_pu_domain.num_clks = i;
> > +
> > + is_off = IS_ENABLED(CONFIG_PM_RUNTIME);
> > + if (is_off)
> > + imx6q_pm_pu_power_off(&imx6q_pu_domain.base);
>
> Could you elaborate why is_off depends on CONFIG_PM_RUNTIME? That
> seems strange to me. :-)
>
> Additionally, I think it would be better to leave the domain "on"
> state. Wouldn't that even be required for some drivers to be able to
> succeed probing of these devices?
The devices in the PU power domain are Vivante GPUs and the CODA Video
Processing Unit. These are platform devices that don't need to be active
to enumerate before being probed. The drivers support runtime PM, so if
CONFIG_PM_RUNTIME is enabled, it is safe to disable the PU power domain
on boot. The drivers will probe and request for the power domain to be
enabled via runtime PM before accessing the hardware.
If CONFIG_PM_RUNTIME is disabled, the power domain needs to stay enabled
at all times.
[...]
> > +static struct platform_driver imx_gpc_driver = {
> > + .driver = {
> > + .name = "imx-gpc",
> > + .owner = THIS_MODULE,
> > + .of_match_table = imx_gpc_dt_ids,
> > + },
> > + .probe = imx_gpc_probe,
> > +};
> > +
> > +static int __init imx_pgc_init(void)
> > +{
> > + return platform_driver_register(&imx_gpc_driver);
> > +}
> > +subsys_initcall(imx_pgc_init);
>
> Could initialization of the generic power domain at subsys_init level,
> mean that some other drivers may already be probed?
>
> Are you sure none of those drivers handles devices within your power
> domain, thus causing attachment of the power domain to fail?
The GPU and VPU drivers are standard module_platform_drivers, those will
be probed later at device_initcall times.
regards
Philipp
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-09-08 11:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-26 13:46 [PATCH v7 0/5] i.MX6 PU power domain support Philipp Zabel
[not found] ` <1409060791-23167-1-git-send-email-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-08-26 13:46 ` [PATCH v7 1/5] Documentation: Add device tree bindings for Freescale i.MX GPC Philipp Zabel
[not found] ` <1409060791-23167-2-git-send-email-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-09-05 11:47 ` Geert Uytterhoeven
[not found] ` <CAMuHMdUqbk+OZiBMUsebQ_==7jCan+dHsfJLhi+CPUE=xc6yRA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-08 11:54 ` Philipp Zabel
2014-08-26 13:46 ` [PATCH v7 2/5] ARM: imx6: gpc: Add PU power domain for GPU/VPU Philipp Zabel
[not found] ` <1409060791-23167-3-git-send-email-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-08-26 19:48 ` Ulf Hansson
[not found] ` <CAPDyKFovJOVyKRNSA+sEjd4mXA9QYYYDQEAvTzkptj8FDzgWTQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-08 11:54 ` Philipp Zabel [this message]
2014-09-09 19:01 ` Ulf Hansson
[not found] ` <CAPDyKFozmLLEwK297K0mtvf-m_fUC79ZstbF6V-TAnNTh41VZw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-09 20:49 ` Philipp Zabel
[not found] ` <20140909204938.GA26440-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-09-10 12:35 ` Ulf Hansson
2014-08-26 13:46 ` [PATCH v7 3/5] ARM: dts: imx6qdl: Add power-domain information to gpc node Philipp Zabel
2014-08-26 13:46 ` [PATCH v7 4/5] ARM: dts: imx6sl: " Philipp Zabel
2014-08-26 13:46 ` [PATCH v7 5/5] ARM: dts: imx6qdl: Allow disabling the PU regulator, add a enable ramp delay Philipp Zabel
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=1410177246.3981.34.camel@paszta.hi.pengutronix.de \
--to=p.zabel-bicnvbalz9megne8c9+irq@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).