All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Gautam <vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
To: joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org,
	robin.murphy-5wv7dgnIgG8@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	airlied-cv59FeDIM0c@public.gmane.org,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org
Subject: [PATCH v7 1/6] base: power: runtime: Export pm_runtime_get/put_suppliers
Date: Wed,  7 Feb 2018 16:01:17 +0530	[thread overview]
Message-ID: <1517999482-17317-2-git-send-email-vivek.gautam@codeaurora.org> (raw)
In-Reply-To: <1517999482-17317-1-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>

The device link allows the pm framework to tie the supplier and
consumer. So, whenever the consumer is powered-on the supplier
is powered-on first.

There are however cases in which the consumer wants to power-on
the supplier, but not itself.
E.g., A Graphics or multimedia driver wants to power-on the SMMU
to unmap a buffer and finish the TLB operations without powering
on itself. Some of these unmap requests are coming from the
user space when the controller itself is not powered-up, and it
can be huge penalty in terms of power and latency to power-up
the graphics/mm controllers.
There can be an argument that the supplier should handle this case
on its own and there should not be a need for the consumer to
power-on the supplier. But as discussed on the thread [1] about
ARM-SMMU runtime pm, we don't want to introduce runtime pm calls
in atomic path in arm_smmu_unmap.

[1] https://patchwork.kernel.org/patch/9827825/

Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/base/power/runtime.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 8bef3cb2424d..5b8226c8af19 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1579,6 +1579,7 @@ void pm_runtime_get_suppliers(struct device *dev)
 
 	device_links_read_unlock(idx);
 }
+EXPORT_SYMBOL_GPL(pm_runtime_get_suppliers);
 
 /**
  * pm_runtime_put_suppliers - Drop references to supplier devices.
@@ -1597,6 +1598,7 @@ void pm_runtime_put_suppliers(struct device *dev)
 
 	device_links_read_unlock(idx);
 }
+EXPORT_SYMBOL_GPL(pm_runtime_put_suppliers);
 
 void pm_runtime_new_link(struct device *dev)
 {
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

WARNING: multiple messages have this Message-ID (diff)
From: Vivek Gautam <vivek.gautam@codeaurora.org>
To: joro@8bytes.org, robh+dt@kernel.org, mark.rutland@arm.com,
	rjw@rjwysocki.net, robin.murphy@arm.com, will.deacon@arm.com,
	robdclark@gmail.com, iommu@lists.linux-foundation.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, dri-devel@lists.freedesktop.org,
	freedreno@lists.freedesktop.org
Cc: alex.williamson@redhat.com, gregkh@linuxfoundation.org,
	airlied@linux.ie, sboyd@codeaurora.org, sricharan@codeaurora.org,
	m.szyprowski@samsung.com, architt@codeaurora.org,
	linux-arm-msm@vger.kernel.org, vivek.gautam@codeaurora.org
Subject: [PATCH v7 1/6] base: power: runtime: Export pm_runtime_get/put_suppliers
Date: Wed,  7 Feb 2018 16:01:17 +0530	[thread overview]
Message-ID: <1517999482-17317-2-git-send-email-vivek.gautam@codeaurora.org> (raw)
In-Reply-To: <1517999482-17317-1-git-send-email-vivek.gautam@codeaurora.org>

The device link allows the pm framework to tie the supplier and
consumer. So, whenever the consumer is powered-on the supplier
is powered-on first.

There are however cases in which the consumer wants to power-on
the supplier, but not itself.
E.g., A Graphics or multimedia driver wants to power-on the SMMU
to unmap a buffer and finish the TLB operations without powering
on itself. Some of these unmap requests are coming from the
user space when the controller itself is not powered-up, and it
can be huge penalty in terms of power and latency to power-up
the graphics/mm controllers.
There can be an argument that the supplier should handle this case
on its own and there should not be a need for the consumer to
power-on the supplier. But as discussed on the thread [1] about
ARM-SMMU runtime pm, we don't want to introduce runtime pm calls
in atomic path in arm_smmu_unmap.

[1] https://patchwork.kernel.org/patch/9827825/

Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/base/power/runtime.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 8bef3cb2424d..5b8226c8af19 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1579,6 +1579,7 @@ void pm_runtime_get_suppliers(struct device *dev)
 
 	device_links_read_unlock(idx);
 }
+EXPORT_SYMBOL_GPL(pm_runtime_get_suppliers);
 
 /**
  * pm_runtime_put_suppliers - Drop references to supplier devices.
@@ -1597,6 +1598,7 @@ void pm_runtime_put_suppliers(struct device *dev)
 
 	device_links_read_unlock(idx);
 }
+EXPORT_SYMBOL_GPL(pm_runtime_put_suppliers);
 
 void pm_runtime_new_link(struct device *dev)
 {
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

  parent reply	other threads:[~2018-02-07 10:31 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-07 10:31 [PATCH v7 0/6] iommu/arm-smmu: Add runtime pm/sleep support Vivek Gautam
2018-02-07 10:31 ` Vivek Gautam
     [not found] ` <1517999482-17317-1-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-02-07 10:31   ` Vivek Gautam [this message]
2018-02-07 10:31     ` [PATCH v7 1/6] base: power: runtime: Export pm_runtime_get/put_suppliers Vivek Gautam
2018-02-13  7:44     ` Tomasz Figa
2018-02-13  7:44       ` Tomasz Figa
     [not found]       ` <CAAFQd5BmroRf-C8dQkvTKHWK1psGnNi1t7g-q=Xce6KjrGTsdw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 12:00         ` Robin Murphy
2018-02-13 12:00           ` Robin Murphy
2018-02-13 12:54           ` Tomasz Figa
2018-02-13 12:54             ` Tomasz Figa
2018-02-13 13:37             ` Robin Murphy
2018-02-13 13:37               ` Robin Murphy
2018-02-07 10:31   ` [PATCH v7 2/6] iommu/arm-smmu: Add pm_runtime/sleep ops Vivek Gautam
2018-02-07 10:31     ` Vivek Gautam
2018-02-13  8:03     ` Tomasz Figa
2018-02-13  8:03       ` Tomasz Figa
     [not found]       ` <CAAFQd5B2u8RL-tdB3qgPxVUcXnsBSEhXRBZWxqO-w6rYKAiOtg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 10:25         ` Vivek Gautam
2018-02-13 10:25           ` Vivek Gautam
2018-02-14  3:45           ` Tomasz Figa
2018-02-14  3:45             ` Tomasz Figa
2018-02-07 10:31   ` [PATCH v7 3/6] iommu/arm-smmu: Invoke pm_runtime during probe, add/remove device Vivek Gautam
2018-02-07 10:31     ` Vivek Gautam
2018-02-13  8:24     ` Tomasz Figa
2018-02-13  8:24       ` Tomasz Figa
     [not found]       ` <CAAFQd5DxYhkK61VDAesby6bT+FtG2nqsbHQRvxkhrsSS0KWtog-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 12:57         ` Robin Murphy
2018-02-13 12:57           ` Robin Murphy
     [not found]           ` <906051dd-8898-ec6f-5ad4-3f37716292cf-5wv7dgnIgG8@public.gmane.org>
2018-02-13 13:52             ` Tomasz Figa
2018-02-13 13:52               ` Tomasz Figa
     [not found]               ` <CAAFQd5DJtQYPg5S3Ep2bK27+D5rQiKuA-uPfMDUon3FudmGF0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14  8:24                 ` Vivek Gautam
2018-02-14  8:24                   ` Vivek Gautam
2018-02-14  8:28       ` Vivek Gautam
2018-02-14  8:28         ` Vivek Gautam
     [not found]     ` <1517999482-17317-4-git-send-email-vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-02-22 23:52       ` Jordan Crouse
2018-02-22 23:52         ` Jordan Crouse
     [not found]         ` <20180222235200.GA18743-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-02-23 10:36           ` Vivek Gautam
2018-02-23 10:36             ` Vivek Gautam
     [not found]             ` <CAFp+6iGQ5Vckui14Jb=V0uk_Pjes95hOxo=KBijR4yxPeDDzFg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-23 15:40               ` [Freedreno] " Jordan Crouse
2018-02-23 15:40                 ` Jordan Crouse
     [not found]                 ` <20180223154048.GB18743-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-02-23 17:43                   ` Vivek Gautam
2018-02-23 17:43                     ` [Freedreno] " Vivek Gautam
2018-02-07 10:31   ` [PATCH v7 4/6] iommu/arm-smmu: Add the device_link between masters and smmu Vivek Gautam
2018-02-07 10:31     ` Vivek Gautam
2018-02-13  8:31     ` Tomasz Figa
2018-02-13  8:31       ` Tomasz Figa
     [not found]       ` <CAAFQd5BQAs9=N27_Z0pJNSrndFY3vFin2KBP44UtiW+tMXy5nQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 10:14         ` Vivek Gautam
2018-02-13 10:14           ` Vivek Gautam
2018-02-07 10:31   ` [PATCH v7 5/6] iommu/arm-smmu: Add support for qcom, smmu-v2 variant Vivek Gautam
2018-02-07 10:31     ` [PATCH v7 5/6] iommu/arm-smmu: Add support for qcom,smmu-v2 variant Vivek Gautam
2018-02-09 10:57     ` [PATCH v8 " Vivek Gautam
2018-02-13  8:57       ` Tomasz Figa
2018-02-13  8:57         ` Tomasz Figa
2018-02-07 10:31   ` [PATCH v7 6/6] drm/msm: iommu: Replace runtime calls with runtime suppliers Vivek Gautam
2018-02-07 10:31     ` Vivek Gautam
2018-02-13  9:10     ` Tomasz Figa
2018-02-13  9:10       ` Tomasz Figa
     [not found]       ` <CAAFQd5AjopiX6fDgD+mO+-+d0yj-swEnVCNvccWRBSMO+XVJkA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13 16:42         ` Jordan Crouse
2018-02-13 16:42           ` Jordan Crouse
2018-02-14  3:31           ` Tomasz Figa
     [not found]             ` <CAAFQd5CjQRFATfh-mRQv5J=WefYuxBVTkk=Ju09FoqA-Or5Cvg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 15:48               ` Jordan Crouse
2018-02-14 15:48                 ` Jordan Crouse
     [not found]                 ` <20180214154850.GA25422-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-02-14 16:12                   ` [Freedreno] " Rob Clark
2018-02-14 16:12                     ` Rob Clark
2018-02-15  4:09                     ` Tomasz Figa
2018-02-15  4:09                       ` Tomasz Figa
     [not found]                       ` <CAAFQd5C-9mbd3hDSvz10a1oiO0--FT-L4EpsAYcALxxUvk6Fjg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-15 14:14                         ` Rob Clark
2018-02-15 14:14                           ` [Freedreno] " Rob Clark
2018-02-13 18:03         ` Rob Clark
2018-02-13 18:03           ` Rob Clark
2018-02-14  1:59           ` Tomasz Figa
2018-02-14  1:59             ` Tomasz Figa
     [not found]             ` <CAAFQd5BKRumpEfAKNF_RKS-ZZ8D671DfOz4vB2+w1SV3aG9NxQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14  2:13               ` Rob Clark
2018-02-14  2:13                 ` Rob Clark
     [not found]                 ` <CAF6AEGuNZJKtwGZ5mLfqNND2jtU+HYM11UONfAtVTzoM0QVpdg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14  3:01                   ` Tomasz Figa
2018-02-14  3:01                     ` Tomasz Figa
     [not found]                     ` <CAAFQd5BZJ1G0RG32hYErNzPRvisBhhiSNCBsjbzfm0WzO=DnsQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14  4:17                       ` Vivek Gautam
2018-02-14  4:17                         ` Vivek Gautam
     [not found]                         ` <CAFp+6iHaycK=CcE1S15EeuMkaw8LnW0ebptU0hM6tUtWdeEOtA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14  5:38                           ` Tomasz Figa
2018-02-14  5:38                             ` Tomasz Figa
     [not found]                             ` <CAAFQd5Afj-Bj+3wHwmF2tT7y=46EsYEtO_mXfY6stXBgHutEUg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14  9:13                               ` Vivek Gautam
2018-02-14  9:13                                 ` Vivek Gautam
     [not found]                                 ` <CAFp+6iGX6pr+MdPSSHHG=qOnhHky_8OHiDqAcJ9UudEUv=JMHg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14  9:16                                   ` Tomasz Figa
2018-02-14  9:16                                     ` Tomasz Figa
     [not found]                                     ` <CAAFQd5DiwAugGnPOTw0+XrEfef9x-n-vx59JFuXpNawjiXHwCw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 10:33                                       ` Vivek Gautam
2018-02-14 10:33                                         ` Vivek Gautam
     [not found]                                         ` <CAFp+6iEW0faeHDfzN_F1bRrHGcVo3sPCk4HSY=t9dnEvHkDkYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-14 16:03                                           ` Robin Murphy
2018-02-14 16:03                                             ` Robin Murphy
2018-02-15  3:17                                             ` Tomasz Figa
     [not found]                                               ` <CAAFQd5AmG1zSm+CouXOCJbs8SNGFk1-RqfU1nWGjMGJMB-qfvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-15  4:17                                                 ` Tomasz Figa
2018-02-15  4:17                                                   ` Tomasz Figa
     [not found]                                                   ` <CAAFQd5A9B-di9svtiJbvk2hz1U1xo61rTY5vt6AD+KR5iMcG-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-15 17:14                                                     ` Robin Murphy
2018-02-15 17:14                                                       ` Robin Murphy
     [not found]                                                       ` <7406f1ce-c2c9-a6bd-2886-5a34de45add6-5wv7dgnIgG8@public.gmane.org>
2018-02-16  0:13                                                         ` Tomasz Figa
2018-02-16  0:13                                                           ` Tomasz Figa
     [not found]                                                           ` <CAAFQd5DkLtq2w00=Zd4sMDB4QOWqi7R-zgydECJXLdTmaHty+g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-22  8:13                                                             ` Tomasz Figa
2018-02-22  8:13                                                               ` Tomasz Figa
     [not found]                                                               ` <CAAFQd5CQoDqunAunwoVo7W=QXa=ET=eJ2s_j9j+3YgAR2EGgCg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-22 13:30                                                                 ` Rob Clark
2018-02-22 13:30                                                                   ` [Freedreno] " Rob Clark
2018-02-22 13:45                                                             ` Robin Murphy
2018-02-22 13:45                                                               ` Robin Murphy
2018-02-22 14:12                                                               ` Tomasz Figa
2018-02-22 14:12                                                                 ` Tomasz Figa
     [not found]                                                                 ` <CAAFQd5CzOJ0oS8LLcKP-DgyXSXgzafg5CWPAvnR-QDPS+DZAUg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-22 17:24                                                                   ` Vivek Gautam
2018-02-22 17:24                                                                     ` 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=1517999482-17317-2-git-send-email-vivek.gautam@codeaurora.org \
    --to=vivek.gautam-sgv2jx0feol9jmxxk+q4oq@public.gmane.org \
    --cc=airlied-cv59FeDIM0c@public.gmane.org \
    --cc=alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org \
    --cc=robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=robin.murphy-5wv7dgnIgG8@public.gmane.org \
    --cc=sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@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 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.