From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755162AbcIMMt0 (ORCPT ); Tue, 13 Sep 2016 08:49:26 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:47617 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750951AbcIMMtW (ORCPT ); Tue, 13 Sep 2016 08:49:22 -0400 X-AuditID: cbfec7f1-f79f46d0000008eb-78-57d7f5cdd21b From: Marek Szyprowski To: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, linux-samsung-soc@vger.kernel.org Cc: Marek Szyprowski , Joerg Roedel , Inki Dae , Kukjin Kim , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , "Rafael J. Wysocki" , Mark Brown , "Luis R. Rodriguez" , Greg Kroah-Hartman , Tomeu Vizoso , Lukas Wunner , Kevin Hilman Subject: [PATCH v3 0/2] Exynos IOMMU: proper runtime PM support (use device dependencies) Date: Tue, 13 Sep 2016 14:48:59 +0200 Message-id: <1473770941-8337-1-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgleLIzCtJLcpLzFFi42LZduznOd2zX6+HGzw4aWCxccZ6VoupD5+w WTQvXs9mMen+BBaLBfutLTpnb2C3eP3C0KL/8Wtmi6ebHzNZXN41h83ic+8RRosZ5/cxWbx4 Lm2x9shddosbE54yWpw5fYnVom/tJTYHQY8nB+cxeey4u4TRY9OqTjaP/XPXsHtMvrGc0WPL 1XYWj74tqxg9Pm+S85jRvo01gDOKyyYlNSezLLVI3y6BK+Pqqg6Wgtf8FfPO/WVqYJzB28XI ySEhYCKx9shWRghbTOLCvfVsXYxcHEICSxklri+fDOV8ZpTYd7KJHaZjyanPUIlljBKHd56E chqYJG7/mQ82i03AUKLrbRdYQkSgkVHiS8cSJhCHWWAKi0T/jBVADgeHsEC0xMeZLiANLAKq Eo8Ob2cBsXkF3CVOPXjCDLFOTuLkscmsIL0SAvvYJZqun2AH6ZUQkJXYdACqxkXi3ISTUOcJ S7w6vgXKlpHo7DjIBGH3M0o0tWpD2DMYJc69hQaAtcTh4xdZQWxmAT6JSdumM0OM55XoaBOC KPGQ+HX2DjSMHCUmXl8DVi4kECux+OBrxgmM0gsYGVYxiqSWFuempxYb6RUn5haX5qXrJefn bmIEpovT/45/3MH4/oTVIUYBDkYlHt6G1dfChVgTy4orcw8xSnAwK4nwan+6Hi7Em5JYWZVa lB9fVJqTWnyIUZqDRUmcd8+CK+FCAumJJanZqakFqUUwWSYOTqkGxoV87IG7d71WPMVYsDlY ceMs30o559IWrQLha8HKFw58n2G/ssla2GdZg3JxbK7qyeIk38zm7S7v7D/yxrJO2WLOxP5w f+08y5qXj++ozdqZy+IVcftdJbdJx44bOhYfrre7KDDdvLlj4tFMhWXPNb60tU7b6Hf1t7x1 zPb6b4fje/zXKS17oMRSnJFoqMVcVJwIADufcYYTAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprKIsWRmVeSWpSXmKPExsVy+t/xa7rzv14PN7i9n8Vi44z1rBZTHz5h s2hevJ7NYtL9CSwWC/ZbW3TO3sBu8fqFoUX/49fMFk83P2ayuLxrDpvF594jjBYzzu9jsnjx XNpi7ZG77BY3JjxltDhz+hKrRd/aS2wOgh5PDs5j8thxdwmjx6ZVnWwe++euYfeYfGM5o8eW q+0sHn1bVjF6fN4k5zGjfRtrAGeUm01GamJKapFCal5yfkpmXrqtUmiIm66FkkJeYm6qrVKE rm9IkJJCWWJOKZBnZIAGHJwD3IOV9O0S3DKurupgKXjNXzHv3F+mBsYZvF2MnBwSAiYSS059 ZoOwxSQu3FsPZHNxCAksYZRoWbeOCcJpYpLY+PwdE0gVm4ChRNfbLrAqEYFGRoltWyeygzjM AtNYJKZ0d7F0MXJwCAtES3yc6QLSwCKgKvHo8HYWEJtXwF3i1IMnzBDr5CROHpvMOoGRewEj wypGkdTS4tz03GJDveLE3OLSvHS95PzcTYzAKNl27OfmHYyXNgYfYhTgYFTi4W1YfS1ciDWx rLgy9xCjBAezkgiv9qfr4UK8KYmVValF+fFFpTmpxYcYTYGWT2SWEk3OB0ZwXkm8oYmhuaWh kbGFhbmRkZI4b8mHK+FCAumJJanZqakFqUUwfUwcnFINjN5zb9upXtVRPHTAbs56ho91DVsu M+kmJoWejbWqnyUluaVpUerrn0sSTncKzssPkl28ak7Tdz//oosqauetIyebWb1KvTLHwPCY YcRs7Q11ewz7m1tOsxlZcm48wiq8vt1oeXGmhefNvKN6bxLnXmuafems7dbK729deu5vK99e Er00jDmmWomlOCPRUIu5qDgRAC6oiAKoAgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20160913124917eucas1p23425d2cb1c24e73ae3c2927ec141fd30 X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRs=?= =?UTF-8?B?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRtT?= =?UTF-8?B?YW1zdW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20160913124917eucas1p23425d2cb1c24e73ae3c2927ec141fd30 X-RootMTR: 20160913124917eucas1p23425d2cb1c24e73ae3c2927ec141fd30 References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, This patch series finally implements proper runtime PM support in Exynos IOMMU driver. This has been achieved by using recently introduce device links, which lets SYSMMU controller's runtime PM to follow master's device runtime PM state (the device which actually performs DMA transaction). The main idea behind this solution is an observation that any DMA activity from master device can be done only when master device is active, thus when master device is suspended SYSMMU controller device can also be suspended. This patchset solves the situation that power domains are always enabled, because all SYSMMU controllers (which belongs to those domains) are permanently active (because existing driver was simplified and kept SYSMMU device active all the time after initialization). Patch requires second version of Rafeal's "Functional dependencies between devices" patchset, which is available here: https://lkml.org/lkml/2016/9/8/798 If one wants to test this patchset, I've provided a branch with all needed patches (some fixes for Exynos4 FIMC-IS driver are needed): https://git.linaro.org/people/marek.szyprowski/linux-srpol.git v4.8-iommu-pm-v3 Patches are based on vanilla v4.8-rc6 kernel with Rafael's patches applied. Best regards Marek Szyprowski Samsung R&D Institute Poland Changelog: v3: - rebased on top of latest device dependencies/links patchset - added proper locking between runtime pm, iommu_attach/detach and sysmmu enable/disable(added per iommu owner device's rpm lock) v2: - replaced PM notifiers with generic device dependencies/links developped by Rafael J. Wysocki v1: http://www.spinics.net/lists/arm-kernel/msg509600.html - initial version Patch summary: Marek Szyprowski (2): iommu/exynos: Remove excessive, useless debug iommu/exynos: Add proper runtime pm support drivers/iommu/exynos-iommu.c | 228 ++++++++++++++++++------------------------- 1 file changed, 94 insertions(+), 134 deletions(-) -- 1.9.1