From: Ayan Kumar Halder <ayan.halder@arm.com> To: ayan.halder@arm.com, liviu.dudau@arm.com, brian.starkey@arm.com, malidp@foss.arm.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: nd@arm.com Subject: [PATCH 8/8] drm/arm/malidp: Added the late system pm functions Date: Mon, 26 Mar 2018 18:03:20 +0100 [thread overview] Message-ID: <1522083800-30100-9-git-send-email-ayan.halder@arm.com> (raw) In-Reply-To: <1522083800-30100-1-git-send-email-ayan.halder@arm.com> malidp_pm_suspend_late checks if the runtime status is not suspended and if so, invokes malidp_runtime_pm_suspend which disables the display engine/core interrupts and the clocks. It sets the runtime status as suspended. Subsequently, malidp_pm_resume_early will invoke malidp_runtime_pm_resume which enables the clocks and the interrupts (previously disabled) and sets the runtime status as active. Signed-off-by: Ayan Kumar Halder <ayan.halder@arm.com> Change-Id: I5f8c3d28f076314a1c9da2a46760a9c37039ccda --- drivers/gpu/drm/arm/malidp_drv.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c index bd44a6d..f6124d8 100644 --- a/drivers/gpu/drm/arm/malidp_drv.c +++ b/drivers/gpu/drm/arm/malidp_drv.c @@ -766,8 +766,25 @@ static int __maybe_unused malidp_pm_resume(struct device *dev) return 0; } +static int __maybe_unused malidp_pm_suspend_late(struct device *dev) +{ + if (!pm_runtime_status_suspended(dev)) { + malidp_runtime_pm_suspend(dev); + pm_runtime_set_suspended(dev); + } + return 0; +} + +static int __maybe_unused malidp_pm_resume_early(struct device *dev) +{ + malidp_runtime_pm_resume(dev); + pm_runtime_set_active(dev); + return 0; +} + static const struct dev_pm_ops malidp_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(malidp_pm_suspend, malidp_pm_resume) \ + SET_LATE_SYSTEM_SLEEP_PM_OPS(malidp_pm_suspend_late, malidp_pm_resume_early) \ SET_RUNTIME_PM_OPS(malidp_runtime_pm_suspend, malidp_runtime_pm_resume, NULL) }; -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Ayan Kumar Halder <ayan.halder@arm.com> To: ayan.halder@arm.com, liviu.dudau@arm.com, brian.starkey@arm.com, malidp@foss.arm.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: nd@arm.com Subject: [PATCH 8/8] drm/arm/malidp: Added the late system pm functions Date: Mon, 26 Mar 2018 18:03:20 +0100 [thread overview] Message-ID: <1522083800-30100-9-git-send-email-ayan.halder@arm.com> (raw) In-Reply-To: <1522083800-30100-1-git-send-email-ayan.halder@arm.com> malidp_pm_suspend_late checks if the runtime status is not suspended and if so, invokes malidp_runtime_pm_suspend which disables the display engine/core interrupts and the clocks. It sets the runtime status as suspended. Subsequently, malidp_pm_resume_early will invoke malidp_runtime_pm_resume which enables the clocks and the interrupts (previously disabled) and sets the runtime status as active. Signed-off-by: Ayan Kumar Halder <ayan.halder@arm.com> Change-Id: I5f8c3d28f076314a1c9da2a46760a9c37039ccda --- drivers/gpu/drm/arm/malidp_drv.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c index bd44a6d..f6124d8 100644 --- a/drivers/gpu/drm/arm/malidp_drv.c +++ b/drivers/gpu/drm/arm/malidp_drv.c @@ -766,8 +766,25 @@ static int __maybe_unused malidp_pm_resume(struct device *dev) return 0; } +static int __maybe_unused malidp_pm_suspend_late(struct device *dev) +{ + if (!pm_runtime_status_suspended(dev)) { + malidp_runtime_pm_suspend(dev); + pm_runtime_set_suspended(dev); + } + return 0; +} + +static int __maybe_unused malidp_pm_resume_early(struct device *dev) +{ + malidp_runtime_pm_resume(dev); + pm_runtime_set_active(dev); + return 0; +} + static const struct dev_pm_ops malidp_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(malidp_pm_suspend, malidp_pm_resume) \ + SET_LATE_SYSTEM_SLEEP_PM_OPS(malidp_pm_suspend_late, malidp_pm_resume_early) \ SET_RUNTIME_PM_OPS(malidp_runtime_pm_suspend, malidp_runtime_pm_resume, NULL) }; -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-03-26 17:04 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-03-26 17:03 [PATCH 0/8] drm/arm/malidp: Enhance support for system and runtime power management on malidp Ayan Kumar Halder 2018-03-26 17:03 ` Ayan Kumar Halder 2018-03-26 17:03 ` [PATCH 1/8] drm/arm/malidp: Modified the prototype of malidp_de_irq_fini Ayan Kumar Halder 2018-03-26 17:03 ` Ayan Kumar Halder 2018-03-26 17:03 ` [PATCH 2/8] drm/arm/malidp: Modified the prototype of malidp_se_irq_fini Ayan Kumar Halder 2018-03-26 17:03 ` Ayan Kumar Halder 2018-03-26 17:03 ` [PATCH 3/8] drm/arm/malidp: Split malidp_de_irq_init Ayan Kumar Halder 2018-03-26 17:03 ` Ayan Kumar Halder 2018-03-26 17:03 ` [PATCH 4/8] drm/arm/malidp: Split malidp_se_irq_init Ayan Kumar Halder 2018-03-26 17:03 ` Ayan Kumar Halder 2018-03-26 17:03 ` [PATCH 5/8] drm/arm/malidp: Enable/disable interrupts in runtime pm Ayan Kumar Halder 2018-03-26 17:03 ` Ayan Kumar Halder 2018-03-26 17:03 ` [PATCH 6/8] drm/arm/malidp: Enable/disable the scaling engine interrupts with memory writeback Ayan Kumar Halder 2018-03-26 17:03 ` [PATCH 7/8] drm/arm/malidp: Set the output_depth register in modeset Ayan Kumar Halder 2018-03-26 17:03 ` Ayan Kumar Halder 2018-03-26 17:03 ` Ayan Kumar Halder [this message] 2018-03-26 17:03 ` [PATCH 8/8] drm/arm/malidp: Added the late system pm functions Ayan Kumar Halder 2018-03-27 8:29 ` Daniel Vetter 2018-03-27 8:29 ` Daniel Vetter 2018-03-27 9:59 ` Ayan Halder 2018-03-27 9:59 ` Ayan Halder 2018-03-27 11:09 ` Daniel Vetter 2018-04-06 19:02 ` Ayan Halder 2018-04-06 19:02 ` Ayan Halder 2018-04-09 8:23 ` Daniel Vetter 2018-04-09 8:23 ` Daniel Vetter 2018-04-09 16:15 ` Brian Starkey 2018-04-09 16:15 ` Brian Starkey 2018-04-13 15:44 ` Daniel Vetter 2018-04-13 15:44 ` Daniel Vetter 2018-04-13 16:02 ` Brian Starkey 2018-04-13 16:02 ` Brian Starkey
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=1522083800-30100-9-git-send-email-ayan.halder@arm.com \ --to=ayan.halder@arm.com \ --cc=airlied@linux.ie \ --cc=brian.starkey@arm.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=linux-kernel@vger.kernel.org \ --cc=liviu.dudau@arm.com \ --cc=malidp@foss.arm.com \ --cc=nd@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.