From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754114AbcAIKIr (ORCPT ); Sat, 9 Jan 2016 05:08:47 -0500 Received: from mr213139.mail.yeah.net ([223.252.213.139]:56982 "EHLO mr213139.mail.yeah.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752579AbcAIKIj (ORCPT ); Sat, 9 Jan 2016 05:08:39 -0500 X-Greylist: delayed 590 seconds by postgrey-1.27 at vger.kernel.org; Sat, 09 Jan 2016 05:08:39 EST Subject: Re: [PATCH 5/6] iommu/amd: Add support for non-pci devices To: Joerg Roedel References: <1451988444-4694-1-git-send-email-vincent.wan@amd.com> <1451988444-4694-6-git-send-email-vincent.wan@amd.com> <20160107120422.GB19149@8bytes.org> <20160108121855.GU18805@8bytes.org> <568FCD4B.4000807@iommu.org> <20160108170145.GW18805@8bytes.org> Cc: Wan Zongshun , linux-kernel , iommu@lists.linux-foundation.org, Ray Huang , Borislav Petkov , ken.xue@amd.com From: Wan Zongshun Message-ID: <5690D723.7020003@iommu.org> Date: Sat, 9 Jan 2016 17:47:15 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <20160108170145.GW18805@8bytes.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-HM-Spam-Status: e1koWUFPN1dZCBgUCR5ZQUpKVU9MQkJCQk5PSUlITUhJQ1dZCQ4XHghZQV koKz0kKzooKCQyNSQzPjo*PilBS1VLQDYjJCI#KCQyNSQzPjo*PilBS1VLQCsvKSQ1NCQyNSQzPj o*PilBS1VLQDg0LjUvKSIkODVBS1VLQCk#PDI0NSQ6KDI6QUtVS0ArKTQtMjU4PiQ5PjIxMjU8QU tVS0A*IjU6NjI4JDIrJDU0JDI1JDM#Oj8#KUFLVUtAKT46NyQyKyQyNSQpOTckMjUkMz46Pz4pQU pJVUtANi43LzIkKTgrLyQ*Mj09Pik#NS8kMjUkMz46Pz4pQUlVS0AyKyRISyQ2MjUuLz4kODUvJE skTktBS1VLQDIrJE4kNjI1Li8#JDg1LyRLJEpLQUtVS0AyKyRKJDM0LikkODUvJEskSktLQUtVS0 AyKyRKJDYyNS4vPiQ4NS8kSyRKS0FLVUtAMiskLzQ*OiIkODUvJEskSktLQUtVS0AoLjkxPjgvJE okMzQuKSQ4NS8kSyRKS0tBS1VLQCguOTE#OC8kLzQ*OiIkODUvJEskSktLQUtVS0AoLjkxPjgvJE 4kNjI1Li8#JDg1LyRLJEpLQUtVS0A9KyQpPiQ9LCQzNzEkS0NLSEtNQVZMVU5APTUkKC45JD41LD QpPygkMzcxJEpLS0lLSkFLVUlDQCguOSQ#QUpVTk5APTUkOTIvTCQzNzEkS0xKSUtJQUhVSk5APT UkNjoiJE9KQiQzNzEkSSRLQ0tIS09BS1VLWQY+ X-HM-Sender-Digest: e1kSHx4VD1lBWUc6MVE6MBw*NDo6PxE6GCo#CT44TTwwCj1VSlVKT05J SEhJQk9DT09MVTMWGhIXVQ0MOxIUFhYOVRQJHEVZV1kMHhlZQR0aFwgeV1kIAVlBSEpNTjdXWRIL WUFZSkpPVUpKSlVKTU1VT0hZBg++ X-HM-Tid: 0a5225ca1b6f7d8bb980b1c11d9 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org -------- Original Message -------- > On Fri, Jan 08, 2016 at 10:52:59PM +0800, Wan Zongshun wrote: >> Actually I am supposing the '.add_device' will be the first called >> in iommu initializing stage, so I think as long as having no error >> of check device here, any call-sites of get_device_id() will be >> fine, because adding device successfully should be the pre-condition >> of any iommu function can be performed, please correct me. >> >> static int amd_iommu_add_device(struct device *dev) >> { >> struct iommu_dev_data *dev_data; >> struct iommu_domain *domain; >> struct amd_iommu *iommu; >> u16 devid; >> int ret; >> >> if (!check_device(dev) || get_dev_data(dev)) >> return 0; >> >> devid = get_device_id(dev); >> iommu = amd_iommu_rlookup_table[devid]; > > There are places in the interrupt remapping code that call get_device_id > without calling check_device first. See get_irq_domain and get_devid. > Okay, I will change this get_device_id return to int, and judge this return value in caller of this function like get_devid style. If so we will modify some existing amd iommu driver codes, and Can I merge those into this patch 5/6? or I will create another dedicated patch to take this action? Vincent. > > Joerg > >