From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758006AbcDAFno (ORCPT ); Fri, 1 Apr 2016 01:43:44 -0400 Received: from mail-by2on0076.outbound.protection.outlook.com ([207.46.100.76]:52496 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753115AbcDAFnm (ORCPT ); Fri, 1 Apr 2016 01:43:42 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; 8bytes.org; dkim=none (message not signed) header.d=none;8bytes.org; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0O4XWJ3-08-O03-02 X-M-MSG: From: Wan Zongshun To: Joerg Roedel , CC: Suravee Suthikulpanit , Borislav Petkov , Ray Huang , , , , Wan Zongshun Subject: [PATCH V3 0/9] iommu/amd: enable ACPI hardware ID device support Date: Fri, 1 Apr 2016 09:05:56 -0400 Message-ID: <1459515965-2865-1-git-send-email-vincent.wan@amd.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(243025005)(199003)(189002)(189998001)(5001770100001)(48376002)(101416001)(106466001)(50986999)(33646002)(19580395003)(229853001)(77096005)(105586002)(47776003)(15975445007)(87936001)(19580405001)(86362001)(50466002)(5003600100002)(2906002)(50226001)(11100500001)(5003940100001)(5008740100001)(1220700001)(1096002)(81166005)(36756003)(53416004)(586003)(4326007)(92566002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0854;H:atltwp02.amd.com;FPR:;SPF:None;MLV:sfv;A:1;MX:1;LANG:en; X-MS-Office365-Filtering-Correlation-Id: 2c7404f1-9abb-4aae-953d-08d359ee70b6 X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0854;2:zvzZDNpFjOGSRm52qVLN5FHZ0JeLr9F4mXiYhHyUoAxA2obavsg7+dIP5qlZ0O/0dfgdLXfekogCwG/qX3WxkTaZWTYpVbWWjOnu6iQqRYfTAoy12yrmY3Dhgz28Na/WBpzVS+piM3xtTOkHVrsRYK2Lv21e03qqoPRVjYn1bz4RfbSKaWgtytMHPF9c59mv;3:I0ZuGc8HRU1O3DpObJTUi7yagX/K7bQVVW/P+oKCaUc/PmLjbeGYJB8gROcNvHKA/8PzemawVK/IWgniNwv/Hl+C1CauJYWLIpoFnprJCvFmw12FJCDK2kPmC2o4CtNqexRIeZqQzUqv5UXqn+n5mxwJRCF4Y6HA7t2lBqaJJs0sdUG49F5N11qUGYDarmcF0PC43lMt3/JtGgHzUhf2ulSkZBocie/3/cOF63SwKkQ=;25:FE2YkRwj+3T/dtMgP2mUDhTD7IN4VDAKHzNxtBEYoz0/s3HYD2TZWaFbWwiT3RTIu9f+YZD5/v72TePfG/7C0yCZZypQcxlnry4DVDoeJWDrE9ZO30+xkRCQCAlx9KFHc7PDi9qZ7MRPoxB1b43GjSYTCxZw/GS/RUrG0e12D4llZPC/VgCKACO0TYEfjIyR62+vpidGiEtQHSvw8moYfqHs40QL1AUP6S/x171eI5EJrgDPdrqBHz/VdcnZJcChWUF57CEhM4mKaPBWFCEnJCSyCU2Nhrw8B0GWdtZd2JCaqZerkvJFjdN8beByXzwki6kdFDdSUXh+XlkRxw6Gy6ORROOvABz/TrpFv+7p+HI= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0854; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0854;20:3c+HsBJuS9NCy3MnFR6YvdBxPL+tLn6iId0bYCZgNT82V807R4/9QeCxkxw1m7xgBhZPtqmM21UUffff/kMj3z4GyM7ZdTs+TTkF/N/N+mnZDpqxfEtM8R7mBQ3lyzV6uAG6obUZeEsWTo7hrPBoqxuviuwkY9aF/dQm+yWTzjKk/ispXXEqmtqMDmE98TAiOYsxT6xyyipTF0xrsULcTtDOxTRQyFdFhtVa2mtNokFy0Aboj7wJeVCGQBi5Hy/WwSlWDf82CWwVvYTrv6k+WHtu7EOvC1B7zSSzFV/4+3nRKAekC2YxgIgve/Nf58D7vzFtUUJuLD+aHzQ13cJJZaVpWUYUry6+p6lOAn3NekMskgexYjjGkz5s1BzsSnVWueTDBp96NWxJTZvvfJhJgQooaWZlP8LA86K5sSpqeCfT3fggHgtfaOxihKyeFlozqXaWiV/5cNpCWq0sOM1cmzaP2wCjjkcdO/IkCzSghdG8YUg9QHun5wkuYmiU35h0 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13015025)(13018025)(13024025)(5005006)(8121501046)(13017025)(13023025)(10201501046)(3002001);SRVR:CY1PR12MB0854;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0854; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0854;4:LN3PjO9uBHZGmCeuswSXnHFa32McN0d1kgXy+XX2DxN0MgKljC+t+HCY6ynL4VguMYj6J7POE+FanHPHElj7t6ZtylaqTpsrkUYIshNIQ4DUqBPGSrDFoIeQgOLybzqZsZ2N5K90QMLY1yxFogyi1sXySgT06ikNxosFk0nBuBkE1UMc92QMZopAHaqUo0KvI6q4yz42UPERR87iUpYWrgnkNDMJqQJFCoj9imKZ4eUGsx24N0csfc5LqFzKP5py/ZlpQyoe8fBM3OTVV+uX8xUZic/yX6Fh/2QBESIQq3QjV/GcbhmU6ceaKGqx/EVNxXig2u5YKAqByamcnCmTj4RJPMOOl9/rLHVPbQkcyAyEk2tAtNSPGuN4RRXqRRi/sazJCv1R7TF9Af+BZ3XuS3GGTTlbPg7cGexmjOUGdPDJWJglZwmuE+4ARdpqq0RwD41b9/PBcmCqgXajuBfE1A== X-Forefront-PRVS: 0899B47777 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR12MB0854;23:WKDz65agbDIvPmxXK3pzSfvxoCRSAXYIKJk4FqqzT?= =?us-ascii?Q?TfYOE3kYI3dKaaV50xlbaffzrP8mEk80cCTpHojFPWqOMwybhHtOps+1CBSO?= =?us-ascii?Q?vjh8AeJZGYTyQxyfJD4kE8ClZXrgQYWLHuUSfGyRaD/ZtTyEAFpO1VJbIDES?= =?us-ascii?Q?GYz7yVMIyHxitjq8X5H10V2UWudx4LKUHUCNsp+4k0gVSJW4zYf1doelsY6g?= =?us-ascii?Q?OG/g/XP+1ppEuq4miSUv2In3/snA0JZbsc1D1cDhTMSLO9pIfAafW7z0WDqV?= =?us-ascii?Q?evCRLp99uwNJVpBWV3f966cKkD9id2m3E31ejwCnwXHqxtYsYEUGGrGXjXRi?= =?us-ascii?Q?P5eWtR3hRZIMzuzZZXuMoYsbXoKSrTUXDr/TjoC4WlNiK517d01FmSTcypPp?= =?us-ascii?Q?stA5xl1vvN5T063+xkt6bCOQm3e5LQP0KWfJ+9Azsi5NDegdV5htlMKjSXJz?= =?us-ascii?Q?mS/KIysjswcpkNMvhQ7k+j3giWznnqfuXZV4rBuehRjVdWhyxTx9p1snzgM1?= =?us-ascii?Q?uV+hPwScrSEufSl38+Mbxx4n9vQW/IC3wkwy08DBzqEyGWENI0GAn2XW9sO5?= =?us-ascii?Q?mRPQLjgDcPyvwWFxB/jMywRbpKTD0RxmnFzlobZwXJw3RXdKjGXaZFNiOF/8?= =?us-ascii?Q?d+IhbQ7nHVl86/0zdX58vPaJbt6AzGe4UK3H94isuBXfLE9Bj6uZi5EPfC5n?= =?us-ascii?Q?UAMcqD7IlwXOZGYLCFM+euhMOFh7NQNggu8r6WjlK/qB5B2clrY/igAqqyPR?= =?us-ascii?Q?7uU5UlWfCIY1KlOVcd8l5CTN91IXPjVjeytkqpqhuAFYER6vIjrHhpHi2XD2?= =?us-ascii?Q?e8aRcvucfVAJ/w6sZxdLg4GnZytjSFPlI3Xp8nAtPXiwCxpj0tMB0kHF1JuA?= =?us-ascii?Q?1bkzlMFCA+2COTwt/ntBcz2CsLYaNcRP+BSxYwsIWtylMcQ4zRjC0U/h0NcA?= =?us-ascii?Q?gCC028AOAj+Xm+COpdfcS/4e4pC6bdOkLujLAk6y68OVvnMzABwXwfGxrhKq?= =?us-ascii?Q?vfikioHMLB9FM66hKNOg+/s?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0854;5:JtdHXBTTvc5y1UnpgEkn7+cAubqD+gZok5/58/l7So664kdGDQnhU4tHRXtcgl3C1Bpn3vgJFNC8ICarJAilrn9ySBcRRyW/R+fpnfMChwKEEr74QWdYKAY47N/H3JwnSJRV04ZKANlZOfN2O/QmXg==;24:FYsMF8pjLqoRbXH97cdLYya+XnTXawhoO3Sx6Wcye3erkC8esW1lJzt0VpOxS8zvq/bb4P0ArpY2zQTMcIKUXZMCmzZjX78D/hDSvKdNpW4=;20:xoOfpwex0adbnLLn6JHT6pHzsJczIiZrA63pu0ZqFGFNfY/wIOoodgKbeOygkcYP5J21/LJBB9+T6eqINKxZvvk2np0U3r1rDM9XKa+st1BNBenwi5Al8M/u3NcuJgk6qnYF6lzN8sWnVfFxGnVKxFGhqTAuQEoFhjHM/F1jNn0FLt/1R7tfL101dtJ3RKmR7hSsAWcnuN8+FdX80/+XEgFmiCOq/3r7MC6lO0KLt81PKwxMZ6QVfJ4S9b1Ql05p SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2016 05:28:20.9505 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0854 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wan Zongshun There are some devices indentified using ACPI HID format in AMD chip. This patch series enable iommu support for those ACPI HID device, since the existing AMD iommu only supports PCI bus based device. The latest public version of AMD IOMMU specification that describes the support for IVHD type 40h and ACPI HID IVHD device type, implemented by this patch series, is available here: http://support.amd.com/TechDocs/48882_IOMMU.pdf The V2 added two new patches: patch 5 and patch 8 according to Joerg's comments, there is a little modification in patch 6 to distinguish pci and none pci. The V3 added the fix for the booting issue Joerg experienced on the CZ platform due to the IOMMU performance counter init code. Suravee Suthikulpanit (4): iommu/amd: Adding Extended Feature Register check for PC support iommu/amd: Modify ivhd_header structure to support type 11h and 40h iommu/amd: Use the most comprehensive IVHD type that the driver can support iommu/amd: Introduces ivrs_acpihid kernel parameter Wan Zongshun (5): iommu/amd: Add new map for storing IVHD dev entry type HID iommu/amd: Make call-sites of get_device_id aware of its return value iommu/amd: Add iommu support for ACPI HID devices iommu/amd: Manage iommu_group for ACPI HID devices iommu/amd: Set AMD iommu callbacks for amba bus Documentation/kernel-parameters.txt | 7 + drivers/iommu/amd_iommu.c | 167 +++++++++++++++--- drivers/iommu/amd_iommu_init.c | 329 +++++++++++++++++++++++++++++++----- drivers/iommu/amd_iommu_types.h | 14 ++ 4 files changed, 457 insertions(+), 60 deletions(-) -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wan Zongshun Subject: [PATCH V3 0/9] iommu/amd: enable ACPI hardware ID device support Date: Fri, 1 Apr 2016 09:05:56 -0400 Message-ID: <1459515965-2865-1-git-send-email-vincent.wan@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Joerg Roedel , iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Wan Zongshun , Ray Huang , Borislav Petkov List-Id: iommu@lists.linux-foundation.org From: Wan Zongshun There are some devices indentified using ACPI HID format in AMD chip. This patch series enable iommu support for those ACPI HID device, since the existing AMD iommu only supports PCI bus based device. The latest public version of AMD IOMMU specification that describes the support for IVHD type 40h and ACPI HID IVHD device type, implemented by this patch series, is available here: http://support.amd.com/TechDocs/48882_IOMMU.pdf The V2 added two new patches: patch 5 and patch 8 according to Joerg's comments, there is a little modification in patch 6 to distinguish pci and none pci. The V3 added the fix for the booting issue Joerg experienced on the CZ platform due to the IOMMU performance counter init code. Suravee Suthikulpanit (4): iommu/amd: Adding Extended Feature Register check for PC support iommu/amd: Modify ivhd_header structure to support type 11h and 40h iommu/amd: Use the most comprehensive IVHD type that the driver can support iommu/amd: Introduces ivrs_acpihid kernel parameter Wan Zongshun (5): iommu/amd: Add new map for storing IVHD dev entry type HID iommu/amd: Make call-sites of get_device_id aware of its return value iommu/amd: Add iommu support for ACPI HID devices iommu/amd: Manage iommu_group for ACPI HID devices iommu/amd: Set AMD iommu callbacks for amba bus Documentation/kernel-parameters.txt | 7 + drivers/iommu/amd_iommu.c | 167 +++++++++++++++--- drivers/iommu/amd_iommu_init.c | 329 +++++++++++++++++++++++++++++++----- drivers/iommu/amd_iommu_types.h | 14 ++ 4 files changed, 457 insertions(+), 60 deletions(-) -- 1.9.1