From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755320AbcI2IMw (ORCPT ); Thu, 29 Sep 2016 04:12:52 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:28304 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751220AbcI2IMo (ORCPT ); Thu, 29 Sep 2016 04:12:44 -0400 X-AuditID: cbfec7f2-f79556d000002c42-6f-57ecccf799ca 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 , Tobias Jakobi Subject: [PATCH v4 0/2] Exynos IOMMU: proper runtime PM support (use device dependencies) Date: Thu, 29 Sep 2016 10:12:29 +0200 Message-id: <1475136751-31340-1-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAAzWSa0hTYRjHfbdzzo7L1eEo9aK5YGBZkamFvGhIRcGhDxFYjAqxmYcpXiab ipaE5mVTa+qmuDJvpAZeMHXa8t4Upyl5LcS8ECqZF4y8f1DaPPrt9+f5P//nfV4ekk9rcGcy LCqGVUbJIiSEEGvu3R26tD24IvUsTnVG9YY6HOX/midQyvs6AulmczBU2umHMgo/CtDyohfK nlvmo4XGOR4aa3lHoPXXPQAZhjp4aPG3C6rtmRagiZwFgAYHRnGUXv0XR9raUeI6zcx/KeYx pulywDRUZRBMZ1GNgNFPfADMfq+AMX5XY4zWWAWY9QYxY1A34/eEj4TXQtiIsDhWedn/iTB0 MleHR7+i4/9sfBIkgcITmcCehNRVOD6sFnB8Eg7P1BGZQEjSVAWALf2VAk6sA1hSnc876jDv TGJcoRLAtWrNoSuJB9vVuQdZBOUFM1czD7KcqGQANzTlPJvgU90YfJuxh9tcjtRjuFYwStgY o9xgWc02sLGIYuDsm12MmyeG/b163NYMqa8CODyyYzWRVuEKG7r4nOcWHNVMAo4d4ZLFeLjR aTimzzrMyQbwZdpFjg0AflsVcewHuy0jB+/hU8ehrrmAz8WLoCad5pCBjWsPOfcN2Kqz/RFp XTgQWrLic4BLKbCrAk5srCpSzqqueKhkkarYKLnHU0VkA7Dex8C+5Z8JbPb5mgFFAomDyLNv WUrjsjhVQqQZQJIvcRJ5969IaVGILOEZq1QEKWMjWJUZuJCY5JSorXRcSlNyWQwbzrLRrPKo yiPtnZNA8n0fhlasbnr3yEODjd3H4pcSq2dqKwNY41bqmXCqU+dmp+j1qXohHpKLiaYHvg7n kvC74rQfd9Q/LVmm+mS9vqtyuFx7vv15YJO7Iq81wDWo6XNwkfZ2R1/NmHtfvWvJVnPe1Jwe r5iIa5xKDjq7VdaWYi+9aTb572WVGhMlmCpU5nWBr1TJ/gOQHSvIGwMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprPIsWRmVeSWpSXmKPExsVy+t/xa7qnz7wJN3jz1tJi44z1rBZTHz5h s2hevJ7NYtL9CSwWC/ZbW3TO3sBu8fqFoUX/49fMFk83P2ayuLxrDpvF594jjBYzzu9jsnjx XNpi7ZG77BY3JjxltDhz+hKrRdvqD6wWfWsvsTkIeTw5OI/JY8fdJYwem1Z1snnsn7uG3WPy jeWMHv+OsXtsudrO4tG3ZRWjx+dNch4z2rexBnBFudlkpCampBYppOYl56dk5qXbKoWGuOla KCnkJeam2ipF6PqGBCkplCXmlAJ5RgZowME5wD1YSd8uwS3j1sRJrAU9QhUvv2xnb2Cczd/F yMkhIWAicejHLRYIW0ziwr31bF2MXBxCAksYJdomvmaGcJqYJBoaDrKBVLEJGEp0ve0CqxIR aGSU2LZ1IjuIwyxwnEXiwpEOVpAqYYFoiffTL4F1sAioSixc850RxOYV8JC4P/Mn1D45iZPH JrNOYORewMiwilEktbQ4Nz232EivODG3uDQvXS85P3cTIzByth37uWUHY9e74EOMAhyMSjy8 HadehwuxJpYVV+YeYpTgYFYS4TU6+SZciDclsbIqtSg/vqg0J7X4EKMp0PKJzFKiyfnAqM4r iTc0MTS3NDQytrAwNzJSEued+uFKuJBAemJJanZqakFqEUwfEwenVAMj07S2bc4Fkk5ySQl5 Hck7vLZ+n2Psm667TFih9ZRHH/uJRR3SP93lKqUP32WLFjGOjZnN3M64cKFqa9yFuM0M/i93 uK8R/nNU0bX2oKnasS1r21lTpB1vLQ7fuuzsy5smKyfb/nTTWPPqqJPy9qt+m9KtxOf7NBRZ OMfufDKh9e50n7/602yUWIozEg21mIuKEwG+vNzMsgIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20160929081238eucas1p1a064e5371ce549f860d6cff4bd43b557 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 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: 20160929081238eucas1p1a064e5371ce549f860d6cff4bd43b557 X-RootMTR: 20160929081238eucas1p1a064e5371ce549f860d6cff4bd43b557 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 fourth version of Rafeal's "Functional dependencies between devices" patchset, which is available here: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1241473.html 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-v4 Patches are based on vanilla v4.8-rc8 kernel with Rafael's device dependencies v4 patchset applied. Best regards Marek Szyprowski Samsung R&D Institute Poland Changelog: v4: - rebased on top of v4 of device dependencies/links patchset, what resolved system hang on reboot v3: http://www.spinics.net/lists/linux-samsung-soc/msg55256.html - 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: http://www.spinics.net/lists/arm-kernel/msg512082.html - 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