From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751661AbeCWHiv (ORCPT ); Fri, 23 Mar 2018 03:38:51 -0400 Received: from regular1.263xmail.com ([211.150.99.133]:53940 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751294AbeCWHit (ORCPT ); Fri, 23 Mar 2018 03:38:49 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-RL-SENDER: jeffy.chen@rock-chips.com X-FST-TO: linux-kernel@vger.kernel.org X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: jeffy.chen@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 From: Jeffy Chen To: linux-kernel@vger.kernel.org Cc: jcliang@chromium.org, robin.murphy@arm.com, xxm@rock-chips.com, tfiga@chromium.org, Jeffy Chen , Romain Perier , Yakir Yang , Arnd Bergmann , Liang Chen , Rob Herring , Shawn Lin , Catalin Marinas , Joerg Roedel , David Wu , Finley Xiao , Enric Balletbo i Serra , Heiko Stuebner , Jacob Chen , Kever Yang , Brian Norris , linux-rockchip@lists.infradead.org, Rocky Hao , Will Deacon , Nickey Yang , devicetree@vger.kernel.org, Mark Yao , Russell King , linux-arm-kernel@lists.infradead.org, Sugar Zhang , iommu@lists.linux-foundation.org, Caesar Wang , Mark Rutland Subject: [PATCH v8 00/14] iommu/rockchip: Use OF_IOMMU Date: Fri, 23 Mar 2018 15:38:00 +0800 Message-Id: <20180323073814.5802-1-jeffy.chen@rock-chips.com> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series fixes some issues in rockchip iommu driver, and add of_iommu support in it. Changes in v8: Rebase on newest for-next. Don't introduce the additional return. Rename startup()/shutdown() to enable()/disable(). Do runtime PM suspend in .shutdown(). Modify pm_runtime_get_if_in_use()/pm_runtime_put() as Tomasz suggested. Changes in v7: Use iommu_group_ref_get to avoid ref leak Changes in v6: Add clk names, and modify all iommu nodes in all existing rockchip dts Fix dt-binding as Robin suggested. Use aclk and iface clk as Rob and Robin suggested, and split binding patch. Changes in v5: Use out labels to save the duplication between the error and success paths. Use RK_MMU_POLL_PERIOD_US instead of 100. Remove clk names. Use clk_bulk APIs. Avoid race about pm_runtime_get_if_in_use() and pm_runtime_enabled(). Changes in v4: Rewrite commit message. Changes in v3: Also remove remove() and module_exit() as Tomasz suggested. Loop platform_get_irq() as Robin suggested. Add struct rk_iommudata. Squash iommu/rockchip: Use iommu_group_get_for_dev() for add_device Only call startup() and shutdown() when iommu attached. Remove pm_mutex. Check runtime PM disabled. Check pm_runtime in rk_iommu_irq(). Remove rk_iommudata->domain. Changes in v2: Move irq request to probe(in patch[0]) Move bus_set_iommu() to rk_iommu_probe(). Jeffy Chen (10): iommu/rockchip: Prohibit unbind and remove iommu/rockchip: Fix error handling in probe iommu/rockchip: Request irqs in rk_iommu_probe() ARM: dts: rockchip: add clocks in iommu nodes dt-bindings: iommu/rockchip: Add clock property iommu/rockchip: Use IOMMU device for dma mapping operations iommu/rockchip: Use OF_IOMMU to attach devices automatically iommu/rockchip: Fix error handling in init iommu/rockchip: Add runtime PM support iommu/rockchip: Support sharing IOMMU between masters Tomasz Figa (4): iommu/rockchip: Fix error handling in attach iommu/rockchip: Use iopoll helpers to wait for hardware iommu/rockchip: Fix TLB flush of secondary IOMMUs iommu/rockchip: Control clocks needed to access the IOMMU .../devicetree/bindings/iommu/rockchip,iommu.txt | 7 + arch/arm/boot/dts/rk3036.dtsi | 2 + arch/arm/boot/dts/rk322x.dtsi | 8 + arch/arm/boot/dts/rk3288.dtsi | 12 + arch/arm64/boot/dts/rockchip/rk3328.dtsi | 10 + arch/arm64/boot/dts/rockchip/rk3368.dtsi | 10 + arch/arm64/boot/dts/rockchip/rk3399.dtsi | 14 +- drivers/iommu/rockchip-iommu.c | 600 +++++++++++---------- 8 files changed, 363 insertions(+), 300 deletions(-) -- 2.11.0