linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeffy Chen <jeffy.chen@rock-chips.com>
To: linux-kernel@vger.kernel.org
Cc: jcliang@chromium.org, robin.murphy@arm.com, xxm@rock-chips.com,
	tfiga@chromium.org, Jeffy Chen <jeffy.chen@rock-chips.com>,
	Romain Perier <romain.perier@collabora.com>,
	Yakir Yang <kuankuan.y@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
	Liang Chen <cl@rock-chips.com>, Rob Herring <robh+dt@kernel.org>,
	Shawn Lin <shawn.lin@rock-chips.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Joerg Roedel <joro@8bytes.org>,
	David Wu <david.wu@rock-chips.com>,
	Finley Xiao <finley.xiao@rock-chips.com>,
	Enric Balletbo i Serra <enric.balletbo@collabora.com>,
	Heiko Stuebner <heiko@sntech.de>,
	Jacob Chen <jacob-chen@iotwrt.com>,
	Kever Yang <kever.yang@rock-chips.com>,
	Brian Norris <briannorris@chromium.org>,
	linux-rockchip@lists.infradead.org,
	Rocky Hao <rocky.hao@rock-chips.com>,
	Will Deacon <will.deacon@arm.com>,
	Nickey Yang <nickey.yang@rock-chips.com>,
	devicetree@vger.kernel.org, Mark Yao <markyao0591@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	Sugar Zhang <sugar.zhang@rock-chips.com>,
	iommu@lists.linux-foundation.org,
	Caesar Wang <wxt@rock-chips.com>,
	Mark Rutland <mark.rutland@arm.com>
Subject: [PATCH v8 00/14] iommu/rockchip: Use OF_IOMMU
Date: Fri, 23 Mar 2018 15:38:00 +0800	[thread overview]
Message-ID: <20180323073814.5802-1-jeffy.chen@rock-chips.com> (raw)


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

             reply	other threads:[~2018-03-23  7:38 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-23  7:38 Jeffy Chen [this message]
2018-03-23  7:38 ` [PATCH v8 01/14] iommu/rockchip: Prohibit unbind and remove Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 02/14] iommu/rockchip: Fix error handling in probe Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 03/14] iommu/rockchip: Request irqs in rk_iommu_probe() Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 04/14] iommu/rockchip: Fix error handling in attach Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 05/14] iommu/rockchip: Use iopoll helpers to wait for hardware Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 06/14] iommu/rockchip: Fix TLB flush of secondary IOMMUs Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 07/14] ARM: dts: rockchip: add clocks in iommu nodes Jeffy Chen
2018-04-09 14:41   ` Tomeu Vizoso
2018-04-09 15:44     ` Heiko Stübner
2018-04-09 15:53       ` Robin Murphy
2018-04-09 15:55         ` Heiko Stübner
2018-04-09 21:49           ` Heiko Stübner
2018-04-10 10:54             ` Heiko Stuebner
2018-04-10 11:46   ` Heiko Stuebner
2018-03-23  7:38 ` [PATCH v8 08/14] iommu/rockchip: Control clocks needed to access the IOMMU Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 09/14] dt-bindings: iommu/rockchip: Add clock property Jeffy Chen
2018-03-25 23:52   ` Rob Herring
2018-03-23  7:38 ` [PATCH v8 10/14] iommu/rockchip: Use IOMMU device for dma mapping operations Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 11/14] iommu/rockchip: Use OF_IOMMU to attach devices automatically Jeffy Chen
2018-03-26  6:31   ` Daniel Kurtz
     [not found]     ` <5AB8A7F0.1090305@rock-chips.com>
2018-04-03 16:11       ` Daniel Kurtz
2018-04-04 11:10         ` JeffyChen
2018-03-23  7:38 ` [PATCH v8 12/14] iommu/rockchip: Fix error handling in init Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 13/14] iommu/rockchip: Add runtime PM support Jeffy Chen
2018-03-23  7:38 ` [PATCH v8 14/14] iommu/rockchip: Support sharing IOMMU between masters Jeffy Chen
2018-03-29 10:24 ` [PATCH v8 00/14] iommu/rockchip: Use OF_IOMMU Joerg Roedel

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=20180323073814.5802-1-jeffy.chen@rock-chips.com \
    --to=jeffy.chen@rock-chips.com \
    --cc=arnd@arndb.de \
    --cc=briannorris@chromium.org \
    --cc=catalin.marinas@arm.com \
    --cc=cl@rock-chips.com \
    --cc=david.wu@rock-chips.com \
    --cc=devicetree@vger.kernel.org \
    --cc=enric.balletbo@collabora.com \
    --cc=finley.xiao@rock-chips.com \
    --cc=heiko@sntech.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jacob-chen@iotwrt.com \
    --cc=jcliang@chromium.org \
    --cc=joro@8bytes.org \
    --cc=kever.yang@rock-chips.com \
    --cc=kuankuan.y@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=markyao0591@gmail.com \
    --cc=nickey.yang@rock-chips.com \
    --cc=robh+dt@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=rocky.hao@rock-chips.com \
    --cc=romain.perier@collabora.com \
    --cc=shawn.lin@rock-chips.com \
    --cc=sugar.zhang@rock-chips.com \
    --cc=tfiga@chromium.org \
    --cc=will.deacon@arm.com \
    --cc=wxt@rock-chips.com \
    --cc=xxm@rock-chips.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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).