Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754631AbbLPGUQ (ORCPT ); Wed, 16 Dec 2015 01:20:16 -0500 Received: from mail-bn1on0082.outbound.protection.outlook.com ([157.56.110.82]:4640 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753989AbbLPGUO (ORCPT ); Wed, 16 Dec 2015 01:20:14 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Subject: Re: [PATCH] iommu/amd: Assign default IOMMU when there is only one IOMMU To: Joerg Roedel References: <1449874478-31770-1-git-send-email-Suravee.Suthikulpanit@amd.com> <20151214150805.GE11292@8bytes.org> CC: , From: Suravee Suthikulpanit Message-ID: <56710293.6010701@amd.com> Date: Wed, 16 Dec 2015 00:20:03 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <20151214150805.GE11292@8bytes.org> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.84.1] X-ClientProxiedBy: BY1PR14CA0021.namprd14.prod.outlook.com (25.161.91.31) To SN1PR12MB0446.namprd12.prod.outlook.com (25.162.105.14) X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0446;2:u65iRFlO6rAQiCNM1xQeGh3Bfj5qgIHIOJWWm4fVHoamLLCDBFvhpTIeWFXeqTqZxkeRU5W7CGyA3PbDmmvOJf5G744QBBxU9PbB5XptZ2xVqWggMdWhltvaYZf5a3Nt91ZboaABumGWWx+x1z4KHg==;3:aQmyvPGgfublFO3lPN+59k4ErE55oZ9+unNFaYH6+IQM9yGHhBR7aHwP7IeXOYtllSgo44h5Xkf4OkYqvrcJA0jsNxQMXtTFXZaHu1/On19CGtvB0ic+Xsp7RR7Hzuyc;25:MH2rRIxcaomog6Yc5iIwcjpBvnlJtfGOXD1mUJfNL0FXCqVVhpcnn+ew6y8KGua/CO+u2tbbtRXYZZlERqfEg3s0n9yze+/xRasByy2BHbtgJtMTWYH6OTiTJtUXNJfVlLd78KqPtfZWs6UiNvOHPUOKvDrjbODVcj7DzGU4GrXTPel8ceMA7Umu5HmaiGRrn2THBICSDlZXmF9Q6mc9k4Cdd1Z10QSFsiOyie6eggt4PZ672QV4U6e6OZ+5/kwLLQ57KD6Z1zFfraBzn69dpw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0446; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0446;20:hqMovl4sJHq63p3dDULfw5xyiXsoZz2I9FFeZ2yxeHRGAj2t3j70tpuZ3zigzcP8/sO3y6hY/6Uj2JVUnUWbc9wG/5cI4tNStFhf2N70OutSr1IMfcP5jmeo3vDVM7dWEvorqsdqelcc+YBKEamkBahlF2chrxCykHdHzhL8UJTf/tvMzDNdrEfC2MYqDybOBwsHKewofNK5lSjaD19R9i2GuX/da1IGgeSxWDw55kTlfRzjqrG4Emrc8IRk6h1HyTeWrAakKt/uHYH0toxY1jUkmrs6risI1YJ/LJGPQbM2QBPZjyCRI/cemtf0KFuGr3YQtGEE8C9bVdibYlgXjBrIbOdM4sx352hB+rwRcAF/LAq9mii3ABI1ANFSxrh5OkNy845oTyCX60xFdoUg3uSsOwPXkqRIqsjGyrk5v4sm0IKJBdsosffnp89+2DeFfTEk9essCCT7ctJ4KtJ/Tpx45OvvSa5rjp6WGslLx/08t6DZUI7PdmP/Uvxs5jt1;4:C/ecOu3pvNjTYqn/iRJiitmTiDky3IoCjTT9IzG4f3oflfZqOWw4TZWRuqKviKqJBKmDHo5DTnlR7DsLFEtls4wDNifPU8lPuwbegqlvNMhTbCLb9aIYLtL9TkBD1DnSdSKryomH6I13OMSVnKju7RxmEYo5mmAVK1N5fQMlkA820aHf1rJQgLXaVBVOUjhEDdAu2nLTl0NL1AFPoutFvmywj2VhCcxBmTHabsZGiPaJx4BkG4j3ZJzkrmVASfTEIXYo+2g1dwKYjQ9q4Gssm4WR1CR/81uW28DFug3BPs3lzdodjSl8eLVNr6rEJuhQgXtKFXcL47ZwF/vwU0viaU65EP4Qbkr0ZqGmTiuZ9K+yFANhDQDbnzprsmaD72HV X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046);SRVR:SN1PR12MB0446;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0446; X-Forefront-PRVS: 0792DBEAD0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(6009001)(479174004)(24454002)(199003)(377454003)(164054003)(189002)(59896002)(101416001)(47776003)(117636001)(105586002)(42186005)(1096002)(3846002)(87976001)(2950100001)(586003)(92566002)(23746002)(65816999)(86362001)(83506001)(50466002)(97736004)(106356001)(77096005)(5001960100002)(65806001)(64126003)(65956001)(189998001)(6116002)(54356999)(66066001)(110136002)(50986999)(87266999)(81156007)(36756003)(99136001)(40100003)(76176999)(5008740100001)(5004730100002)(4001350100001)(122386002)(230700001)(62816006);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0446;H:[10.254.166.99];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;SN1PR12MB0446;23:SA1AmW7KaUW7aAIr4wDe9YO6Sat9c0vGtgGvY?= =?Windows-1252?Q?cC4CUpxylIiphyMooEZc0e9dcIs09gOvMvYoz7NMBsLV3iPqh+xg58em?= =?Windows-1252?Q?ADjQB5tYswGzNQjCWf1NT5IWCbVsNUj5zihegL2ZFUrbLMSvnK/TyOKK?= =?Windows-1252?Q?sj2wp9OlZdLdakAhe/udcSpbpcRfBi3IDOKbNJpDX6TkdrUvaCWjiwD2?= =?Windows-1252?Q?s3xtEphB22XEoTCNGld38giKCfR8uoqFoFruKxJaoZWWOQq1tn/f0xvw?= =?Windows-1252?Q?f9XhgCrPBy0+6mlixZbxyRaNnwvSrvsTPWN0pZFl6sVpEO0VUF3MVyOZ?= =?Windows-1252?Q?pUPeDSnPsskA4sHsVmQd6A7F+pJqrq+1PTL0ToWOyHT7mpCLzhPnCDPp?= =?Windows-1252?Q?jt/+zDO1xm/WywBxR48JwOAEEA9c1Y+uJMWlzFz8zk6g849SlBTstetw?= =?Windows-1252?Q?7t+upjEfu/JE0xQ1j8gA6k9h8Z2CJ9azYv9bXiIJ3ABNh8Az/RZHaTsx?= =?Windows-1252?Q?ne/C18ruvRd7tdFNnncS9jRczBvd4+KqCx3s4uVajYQWk52BxZ9sfuUz?= =?Windows-1252?Q?1wILVecQwgOVynIvtVolW8zr/pI6xZR6OCwGe3pEwskNfeL6bcm8gKMa?= =?Windows-1252?Q?nIZWf6NGRDhjR+9pA3Wwy8sPzT6jaBtPy+fOekAvMbvOfkUMKX2K/iIG?= =?Windows-1252?Q?JHJUospGif9nQigaaCNsxJ+Yp9UnNZrVboShwXz+RiWFkjWEpPhtAZsz?= =?Windows-1252?Q?ZQ60djKH20jfhKJkHHWoLWuWWZ3Q6tpwVti3dtbz5+36C1FeCN3cKkhW?= =?Windows-1252?Q?jl+XKUImIUu2FSWKMeub2qFg3kaBiLnX2jHv1FnqLBIU1gnX3k2L/xtc?= =?Windows-1252?Q?Et7ifw0bkMgbqI9gehb79sPOOmHtotJOuUZbr73LTgwGBDmIxwzpln2o?= =?Windows-1252?Q?i8JjYbR+XIh+Mx+5G1smg4Ej+iCRFkBnWKpN2qyFBonb2kJrw36NRFdv?= =?Windows-1252?Q?DghL8tfL+kY1nw6WNRfhZK82nwvMBHKqoR2bDCRN+2PqYF5FQYe6280i?= =?Windows-1252?Q?guPBtGS6MGily2Z+eoGXy7jZUsmGsQ2zZRwfYea8VEaRT0FvUbyBRPYW?= =?Windows-1252?Q?xBzz9ghBYbHuZBqpxvm0nFpZaMb9TyaImWR4riNBVohDjb+CW1f+yUKk?= =?Windows-1252?Q?eM90xt5gCKpRPg3UFM21CI0QxmgnyfGJB+CCitnAACs7RukiUtKU9ECI?= =?Windows-1252?Q?qYQM9aENpHWMOmBn8w2LA3aatYfEN180jjjCTm7rzEgA12EvbS9smnKU?= =?Windows-1252?Q?szIfPs/yVukpu46mtvMr3hF+Y1IsBoMdTUeDmMHLCmlcehZBlCjpqGsq?= =?Windows-1252?Q?aELNJxqWgMz?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0446;5:gJ6kzLq+m3eXsTDYXbaGQjKC002HV2M15cJOeuTV+PPf2qFWSFdE9XGvlm8ENltJN7iLVwbxpIIT4T3SgV9smm2qbPCwzyq1RIJHBRmKsfck8h29hRiusB1uUKwbCqjqVUKvy6kO6CRj0t5vyJpHCg==;24:Vl+H0b3nqy8KdQMjEy+4nfbF60L1msWnPsMRfitNiKb9lhM7OFDl6hOAz31NbyZG/zAXSLTxWZsMD1ErJQm0/7pNd1RqIIHOQyeQnQ4JPBo=;20:72wCe/4ZD6Y6ztGPUKOhtzyNCBya+eAJDYRJ0wFqUYanVuT4v1IcQD8pAEbe/F4XRk5breAZzIw6S6MMs3zcjjPF7xtBcS37uaRmYCKr+l7Q2ZdIbhzkVwvKYfP+PD6lRWzunnC7701G70Bx2bXQOLJ8oj8ZLISSJ047YcEV4DZtyixmMX/rPRUwHhj4N5M/sgliutA698THjnf6dbMkwp4MJZxLggi6d2lq6VNsPxY0qnH2vNnAO1Sc/4K1h2D5 SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2015 06:20:10.3697 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0446 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4035 Lines: 88 Hi Joerg, On 12/14/2015 09:08 AM, Joerg Roedel wrote: > On Fri, Dec 11, 2015 at 04:54:38PM -0600, Suravee Suthikulpanit wrote: >> Current driver makes assumption that device with devid zero is always >> included in the range of devices to be managed by IOMMU. However, >> certain FW does not include devid zero in IVRS table. >> This has caused IOMMU perf driver to fail to initialize. > > Hmm, this is a firmware bug. Is this bug seen in any systems that are > for sale? > >> This patch implements a workaround for this case by always assign >> devid zero to be handled by the first IOMMU. > > Otherwise its better to fix the firmware than to add workarounds. > > > Joerg > Please correct me if I am wrong. But I don't think this is necessary a bug in the FW. From the CZ system, here are the IVHD device entry dump that belong to this IOMMU: [ 0.070351] AMD-Vi: device: 00:00.2 cap: 0040 seg: 0 flags: b8 info 0000 [ 0.070354] AMD-Vi: mmio-addr: 00000000feb80000 [ 0.070384] AMD-Vi: DEV_SELECT_RANGE_START devid: 00:01.0 flags: 00 [ 0.070386] AMD-Vi: DEV_RANGE_END devid: ff:1f.6 [ 0.071414] AMD-Vi: DEV_ALIAS_RANGE devid: ff:00.0 flags: 00 devid_to: 00:14.4 [ 0.071417] AMD-Vi: DEV_RANGE_END devid: ff:1f.7 [ 0.071423] AMD-Vi: DEV_SPECIAL(HPET[0]) devid: 00:14.0 [ 0.071426] AMD-Vi: DEV_SPECIAL(IOAPIC[0]) devid: 00:14.0 [ 0.071427] AMD-Vi: DEV_SPECIAL(IOAPIC[1]) devid: 00:00.1 And here is the output from lspci: 00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1576 00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Device 1577 00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 9874 (rev c4) 00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 9840 00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157b 00:02.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 157c 00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157b 00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 157c 00:08.0 Encryption controller: Advanced Micro Devices, Inc. [AMD] Device 1578 00:09.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157d 00:09.2 Audio device: Advanced Micro Devices, Inc. [AMD] Device 157a 00:10.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller (rev 20) 00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 49) 00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 49) 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 4a) 00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 11) 00:14.7 SD Host controller: Advanced Micro Devices, Inc. [AMD] FCH SD Flash Controller (rev 01) 00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1570 00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1571 00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1572 00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1573 00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1574 00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1575 01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe 01:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe 02:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) 02:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) The IVHD seems valid. We should not need to include from devid 0 if it has already specified the IOAPIC[1] separately. Thanks, Suravee -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/