After the commit b34ea31fe013 ("iommu/mediatek: Always enable the clk on
resume"), the iommu clock is controlled by the runtime callback.
thus remove the clk control in the mtk_iommu_remove.
Otherwise, it will warning like:
echo 14018000.iommu > /sys/bus/platform/drivers/mtk-iommu/unbind
[ 51.413044] ------------[ cut here ]------------
[ 51.413648] vpp0_smi_iommu already disabled
[ 51.414233] WARNING: CPU: 2 PID: 157 at */v5.15-rc1/kernel/mediatek/
drivers/clk/clk.c:952 clk_core_disable+0xb0/0xb8
[ 51.417174] Hardware name: MT8195V/C(ENG) (DT)
[ 51.418635] pc : clk_core_disable+0xb0/0xb8
[ 51.419177] lr : clk_core_disable+0xb0/0xb8
...
[ 51.429375] Call trace:
[ 51.429694] clk_core_disable+0xb0/0xb8
[ 51.430193] clk_core_disable_lock+0x24/0x40
[ 51.430745] clk_disable+0x20/0x30
[ 51.431189] mtk_iommu_remove+0x58/0x118
[ 51.431705] platform_remove+0x28/0x60
[ 51.432197] device_release_driver_internal+0x110/0x1f0
[ 51.432873] device_driver_detach+0x18/0x28
[ 51.433418] unbind_store+0xd4/0x108
[ 51.433886] drv_attr_store+0x24/0x38
[ 51.434363] sysfs_kf_write+0x40/0x58
[ 51.434843] kernfs_fop_write_iter+0x164/0x1e0
Fixes: b34ea31fe013 ("iommu/mediatek: Always enable the clk on resume")
Reported-by: Hsin-Yi Wang <[email protected]>
Signed-off-by: Yong Wu <[email protected]>
---
drivers/iommu/mtk_iommu.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index 3e8f0164d26c..5c24e8e10a73 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -925,7 +925,6 @@ static int mtk_iommu_remove(struct platform_device *pdev)
if (iommu_present(&platform_bus_type))
bus_set_iommu(&platform_bus_type, NULL);
- clk_disable_unprepare(data->bclk);
device_link_remove(data->smicomm_dev, &pdev->dev);
pm_runtime_disable(&pdev->dev);
devm_free_irq(&pdev->dev, data->irq, data);
--
2.18.0
Il 23/09/21 13:58, Yong Wu ha scritto:
> After the commit b34ea31fe013 ("iommu/mediatek: Always enable the clk on
> resume"), the iommu clock is controlled by the runtime callback.
> thus remove the clk control in the mtk_iommu_remove.
>
> Otherwise, it will warning like:
>
> echo 14018000.iommu > /sys/bus/platform/drivers/mtk-iommu/unbind
>
> [ 51.413044] ------------[ cut here ]------------
> [ 51.413648] vpp0_smi_iommu already disabled
> [ 51.414233] WARNING: CPU: 2 PID: 157 at */v5.15-rc1/kernel/mediatek/
> drivers/clk/clk.c:952 clk_core_disable+0xb0/0xb8
> [ 51.417174] Hardware name: MT8195V/C(ENG) (DT)
> [ 51.418635] pc : clk_core_disable+0xb0/0xb8
> [ 51.419177] lr : clk_core_disable+0xb0/0xb8
> ...
> [ 51.429375] Call trace:
> [ 51.429694] clk_core_disable+0xb0/0xb8
> [ 51.430193] clk_core_disable_lock+0x24/0x40
> [ 51.430745] clk_disable+0x20/0x30
> [ 51.431189] mtk_iommu_remove+0x58/0x118
> [ 51.431705] platform_remove+0x28/0x60
> [ 51.432197] device_release_driver_internal+0x110/0x1f0
> [ 51.432873] device_driver_detach+0x18/0x28
> [ 51.433418] unbind_store+0xd4/0x108
> [ 51.433886] drv_attr_store+0x24/0x38
> [ 51.434363] sysfs_kf_write+0x40/0x58
> [ 51.434843] kernfs_fop_write_iter+0x164/0x1e0
>
> Fixes: b34ea31fe013 ("iommu/mediatek: Always enable the clk on resume")
> Reported-by: Hsin-Yi Wang <[email protected]>
> Signed-off-by: Yong Wu <[email protected]>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>