From: Vivek Gautam <vivek.gautam@codeaurora.org>
To: joro@8bytes.org, robin.murphy@arm.com, robh+dt@kernel.org,
mark.rutland@arm.com, will.deacon@arm.com,
m.szyprowski@samsung.com, sboyd@codeaurora.org,
robdclark@gmail.com, iommu@lists.linux-foundation.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-clk@vger.kernel.org
Cc: linux-arm-msm@vger.kernel.org, sricharan@codeaurora.org,
stanimir.varbanov@linaro.org, architt@codeaurora.org,
vivek.gautam@codeaurora.org,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH V4 4/6] iommu/arm-smmu: Add the device_link between masters and smmu
Date: Thu, 6 Jul 2017 15:07:03 +0530 [thread overview]
Message-ID: <1499333825-7658-5-git-send-email-vivek.gautam@codeaurora.org> (raw)
In-Reply-To: <1499333825-7658-1-git-send-email-vivek.gautam@codeaurora.org>
From: Sricharan R <sricharan@codeaurora.org>
Finally add the device link between the master device and
smmu, so that the smmu gets runtime enabled/disabled only when the
master needs it. This is done from add_device callback which gets
called once when the master is added to the smmu.
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
---
drivers/iommu/arm-smmu.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index ddbfa8ab69e6..75567d9698ab 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -1348,6 +1348,7 @@ static int arm_smmu_add_device(struct device *dev)
struct arm_smmu_device *smmu;
struct arm_smmu_master_cfg *cfg;
struct iommu_fwspec *fwspec = dev->iommu_fwspec;
+ struct device_link *link = NULL;
int i, ret;
if (using_legacy_binding) {
@@ -1403,6 +1404,16 @@ static int arm_smmu_add_device(struct device *dev)
pm_runtime_put_sync(smmu->dev);
+ /*
+ * Establish the link between smmu and master, so that the
+ * smmu gets runtime enabled/disabled as per the master's
+ * needs.
+ */
+ link = device_link_add(dev, smmu->dev, DL_FLAG_PM_RUNTIME);
+ if (!link)
+ dev_warn(smmu->dev, "Unable to create device link between %s and %s\n",
+ dev_name(smmu->dev), dev_name(dev));
+
return 0;
out_cfg_free:
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2017-07-06 9:37 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-06 9:36 [PATCH V4 0/6] iommu/arm-smmu: Add runtime pm/sleep support Vivek Gautam
2017-07-06 9:37 ` [PATCH V4 1/6] iommu/arm-smmu: Fix the error path in arm_smmu_add_device Vivek Gautam
2017-07-06 9:37 ` [PATCH V4 2/6] iommu/arm-smmu: Add pm_runtime/sleep ops Vivek Gautam
[not found] ` <1499333825-7658-3-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-12 22:58 ` Stephen Boyd
[not found] ` <20170712225821.GB22780-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-12 23:01 ` Stephen Boyd
2017-07-13 3:57 ` Vivek Gautam
2017-07-06 9:37 ` [PATCH V4 3/6] iommu/arm-smmu: Invoke pm_runtime during probe, add/remove device Vivek Gautam
[not found] ` <1499333825-7658-4-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-12 22:54 ` Stephen Boyd
[not found] ` <20170712225459.GZ22780-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-13 5:13 ` Vivek Gautam
[not found] ` <5ee0bacd-e557-a6c4-a897-844fb12ea6ae-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-13 5:35 ` Sricharan R
[not found] ` <4dbc938c-ac88-9bd4-cf00-458008ae24c1-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-13 11:50 ` Rob Clark
[not found] ` <CAF6AEGsFOtsOjt1sLNPSFLEcu-7d1zxCOhTeC+P8e0TDbb1dSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-13 12:02 ` Marek Szyprowski
2017-07-13 12:10 ` Rob Clark
[not found] ` <CAF6AEGsfDewRUHLUbFKT1Q+8U2BkmFMHo4ZBSwSGspU3ktUY8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-13 12:23 ` Marek Szyprowski
2017-07-13 13:53 ` Sricharan R
[not found] ` <60a56ae6-ed9d-57cd-130f-5bd9d32d4d58-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-13 14:55 ` Rob Clark
2017-07-14 17:07 ` Will Deacon
2017-07-14 17:42 ` Rob Clark
2017-07-14 18:06 ` Will Deacon
2017-07-14 18:25 ` Rob Clark
2017-07-14 19:01 ` Will Deacon
[not found] ` <20170714190113.GE26488-5wv7dgnIgG8@public.gmane.org>
2017-07-14 19:34 ` Rob Clark
2017-07-14 19:36 ` Will Deacon
2017-07-14 19:39 ` Rob Clark
2017-07-17 11:46 ` Sricharan R
[not found] ` <6cd287bb-25c0-a7bd-8d3c-a63b9da0fd25-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-17 12:28 ` Sricharan R
2017-07-24 15:31 ` Vivek Gautam
2017-08-07 8:27 ` Vivek Gautam
2017-08-07 12:29 ` Rob Clark
[not found] ` <CAF6AEGsw2=nERuJ8UCBr_kTBS0TigaA9LL1Hxw3JmNiu4oycOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-14 18:30 ` Vivek Gautam
[not found] ` <CAFp+6iGyB-iVb+vyDr6Dzk1FG6baiNy_kZWjB3sm_GViDh6rnQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-27 22:22 ` Stephen Boyd
[not found] ` <20171127222238.GF18379-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-11-27 23:43 ` Rob Clark
2017-11-28 13:43 ` Vivek Gautam
[not found] ` <3a2f74e9-90cf-d843-d801-15eb614d7abe-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-11-28 20:05 ` Rob Clark
2017-07-13 13:57 ` Vivek Gautam
[not found] ` <CAFp+6iFdogDfKbwWta3AMGu2GuZ9NaR+Dv373N7LwwrF5cFYwQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-13 14:01 ` Vivek Gautam
2017-07-13 6:48 ` Stephen Boyd
2017-07-13 9:50 ` Robin Murphy
2017-07-13 11:53 ` Rob Clark
2017-07-06 9:37 ` Vivek Gautam [this message]
[not found] ` <1499333825-7658-5-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-12 22:55 ` [PATCH V4 4/6] iommu/arm-smmu: Add the device_link between masters and smmu Stephen Boyd
[not found] ` <20170712225547.GA22780-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-13 3:59 ` Vivek Gautam
2017-07-06 9:37 ` [PATCH V4 5/6] iommu/arm-smmu: Add support for MMU40x/500 clocks Vivek Gautam
[not found] ` <1499333825-7658-6-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-10 3:37 ` Rob Herring
2017-07-11 5:18 ` Vivek Gautam
[not found] ` <1499333825-7658-1-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-06 9:37 ` [PATCH V4 6/6] iommu/arm-smmu: Add support for qcom,msm8996-smmu-v2 clocks Vivek Gautam
[not found] ` <1499333825-7658-7-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-07-10 3:40 ` Rob Herring
2017-07-10 6:42 ` Vivek Gautam
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=1499333825-7658-5-git-send-email-vivek.gautam@codeaurora.org \
--to=vivek.gautam@codeaurora.org \
--cc=architt@codeaurora.org \
--cc=devicetree@vger.kernel.org \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=mark.rutland@arm.com \
--cc=robdclark@gmail.com \
--cc=robh+dt@kernel.org \
--cc=robin.murphy@arm.com \
--cc=sboyd@codeaurora.org \
--cc=sricharan@codeaurora.org \
--cc=stanimir.varbanov@linaro.org \
--cc=will.deacon@arm.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: 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).