Re: [PATCH 0/8] iommu: Make core iommu-groups code more generic

From: Yong Wu
Date: Tue Dec 01 2015 - 06:30:45 EST


On Thu, 2015-11-19 at 14:41 +0100, Joerg Roedel wrote:
> Hi Yong Wu,
>
> On Thu, Nov 19, 2015 at 04:13:21PM +0800, Yong Wu wrote:
> > (151119_13:39:37.472)WARNING:
> > at /proj/mtk40525/upstreamdev/v4.4/kernel/mediatek/drivers/iommu/iommu.c:1154
> > (151119_13:39:37.472)Modules linked in:
> > (151119_13:39:37.472)CPU: 1 PID: 731 Comm: sh Not tainted 4.4.0-rc1+
> > #37
> > (151119_13:39:37.472)Hardware name: MediaTek MT8173 evaluation board
> > (DT)
> > (151119_13:39:37.472)task: ffffffc076bb4d00 ti: ffffffc076bdc000
> > task.ti: ffffffc076bdc000
> > (151119_13:39:37.472)PC is at iommu_detach_device+0x5c/0xb0
> > (151119_13:39:37.472)LR is at iommu_detach_device+0x30/0xb0
> > xxx
>
> This warning triggers when you use iommu_detach_device() with a device
> that is in a group with other devices. For those devices you must
> attach/detach the whole group of devices.
>
> For that you have to use iommu_detach_group() and iommu_attach_group().
>
>
> Joerg
>

Currently We have to use iommu_detach_group and iommu_attach_group.
Is there any plan for adding detach/attach the device within a iommu
group?

Why I ask this is because that:

There are 2 interfaces in MTK-SMI patch, named by
mtk_smi_larb_get/mtk_smi_larb_put which help enable/disable the
power-domain and clocks for each a device(local arbiter).
Take a example, VIDEO have to call mtk_smi_larb_get to enable its power
and clocks before it works and call mtk_smi_larb_put to disable them
after it work done.

If the iommu support attach/detach the device in a iommu-group, then
we could request VIDEO to call iommu_attach_device before it works(the
mtk_iommu_attach_device will call the smi interface to enable its power,
clocks and enable iommu).and call iommu_detach_device after it work
done. then the VIDEO could call iommu_attach_device/iommu_detach_device
instead of talking with SMI directly.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/