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
WARNING: multiple messages have this Message-ID (diff)
From: vivek.gautam@codeaurora.org (Vivek Gautam) To: 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: 168+ 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:36 ` 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 ` Vivek Gautam 2017-07-06 9:37 ` [PATCH V4 2/6] iommu/arm-smmu: Add pm_runtime/sleep ops Vivek Gautam 2017-07-06 9:37 ` Vivek Gautam 2017-07-06 9:37 ` Vivek Gautam [not found] ` <1499333825-7658-3-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2017-07-12 22:58 ` Stephen Boyd 2017-07-12 22:58 ` Stephen Boyd 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-12 23:01 ` Stephen Boyd 2017-07-12 23:01 ` Stephen Boyd 2017-07-13 3:57 ` Vivek Gautam 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 2017-07-06 9:37 ` Vivek Gautam [not found] ` <1499333825-7658-4-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2017-07-12 22:54 ` Stephen Boyd 2017-07-12 22:54 ` Stephen Boyd 2017-07-12 22:54 ` Stephen Boyd [not found] ` <20170712225459.GZ22780-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2017-07-13 5:13 ` Vivek Gautam 2017-07-13 5:13 ` Vivek Gautam 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 2017-07-13 5:35 ` Sricharan R 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 2017-07-13 11:50 ` Rob Clark 2017-07-13 11:50 ` Rob Clark 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:02 ` Marek Szyprowski 2017-07-13 12:02 ` Marek Szyprowski 2017-07-13 12:02 ` Marek Szyprowski 2017-07-13 12:10 ` Rob Clark 2017-07-13 12:10 ` Rob Clark 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 12:23 ` Marek Szyprowski 2017-07-13 12:23 ` Marek Szyprowski 2017-07-13 12:23 ` Marek Szyprowski 2017-07-13 13:53 ` Sricharan R 2017-07-13 13:53 ` Sricharan R 2017-07-13 13:53 ` Sricharan R 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-13 14:55 ` Rob Clark 2017-07-13 14:55 ` Rob Clark 2017-07-13 14:55 ` Rob Clark 2017-07-14 17:07 ` Will Deacon 2017-07-14 17:07 ` Will Deacon 2017-07-14 17:07 ` Will Deacon 2017-07-14 17:42 ` Rob Clark 2017-07-14 17:42 ` Rob Clark 2017-07-14 17:42 ` Rob Clark 2017-07-14 18:06 ` Will Deacon 2017-07-14 18:06 ` Will Deacon 2017-07-14 18:06 ` Will Deacon 2017-07-14 18:25 ` Rob Clark 2017-07-14 18:25 ` Rob Clark 2017-07-14 18:25 ` Rob Clark 2017-07-14 19:01 ` Will Deacon 2017-07-14 19:01 ` Will Deacon 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:34 ` Rob Clark 2017-07-14 19:34 ` Rob Clark 2017-07-14 19:34 ` Rob Clark 2017-07-14 19:36 ` Will Deacon 2017-07-14 19:36 ` Will Deacon 2017-07-14 19:36 ` Will Deacon 2017-07-14 19:39 ` Rob Clark 2017-07-14 19:39 ` Rob Clark 2017-07-14 19:39 ` Rob Clark 2017-07-17 11:46 ` Sricharan R 2017-07-17 11:46 ` Sricharan R 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-17 12:28 ` Sricharan R 2017-07-17 12:28 ` Sricharan R 2017-07-17 12:28 ` Sricharan R 2017-07-24 15:31 ` Vivek Gautam 2017-07-24 15:31 ` Vivek Gautam 2017-07-24 15:31 ` Vivek Gautam [not found] ` <CAFp+6iFfu2-qrDDim7fzKKLqMcSVMmOr7esqBZ-xEeLTOOTNLA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-08-02 9:53 ` [PATCH] iommu/arm-smmu: Defer TLB flush in case of unmap op Vivek Gautam 2017-08-02 9:53 ` Vivek Gautam 2017-08-02 9:53 ` Vivek Gautam 2017-08-02 12:17 ` Robin Murphy 2017-08-02 12:17 ` Robin Murphy [not found] ` <35aeb7dd-4fe6-3175-2252-41c3c54873a9-5wv7dgnIgG8@public.gmane.org> 2017-08-03 5:35 ` Vivek Gautam 2017-08-03 5:35 ` Vivek Gautam 2017-08-03 5:35 ` Vivek Gautam 2017-08-04 17:04 ` Robin Murphy 2017-08-04 17:04 ` Robin Murphy 2017-08-07 7:44 ` Vivek Gautam 2017-08-07 7:44 ` Vivek Gautam 2017-08-07 7:44 ` Vivek Gautam 2017-09-06 5:37 ` [PATCH v2 1/1] " Vivek Gautam [not found] ` <1504676255-15980-1-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2017-09-13 11:04 ` Vivek Gautam 2017-10-13 19:08 ` Will Deacon 2017-11-20 17:17 ` Vivek Gautam 2017-08-07 8:27 ` [PATCH V4 3/6] iommu/arm-smmu: Invoke pm_runtime during probe, add/remove device Vivek Gautam 2017-08-07 8:27 ` Vivek Gautam 2017-08-07 8:27 ` Vivek Gautam 2017-08-07 8:27 ` Vivek Gautam 2017-08-07 12:29 ` Rob Clark 2017-08-07 12:29 ` Rob Clark 2017-08-07 12:29 ` Rob Clark [not found] ` <CAF6AEGsw2=nERuJ8UCBr_kTBS0TigaA9LL1Hxw3JmNiu4oycOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-11-14 18:30 ` Vivek Gautam 2017-11-14 18:30 ` Vivek Gautam 2017-11-14 18:30 ` Vivek Gautam 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 2017-11-27 22:22 ` Stephen Boyd 2017-11-27 22:22 ` Stephen Boyd 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-27 23:43 ` Rob Clark 2017-11-27 23:43 ` Rob Clark 2017-11-27 23:43 ` Rob Clark 2017-11-28 13:43 ` Vivek Gautam 2017-11-28 13:43 ` Vivek Gautam 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-11-28 20:05 ` Rob Clark 2017-11-28 20:05 ` Rob Clark 2017-11-28 20:05 ` Rob Clark 2017-07-13 13:57 ` Vivek Gautam 2017-07-13 13:57 ` Vivek Gautam 2017-07-13 13:57 ` Vivek Gautam 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 14:01 ` Vivek Gautam 2017-07-13 14:01 ` Vivek Gautam 2017-07-13 14:01 ` Vivek Gautam 2017-07-13 6:48 ` Stephen Boyd 2017-07-13 6:48 ` Stephen Boyd 2017-07-13 6:48 ` Stephen Boyd 2017-07-13 9:50 ` Robin Murphy 2017-07-13 9:50 ` Robin Murphy 2017-07-13 11:53 ` Rob Clark 2017-07-13 11:53 ` Rob Clark 2017-07-13 11:53 ` Rob Clark 2017-07-06 9:37 ` Vivek Gautam [this message] 2017-07-06 9:37 ` [PATCH V4 4/6] iommu/arm-smmu: Add the device_link between masters and smmu Vivek Gautam [not found] ` <1499333825-7658-5-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2017-07-12 22:55 ` Stephen Boyd 2017-07-12 22:55 ` Stephen Boyd 2017-07-12 22:55 ` Stephen Boyd [not found] ` <20170712225547.GA22780-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2017-07-13 3:59 ` Vivek Gautam 2017-07-13 3:59 ` Vivek Gautam 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 2017-07-06 9:37 ` 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-10 3:37 ` Rob Herring 2017-07-10 3:37 ` Rob Herring 2017-07-11 5:18 ` Vivek Gautam 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 2017-07-06 9:37 ` [PATCH V4 6/6] iommu/arm-smmu: Add support for qcom, msm8996-smmu-v2 clocks Vivek Gautam 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 3:40 ` Rob Herring 2017-07-10 3:40 ` Rob Herring 2017-07-10 6:42 ` Vivek Gautam 2017-07-10 6:42 ` Vivek Gautam 2017-07-10 6:42 ` Vivek Gautam 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: 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.