From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756133AbbLALam (ORCPT ); Tue, 1 Dec 2015 06:30:42 -0500 Received: from mailgw01.mediatek.com ([218.249.47.110]:9545 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1755286AbbLAL35 (ORCPT ); Tue, 1 Dec 2015 06:29:57 -0500 X-Listener-Flag: 11101 Message-ID: <1448969391.32066.28.camel@mhfsdcap03> Subject: Re: [PATCH 0/8] iommu: Make core iommu-groups code more generic From: Yong Wu To: Joerg Roedel CC: , Will Deacon , , , , Daniel Kurtz , Tomasz Figa , , Matthias Brugger Date: Tue, 1 Dec 2015 19:29:51 +0800 In-Reply-To: <20151119134114.GC2064@8bytes.org> References: <1445464303-18206-1-git-send-email-joro@8bytes.org> <1447920801.27650.49.camel@mhfsdcap03> <20151119134114.GC2064@8bytes.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-MTK: N Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.