[PATCH v7 14/14] iommu/rockchip: Support sharing IOMMU between masters

2018-03-05 Thread Jeffy Chen
There would be some masters sharing the same IOMMU device. Put them in the same iommu group and share the same iommu domain. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Robin Murphy <robin.mur...@arm.com> --- Changes in v7: Use iommu_group_ref_get to av

[PATCH v7 14/14] iommu/rockchip: Support sharing IOMMU between masters

2018-03-05 Thread Jeffy Chen
There would be some masters sharing the same IOMMU device. Put them in the same iommu group and share the same iommu domain. Signed-off-by: Jeffy Chen Reviewed-by: Robin Murphy --- Changes in v7: Use iommu_group_ref_get to avoid ref leak Changes in v6: None Changes in v5: None Changes in v4

[PATCH v7 13/14] iommu/rockchip: Add runtime PM support

2018-03-05 Thread Jeffy Chen
When the power domain is powered off, the IOMMU cannot be accessed and register programming must be deferred until the power domain becomes enabled. Add runtime PM support, and use runtime PM device link from IOMMU to master to startup and shutdown IOMMU. Signed-off-by: Jeffy Chen <jeff

[PATCH v7 13/14] iommu/rockchip: Add runtime PM support

2018-03-05 Thread Jeffy Chen
When the power domain is powered off, the IOMMU cannot be accessed and register programming must be deferred until the power domain becomes enabled. Add runtime PM support, and use runtime PM device link from IOMMU to master to startup and shutdown IOMMU. Signed-off-by: Jeffy Chen --- Changes

[PATCH v7 12/14] iommu/rockchip: Fix error handling in init

2018-03-05 Thread Jeffy Chen
It's hard to undo bus_set_iommu() in the error path, so move it to the end of rk_iommu_probe(). Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> Reviewed-by: Robin Murphy <robin.mur...@arm.com> --- Changes in v7: None Changes i

[PATCH v7 11/14] iommu/rockchip: Use OF_IOMMU to attach devices automatically

2018-03-05 Thread Jeffy Chen
Converts the rockchip-iommu driver to use the OF_IOMMU infrastructure, which allows attaching master devices to their IOMMUs automatically according to DT properties. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Robin Murphy <robin.mur...@arm.com> --- Changes

[PATCH v7 12/14] iommu/rockchip: Fix error handling in init

2018-03-05 Thread Jeffy Chen
It's hard to undo bus_set_iommu() in the error path, so move it to the end of rk_iommu_probe(). Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa Reviewed-by: Robin Murphy --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2

[PATCH v7 11/14] iommu/rockchip: Use OF_IOMMU to attach devices automatically

2018-03-05 Thread Jeffy Chen
Converts the rockchip-iommu driver to use the OF_IOMMU infrastructure, which allows attaching master devices to their IOMMUs automatically according to DT properties. Signed-off-by: Jeffy Chen Reviewed-by: Robin Murphy --- Changes in v7: None Changes in v6: None Changes in v5: None Changes

[PATCH v7 10/14] iommu/rockchip: Use IOMMU device for dma mapping operations

2018-03-05 Thread Jeffy Chen
Use the first registered IOMMU device for dma mapping operations, and drop the domain platform device. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> Reviewed-by: Robin Murphy <robin

[PATCH v7 10/14] iommu/rockchip: Use IOMMU device for dma mapping operations

2018-03-05 Thread Jeffy Chen
Use the first registered IOMMU device for dma mapping operations, and drop the domain platform device. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa Reviewed-by: Robin Murphy --- Changes in v7: None Changes in v6: None Changes in v5: None Changes

[PATCH v7 09/14] dt-bindings: iommu/rockchip: Add clock property

2018-03-05 Thread Jeffy Chen
Add clock property, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Rob Herring <r...@kernel.org> --- Changes in v7: None Changes in v6: Fix dt-binding as Robin suggested. Use aclk and iface clk as R

[PATCH v7 09/14] dt-bindings: iommu/rockchip: Add clock property

2018-03-05 Thread Jeffy Chen
Add clock property, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen Reviewed-by: Rob Herring --- Changes in v7: None Changes in v6: Fix dt-binding as Robin suggested. Use aclk and iface clk as Rob and Robin suggested, and split binding patch. Changes

[PATCH v7 07/14] ARM: dts: rockchip: add clocks in iommu nodes

2018-03-05 Thread Jeffy Chen
Add clocks in iommu nodes, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- Changes in v7: None Changes in v6: Add clk names, and modify all iommu nodes in all existing rockchip dts Changes in v5: Remove clk names. C

[PATCH v7 07/14] ARM: dts: rockchip: add clocks in iommu nodes

2018-03-05 Thread Jeffy Chen
Add clocks in iommu nodes, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen --- Changes in v7: None Changes in v6: Add clk names, and modify all iommu nodes in all existing rockchip dts Changes in v5: Remove clk names. Changes in v4: None Changes in v3

[PATCH v7 04/14] iommu/rockchip: Fix error handling in attach

2018-03-05 Thread Jeffy Chen
z Figa <tf...@chromium.org> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Robin Murphy <robin.mur...@arm.com> --- Changes in v7: None Changes in v6: None Changes in v5: Use out labels to save the duplication between the error and success paths. Changes in v4:

[PATCH v7 04/14] iommu/rockchip: Fix error handling in attach

2018-03-05 Thread Jeffy Chen
From: Tomasz Figa Currently if the driver encounters an error while attaching device, it will leave the IOMMU in an inconsistent state. Even though it shouldn't really happen in reality, let's just add proper error path to keep things consistent. Signed-off-by: Tomasz Figa Signed-off-by: Jeffy

[PATCH v7 08/14] iommu/rockchip: Control clocks needed to access the IOMMU

2018-03-05 Thread Jeffy Chen
he VB2 framework using DMA mapping API and doesn't engage the master driver at all. This patch fixes the problem by letting clocks needed for IOMMU operation to be listed in Device Tree and making the driver enable them for the time of accessing the hardware. Signed-off-by: Jeffy Chen <jeffy.

[PATCH v7 05/14] iommu/rockchip: Use iopoll helpers to wait for hardware

2018-03-05 Thread Jeffy Chen
From: Tomasz Figa <tf...@chromium.org> This patch converts the rockchip-iommu driver to use the in-kernel iopoll helpers to wait for certain status bits to change in registers instead of an open-coded custom macro. Signed-off-by: Tomasz Figa <tf...@chromium.org> Signed-off-by

[PATCH v7 08/14] iommu/rockchip: Control clocks needed to access the IOMMU

2018-03-05 Thread Jeffy Chen
mapping API and doesn't engage the master driver at all. This patch fixes the problem by letting clocks needed for IOMMU operation to be listed in Device Tree and making the driver enable them for the time of accessing the hardware. Signed-off-by: Jeffy Chen Signed-off-by: Tomasz Figa Acked

[PATCH v7 05/14] iommu/rockchip: Use iopoll helpers to wait for hardware

2018-03-05 Thread Jeffy Chen
From: Tomasz Figa This patch converts the rockchip-iommu driver to use the in-kernel iopoll helpers to wait for certain status bits to change in registers instead of an open-coded custom macro. Signed-off-by: Tomasz Figa Signed-off-by: Jeffy Chen Reviewed-by: Robin Murphy --- Changes in v7

[PATCH v7 06/14] iommu/rockchip: Fix TLB flush of secondary IOMMUs

2018-03-05 Thread Jeffy Chen
From: Tomasz Figa <tf...@chromium.org> Due to the bug in current code, only first IOMMU has the TLB lines flushed in rk_iommu_zap_lines. This patch fixes the inner loop to execute for all IOMMUs and properly flush the TLB. Signed-off-by: Tomasz Figa <tf...@chromium.org> Signed-off-by

[PATCH v7 06/14] iommu/rockchip: Fix TLB flush of secondary IOMMUs

2018-03-05 Thread Jeffy Chen
From: Tomasz Figa Due to the bug in current code, only first IOMMU has the TLB lines flushed in rk_iommu_zap_lines. This patch fixes the inner loop to execute for all IOMMUs and properly flush the TLB. Signed-off-by: Tomasz Figa Signed-off-by: Jeffy Chen --- Changes in v7: None Changes in v6

[PATCH v7 03/14] iommu/rockchip: Request irqs in rk_iommu_probe()

2018-03-05 Thread Jeffy Chen
Move request_irq to the end of rk_iommu_probe(). Suggested-by: Robin Murphy <robin.mur...@arm.com> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4:

[PATCH v7 03/14] iommu/rockchip: Request irqs in rk_iommu_probe()

2018-03-05 Thread Jeffy Chen
Move request_irq to the end of rk_iommu_probe(). Suggested-by: Robin Murphy Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: Loop platform_get_irq() as Robin suggested. Changes in v2: None

[PATCH v7 00/14] iommu/rockchip: Use OF_IOMMU

2018-03-05 Thread Jeffy Chen
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-bindi

[PATCH v7 02/14] iommu/rockchip: Fix error handling in probe

2018-03-05 Thread Jeffy Chen
Add missing iommu_device_sysfs_remove in error path. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None d

[PATCH v7 01/14] iommu/rockchip: Prohibit unbind and remove

2018-03-05 Thread Jeffy Chen
Removal of IOMMUs cannot be done reliably. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: Rewrite commit messa

[PATCH v7 02/14] iommu/rockchip: Fix error handling in probe

2018-03-05 Thread Jeffy Chen
Add missing iommu_device_sysfs_remove in error path. Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None drivers/iommu/rockchip-iommu.c | 6 +- 1 file changed, 5

[PATCH v7 01/14] iommu/rockchip: Prohibit unbind and remove

2018-03-05 Thread Jeffy Chen
Removal of IOMMUs cannot be done reliably. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: Rewrite commit message. Changes in v3: Also remove remove() and module_exit

[PATCH v7 00/14] iommu/rockchip: Use OF_IOMMU

2018-03-05 Thread Jeffy Chen
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-bindi

[PATCH] soc: rockchip: power-domain: Add a sanity check on pd->num_clks

2018-03-05 Thread Jeffy Chen
wn Lin <shawn@rock-chips.com> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- drivers/soc/rockchip/pm_domains.c | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/soc/rockchip/pm_domains.c b/drivers/soc/rockchip/pm_domains.c index a

[PATCH] soc: rockchip: power-domain: Add a sanity check on pd->num_clks

2018-03-05 Thread Jeffy Chen
n Signed-off-by: Jeffy Chen --- drivers/soc/rockchip/pm_domains.c | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/soc/rockchip/pm_domains.c b/drivers/soc/rockchip/pm_domains.c index ad96ddeaeb78..fd58fd475950 100644 --- a/drivers/soc/rockchip/pm_do

[PATCH] drm/bridge/synopsys: dw-hdmi: Fix memleak in __dw_hdmi_remove

2018-03-04 Thread Jeffy Chen
5c [<0e17cd06>] platform_device_register_full+0x64/0x108 [<418a0882>] __dw_hdmi_probe+0xb9c/0xcc0 [<e0b720fd>] dw_hdmi_bind+0x30/0x88 [<9af347f6>] dw_hdmi_rockchip_bind+0x260/0x2e8 Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.

[PATCH] drm/bridge/synopsys: dw-hdmi: Fix memleak in __dw_hdmi_remove

2018-03-04 Thread Jeffy Chen
5c [<0e17cd06>] platform_device_register_full+0x64/0x108 [<418a0882>] __dw_hdmi_probe+0xb9c/0xcc0 [<e0b720fd>] dw_hdmi_bind+0x30/0x88 [<9af347f6>] dw_hdmi_rockchip_bind+0x260/0x2e8 Signed-off-by: Jeffy Chen --- drivers/gpu/drm/brid

[PATCH v3 1/3] Input: gpio-keys - add support for wakeup event action

2018-03-01 Thread Jeffy Chen
. Suggested-by: Brian Norris <briannor...@chromium.org> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- Changes in v3: Adding more comments as Brian suggested. Changes in v2: Specify wakeup event action instead of irq trigger type as Brian suggested. drivers/input/keyboard

[PATCH v3 0/3] gpio-keys: Add support for specifying wakeup event action

2018-03-01 Thread Jeffy Chen
action instead of irq trigger type as Brian suggested. Specify wakeup event action instead of irq trigger type as Brian suggested. Specify wakeup event action instead of irq trigger type as Brian suggested. Jeffy Chen (3): Input: gpio-keys - add support for wakeup event action Input: gpio-keys

[PATCH v3 1/3] Input: gpio-keys - add support for wakeup event action

2018-03-01 Thread Jeffy Chen
. Suggested-by: Brian Norris Signed-off-by: Jeffy Chen --- Changes in v3: Adding more comments as Brian suggested. Changes in v2: Specify wakeup event action instead of irq trigger type as Brian suggested. drivers/input/keyboard/gpio_keys.c | 39 ++ include

[PATCH v3 0/3] gpio-keys: Add support for specifying wakeup event action

2018-03-01 Thread Jeffy Chen
action instead of irq trigger type as Brian suggested. Specify wakeup event action instead of irq trigger type as Brian suggested. Specify wakeup event action instead of irq trigger type as Brian suggested. Jeffy Chen (3): Input: gpio-keys - add support for wakeup event action Input: gpio-keys

[PATCH v3 3/3] arm64: dts: rockchip: Avoid wakeup when inserting the pen

2018-03-01 Thread Jeffy Chen
Add wakeup event action for Pen Insert gpio key, to avoid wakeup when inserting the pen. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- Changes in v3: None Changes in v2: Specify wakeup event action instead of irq trigger type as Brian suggested. arch/arm64/boot/dts/rockchip/

[PATCH v3 3/3] arm64: dts: rockchip: Avoid wakeup when inserting the pen

2018-03-01 Thread Jeffy Chen
Add wakeup event action for Pen Insert gpio key, to avoid wakeup when inserting the pen. Signed-off-by: Jeffy Chen --- Changes in v3: None Changes in v2: Specify wakeup event action instead of irq trigger type as Brian suggested. arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts | 2 ++ 1

[PATCH v3 2/3] Input: gpio-keys - allow setting wakeup event action in DT

2018-03-01 Thread Jeffy Chen
Allow specifying event actions to trigger wakeup when using the gpio-keys input device as a wakeup source. Reviewed-by: Rob Herring <r...@kernel.org> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- Changes in v3: None Changes in v2: Specify wakeup event action instead of

[PATCH v3 2/3] Input: gpio-keys - allow setting wakeup event action in DT

2018-03-01 Thread Jeffy Chen
Allow specifying event actions to trigger wakeup when using the gpio-keys input device as a wakeup source. Reviewed-by: Rob Herring Signed-off-by: Jeffy Chen --- Changes in v3: None Changes in v2: Specify wakeup event action instead of irq trigger type as Brian suggested. Documentation

[PATCH] mfd: syscon: Set name of regmap_config

2018-03-01 Thread Jeffy Chen
We are now allowing to register debugfs for syscon regmap, and not having a valid name will end up using "dummy" to create debugfs dir. Fixes: 9b947a13e7f6 ("regmap: use debugfs even when no device") Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- drivers/

[PATCH] mfd: syscon: Set name of regmap_config

2018-03-01 Thread Jeffy Chen
We are now allowing to register debugfs for syscon regmap, and not having a valid name will end up using "dummy" to create debugfs dir. Fixes: 9b947a13e7f6 ("regmap: use debugfs even when no device") Signed-off-by: Jeffy Chen --- drivers/mfd/syscon.c | 1 + 1 file changed,

[PATCH] iommu/omap: Increase group ref in .device_group()

2018-03-01 Thread Jeffy Chen
Increase group refcounting in omap_iommu_device_group(). Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- drivers/iommu/omap-iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c index e135ab

[PATCH] iommu/omap: Increase group ref in .device_group()

2018-03-01 Thread Jeffy Chen
Increase group refcounting in omap_iommu_device_group(). Signed-off-by: Jeffy Chen --- drivers/iommu/omap-iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c index e135ab830ebf..c33b7b104e72 100644 --- a/drivers

[RESEND PATCH v6 03/14] iommu/rockchip: Request irqs in rk_iommu_probe()

2018-03-01 Thread Jeffy Chen
Move request_irq to the end of rk_iommu_probe(). Suggested-by: Robin Murphy <robin.mur...@arm.com> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: Loop platform_get_irq() as Robin suggested. Changes

[RESEND PATCH v6 03/14] iommu/rockchip: Request irqs in rk_iommu_probe()

2018-03-01 Thread Jeffy Chen
Move request_irq to the end of rk_iommu_probe(). Suggested-by: Robin Murphy Signed-off-by: Jeffy Chen --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: Loop platform_get_irq() as Robin suggested. Changes in v2: None drivers/iommu/rockchip-iommu.c | 38

[RESEND PATCH v6 06/14] iommu/rockchip: Fix TLB flush of secondary IOMMUs

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa <tf...@chromium.org> Due to the bug in current code, only first IOMMU has the TLB lines flushed in rk_iommu_zap_lines. This patch fixes the inner loop to execute for all IOMMUs and properly flush the TLB. Signed-off-by: Tomasz Figa <tf...@chromium.org> Signed-off-by

[RESEND PATCH v6 06/14] iommu/rockchip: Fix TLB flush of secondary IOMMUs

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa Due to the bug in current code, only first IOMMU has the TLB lines flushed in rk_iommu_zap_lines. This patch fixes the inner loop to execute for all IOMMUs and properly flush the TLB. Signed-off-by: Tomasz Figa Signed-off-by: Jeffy Chen --- Changes in v6: None Changes in v5

[RESEND PATCH v6 08/14] iommu/rockchip: Control clocks needed to access the IOMMU

2018-03-01 Thread Jeffy Chen
he VB2 framework using DMA mapping API and doesn't engage the master driver at all. This patch fixes the problem by letting clocks needed for IOMMU operation to be listed in Device Tree and making the driver enable them for the time of accessing the hardware. Signed-off-by: Jeffy Chen <jeffy.

[RESEND PATCH v6 08/14] iommu/rockchip: Control clocks needed to access the IOMMU

2018-03-01 Thread Jeffy Chen
mapping API and doesn't engage the master driver at all. This patch fixes the problem by letting clocks needed for IOMMU operation to be listed in Device Tree and making the driver enable them for the time of accessing the hardware. Signed-off-by: Jeffy Chen Signed-off-by: Tomasz Figa Acked

[RESEND PATCH v6 09/14] dt-bindings: iommu/rockchip: Add clock property

2018-03-01 Thread Jeffy Chen
Add clock property, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None Documentation/devicetree/bindings/iommu/ro

[RESEND PATCH v6 09/14] dt-bindings: iommu/rockchip: Add clock property

2018-03-01 Thread Jeffy Chen
Add clock property, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None Documentation/devicetree/bindings/iommu/rockchip,iommu.txt | 7 +++ 1 file

[RESEND PATCH v6 13/14] iommu/rockchip: Add runtime PM support

2018-03-01 Thread Jeffy Chen
When the power domain is powered off, the IOMMU cannot be accessed and register programming must be deferred until the power domain becomes enabled. Add runtime PM support, and use runtime PM device link from IOMMU to master to startup and shutdown IOMMU. Signed-off-by: Jeffy Chen <jeff

[RESEND PATCH v6 13/14] iommu/rockchip: Add runtime PM support

2018-03-01 Thread Jeffy Chen
When the power domain is powered off, the IOMMU cannot be accessed and register programming must be deferred until the power domain becomes enabled. Add runtime PM support, and use runtime PM device link from IOMMU to master to startup and shutdown IOMMU. Signed-off-by: Jeffy Chen --- Changes

[RESEND PATCH v6 14/14] iommu/rockchip: Support sharing IOMMU between masters

2018-03-01 Thread Jeffy Chen
There would be some masters sharing the same IOMMU device. Put them in the same iommu group and share the same iommu domain. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Robin Murphy <robin.mur...@arm.com> --- Changes in v6: None Changes in v5: None Changes

[RESEND PATCH v6 14/14] iommu/rockchip: Support sharing IOMMU between masters

2018-03-01 Thread Jeffy Chen
There would be some masters sharing the same IOMMU device. Put them in the same iommu group and share the same iommu domain. Signed-off-by: Jeffy Chen Reviewed-by: Robin Murphy --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: Remove rk_iommudata->domain. Chan

[RESEND PATCH v6 12/14] iommu/rockchip: Fix error handling in init

2018-03-01 Thread Jeffy Chen
It's hard to undo bus_set_iommu() in the error path, so move it to the end of rk_iommu_probe(). Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> Reviewed-by: Robin Murphy <robin.mur...@arm.com> --- Changes in v6: None Changes i

[RESEND PATCH v6 12/14] iommu/rockchip: Fix error handling in init

2018-03-01 Thread Jeffy Chen
It's hard to undo bus_set_iommu() in the error path, so move it to the end of rk_iommu_probe(). Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa Reviewed-by: Robin Murphy --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: Move bus_set_iommu

[RESEND PATCH v6 11/14] iommu/rockchip: Use OF_IOMMU to attach devices automatically

2018-03-01 Thread Jeffy Chen
Converts the rockchip-iommu driver to use the OF_IOMMU infrastructure, which allows attaching master devices to their IOMMUs automatically according to DT properties. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Robin Murphy <robin.mur...@arm.com> --- Changes

[RESEND PATCH v6 11/14] iommu/rockchip: Use OF_IOMMU to attach devices automatically

2018-03-01 Thread Jeffy Chen
Converts the rockchip-iommu driver to use the OF_IOMMU infrastructure, which allows attaching master devices to their IOMMUs automatically according to DT properties. Signed-off-by: Jeffy Chen Reviewed-by: Robin Murphy --- Changes in v6: None Changes in v5: None Changes in v4: None Changes

[RESEND PATCH v6 07/14] ARM: dts: rockchip: add clocks in iommu nodes

2018-03-01 Thread Jeffy Chen
Add clocks in iommu nodes, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- Changes in v6: Add clk names, and modify all iommu nodes in all existing rockchip dts Changes in v5: Remove clk names. Changes in v4: None C

[RESEND PATCH v6 10/14] iommu/rockchip: Use IOMMU device for dma mapping operations

2018-03-01 Thread Jeffy Chen
Use the first registered IOMMU device for dma mapping operations, and drop the domain platform device. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> Reviewed-by: Robin Murphy <robin

[RESEND PATCH v6 05/14] iommu/rockchip: Use iopoll helpers to wait for hardware

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa <tf...@chromium.org> This patch converts the rockchip-iommu driver to use the in-kernel iopoll helpers to wait for certain status bits to change in registers instead of an open-coded custom macro. Signed-off-by: Tomasz Figa <tf...@chromium.org> Signed-off-by

[RESEND PATCH v6 10/14] iommu/rockchip: Use IOMMU device for dma mapping operations

2018-03-01 Thread Jeffy Chen
Use the first registered IOMMU device for dma mapping operations, and drop the domain platform device. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa Reviewed-by: Robin Murphy --- Changes in v6: None Changes in v5: None Changes in v4: None Changes

[RESEND PATCH v6 05/14] iommu/rockchip: Use iopoll helpers to wait for hardware

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa This patch converts the rockchip-iommu driver to use the in-kernel iopoll helpers to wait for certain status bits to change in registers instead of an open-coded custom macro. Signed-off-by: Tomasz Figa Signed-off-by: Jeffy Chen Reviewed-by: Robin Murphy --- Changes in v6

[RESEND PATCH v6 07/14] ARM: dts: rockchip: add clocks in iommu nodes

2018-03-01 Thread Jeffy Chen
Add clocks in iommu nodes, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen --- Changes in v6: Add clk names, and modify all iommu nodes in all existing rockchip dts Changes in v5: Remove clk names. Changes in v4: None Changes in v3: None Changes in v2

[RESEND PATCH v6 02/14] iommu/rockchip: Fix error handling in probe

2018-03-01 Thread Jeffy Chen
Add missing iommu_device_sysfs_remove in error path. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None drivers/iommu/rockchip

[RESEND PATCH v6 02/14] iommu/rockchip: Fix error handling in probe

2018-03-01 Thread Jeffy Chen
Add missing iommu_device_sysfs_remove in error path. Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None drivers/iommu/rockchip-iommu.c | 6 +- 1 file changed, 5 insertions(+), 1

[RESEND PATCH v6 04/14] iommu/rockchip: Fix error handling in attach

2018-03-01 Thread Jeffy Chen
z Figa <tf...@chromium.org> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Robin Murphy <robin.mur...@arm.com> --- Changes in v6: None Changes in v5: Use out labels to save the duplication between the error and success paths. Changes in v4: None Changes in v3:

[RESEND PATCH v6 04/14] iommu/rockchip: Fix error handling in attach

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa Currently if the driver encounters an error while attaching device, it will leave the IOMMU in an inconsistent state. Even though it shouldn't really happen in reality, let's just add proper error path to keep things consistent. Signed-off-by: Tomasz Figa Signed-off-by: Jeffy

[RESEND PATCH v6 01/14] iommu/rockchip: Prohibit unbind and remove

2018-03-01 Thread Jeffy Chen
Removal of IOMMUs cannot be done reliably. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> --- Changes in v6: None Changes in v5: None Changes in v4: Rewrite commit message. Changes in v3:

[RESEND PATCH v6 01/14] iommu/rockchip: Prohibit unbind and remove

2018-03-01 Thread Jeffy Chen
Removal of IOMMUs cannot be done reliably. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa --- Changes in v6: None Changes in v5: None Changes in v4: Rewrite commit message. Changes in v3: Also remove remove() and module_exit() as Tomasz suggested

[RESEND PATCH v6 00/14] iommu/rockchip: Use OF_IOMMU

2018-03-01 Thread Jeffy Chen
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 i

[RESEND PATCH v6 00/14] iommu/rockchip: Use OF_IOMMU

2018-03-01 Thread Jeffy Chen
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 i

[PATCH v6 01/14] iommu/rockchip: Prohibit unbind and remove

2018-03-01 Thread Jeffy Chen
Removal of IOMMUs cannot be done reliably. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> --- Changes in v6: None Changes in v5: None Changes in v4: Rewrite commit message. Changes in v3:

[PATCH v6 01/14] iommu/rockchip: Prohibit unbind and remove

2018-03-01 Thread Jeffy Chen
Removal of IOMMUs cannot be done reliably. This is similar to exynos iommu driver. Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa --- Changes in v6: None Changes in v5: None Changes in v4: Rewrite commit message. Changes in v3: Also remove remove() and module_exit() as Tomasz suggested

[PATCH v6 07/14] ARM: dts: rockchip: add clocks in iommu nodes

2018-03-01 Thread Jeffy Chen
Add clocks in iommu nodes, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- Changes in v6: Add clk names, and modify all iommu nodes in all existing rockchip dts Changes in v5: Remove clk names. Changes in v4: None C

[PATCH v6 07/14] ARM: dts: rockchip: add clocks in iommu nodes

2018-03-01 Thread Jeffy Chen
Add clocks in iommu nodes, since we are going to control clocks in rockchip iommu driver. Signed-off-by: Jeffy Chen --- Changes in v6: Add clk names, and modify all iommu nodes in all existing rockchip dts Changes in v5: Remove clk names. Changes in v4: None Changes in v3: None Changes in v2

[PATCH v6 06/14] iommu/rockchip: Fix TLB flush of secondary IOMMUs

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa <tf...@chromium.org> Due to the bug in current code, only first IOMMU has the TLB lines flushed in rk_iommu_zap_lines. This patch fixes the inner loop to execute for all IOMMUs and properly flush the TLB. Signed-off-by: Tomasz Figa <tf...@chromium.org> Signed-off-by

[PATCH v6 06/14] iommu/rockchip: Fix TLB flush of secondary IOMMUs

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa Due to the bug in current code, only first IOMMU has the TLB lines flushed in rk_iommu_zap_lines. This patch fixes the inner loop to execute for all IOMMUs and properly flush the TLB. Signed-off-by: Tomasz Figa Signed-off-by: Jeffy Chen --- Changes in v6: None Changes in v5

[PATCH v6 05/14] iommu/rockchip: Use iopoll helpers to wait for hardware

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa <tf...@chromium.org> This patch converts the rockchip-iommu driver to use the in-kernel iopoll helpers to wait for certain status bits to change in registers instead of an open-coded custom macro. Signed-off-by: Tomasz Figa <tf...@chromium.org> Signed-off-by

[PATCH v6 05/14] iommu/rockchip: Use iopoll helpers to wait for hardware

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa This patch converts the rockchip-iommu driver to use the in-kernel iopoll helpers to wait for certain status bits to change in registers instead of an open-coded custom macro. Signed-off-by: Tomasz Figa Signed-off-by: Jeffy Chen Reviewed-by: Robin Murphy --- Changes in v6

[PATCH v6 00/14] iommu/rockchip: Use OF_IOMMU

2018-03-01 Thread Jeffy Chen
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 i

[PATCH v6 00/14] iommu/rockchip: Use OF_IOMMU

2018-03-01 Thread Jeffy Chen
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 i

[PATCH v6 03/14] iommu/rockchip: Request irqs in rk_iommu_probe()

2018-03-01 Thread Jeffy Chen
Move request_irq to the end of rk_iommu_probe(). Suggested-by: Robin Murphy <robin.mur...@arm.com> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: Loop platform_get_irq() as Robin suggested. Changes

[PATCH v6 04/14] iommu/rockchip: Fix error handling in attach

2018-03-01 Thread Jeffy Chen
z Figa <tf...@chromium.org> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Robin Murphy <robin.mur...@arm.com> --- Changes in v6: None Changes in v5: Use out labels to save the duplication between the error and success paths. Changes in v4: None Changes in v3:

[PATCH v6 03/14] iommu/rockchip: Request irqs in rk_iommu_probe()

2018-03-01 Thread Jeffy Chen
Move request_irq to the end of rk_iommu_probe(). Suggested-by: Robin Murphy Signed-off-by: Jeffy Chen --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: Loop platform_get_irq() as Robin suggested. Changes in v2: None drivers/iommu/rockchip-iommu.c | 38

[PATCH v6 04/14] iommu/rockchip: Fix error handling in attach

2018-03-01 Thread Jeffy Chen
From: Tomasz Figa Currently if the driver encounters an error while attaching device, it will leave the IOMMU in an inconsistent state. Even though it shouldn't really happen in reality, let's just add proper error path to keep things consistent. Signed-off-by: Tomasz Figa Signed-off-by: Jeffy

[PATCH v6 02/14] iommu/rockchip: Fix error handling in probe

2018-03-01 Thread Jeffy Chen
Add missing iommu_device_sysfs_remove in error path. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> Reviewed-by: Tomasz Figa <tf...@chromium.org> --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None drivers/iommu/rockchip

[PATCH v6 02/14] iommu/rockchip: Fix error handling in probe

2018-03-01 Thread Jeffy Chen
Add missing iommu_device_sysfs_remove in error path. Signed-off-by: Jeffy Chen Reviewed-by: Tomasz Figa --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None drivers/iommu/rockchip-iommu.c | 6 +- 1 file changed, 5 insertions(+), 1

[PATCH] soc: rockchip: power-domain: use clk_bulk APIs

2018-02-28 Thread Jeffy Chen
Use clk_bulk APIs, and also add error handling for clk enable. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- drivers/soc/rockchip/pm_domains.c | 90 ++- 1 file changed, 42 insertions(+), 48 deletions(-) diff --git a/drivers/soc/ro

[PATCH] soc: rockchip: power-domain: use clk_bulk APIs

2018-02-28 Thread Jeffy Chen
Use clk_bulk APIs, and also add error handling for clk enable. Signed-off-by: Jeffy Chen --- drivers/soc/rockchip/pm_domains.c | 90 ++- 1 file changed, 42 insertions(+), 48 deletions(-) diff --git a/drivers/soc/rockchip/pm_domains.c b/drivers/soc/rockchip

[PATCH] soc: rockchip: power-domain: remove PM clocks

2018-02-28 Thread Jeffy Chen
) and chromebook kevin(rk3399). Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- drivers/soc/rockchip/pm_domains.c | 42 --- 1 file changed, 42 deletions(-) diff --git a/drivers/soc/rockchip/pm_domains.c b/drivers/soc/rockchip/pm_domains.c index 5c3421

[PATCH] soc: rockchip: power-domain: remove PM clocks

2018-02-28 Thread Jeffy Chen
) and chromebook kevin(rk3399). Signed-off-by: Jeffy Chen --- drivers/soc/rockchip/pm_domains.c | 42 --- 1 file changed, 42 deletions(-) diff --git a/drivers/soc/rockchip/pm_domains.c b/drivers/soc/rockchip/pm_domains.c index 5c342167b9db..39723ef6f7dc 100644

[RESEND PATCH v3] rtc: cros-ec: return -ETIME when refused to set alarms in the past

2018-02-26 Thread Jeffy Chen
as disabling alarms by the EC(EC_RTC_ALARM_CLEAR). This breaks, e.g., hwclock which relies on RTC_UIE_ON -> rtc_update_irq_enable(), which sets a 1-second alarm and expects it to fire an interrupt. So return -ETIME when the alarm is in the past, follow __rtc_set_alarm(). Signed-off-by: Jeffy Chen <j

[RESEND PATCH v3] rtc: cros-ec: return -ETIME when refused to set alarms in the past

2018-02-26 Thread Jeffy Chen
as disabling alarms by the EC(EC_RTC_ALARM_CLEAR). This breaks, e.g., hwclock which relies on RTC_UIE_ON -> rtc_update_irq_enable(), which sets a 1-second alarm and expects it to fire an interrupt. So return -ETIME when the alarm is in the past, follow __rtc_set_alarm(). Signed-off-by: Jeffy C

[PATCH v3] rtc: cros-ec: return -ETIME when refused to set alarms in the past

2018-02-26 Thread Jeffy Chen
as disabling alarms by the EC(EC_RTC_ALARM_CLEAR). This breaks, e.g., hwclock which relies on RTC_UIE_ON -> rtc_update_irq_enable(), which sets a 1-second alarm and expects it to fire an interrupt. So return -ETIME when the alarm is in the past, follow __rtc_set_alarm(). Signed-off-by: Jeffy Chen <j

[PATCH v3] rtc: cros-ec: return -ETIME when refused to set alarms in the past

2018-02-26 Thread Jeffy Chen
as disabling alarms by the EC(EC_RTC_ALARM_CLEAR). This breaks, e.g., hwclock which relies on RTC_UIE_ON -> rtc_update_irq_enable(), which sets a 1-second alarm and expects it to fire an interrupt. So return -ETIME when the alarm is in the past, follow __rtc_set_alarm(). Signed-off-by: Jeffy C

<    1   2   3   4   5   6   7   8   9   10   >