From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966329AbcAZPge (ORCPT ); Tue, 26 Jan 2016 10:36:34 -0500 Received: from mail-bl2on0069.outbound.protection.outlook.com ([65.55.169.69]:51168 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756480AbcAZPgb (ORCPT ); Tue, 26 Jan 2016 10:36:31 -0500 Authentication-Results: spf=none (sender IP is 165.204.84.221) 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: 0O1KGOQ-07-8SS-02 X-M-MSG: From: Wan Zongshun To: Joerg Roedel , CC: Suravee Suthikulpanit , Borislav Petkov , Ray Huang , , , , , "Wan Zongshun" Subject: [PATCH V2 0/8] iommu/amd: enable ACPI hardware ID device support Date: Tue, 26 Jan 2016 18:14:29 -0500 Message-ID: <1453850077-2539-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.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(189002)(243025005)(199003)(4326007)(53416004)(19580405001)(50466002)(87936001)(2906002)(5001770100001)(92566002)(33646002)(86362001)(50226001)(1220700001)(1096002)(77096005)(11100500001)(229853001)(15975445007)(106466001)(19580395003)(48376002)(189998001)(97736004)(47776003)(36756003)(5003940100001)(586003)(5008740100001)(50986999)(105586002)(5003600100002)(101416001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0863;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0863;2:keoh+FsZ3Dr30C4piKkcqOe9p1Mkc8MjPFpdJO3bUwnZwxsbWNRtKfhVIzJVYz3anRrqIQMFUrwFhKtJS/Qw1YwzzKd02RTSU0gE3OJqRepmo4kabTKSHMCHprxK+HW9bJwWTLEgj/9sjlk5gaM9Nw==;3:w3zPj4XEonxdbzB7oySdny6gkXYhXlt61Db/iGGANjxhyNu4UzEkHCtrtnpOzJff+fbcVwV3rW0fK8Srj1nZrGEqO1VdXWFd9siUYQtxtKy1G8jzm+Y7YXc+aW114NZtxRke78WP6rt17kL+mHjjtBN4sBENOuoC0cMmuGhnb6aICHcc/TAGPJ0EknWm6VFP5X0UYtPCgWG/RLY98WIZhFQCbt7CAJrRPoW9tXwkbTM=;25:M+XBzp3OPV1f+dP5ApjHTrHsEkrPMwXd6bLwkTydd+0u6AXoZ7NnUj8RMwRFGEdl3uJv+HHcurXsl/a2bLNRzJVNtx50Y6tISHFj5sUYejs8VY8EI1/dhc8eV0ioyu4y/TQk6lL2qHsXs2rRkrnnvsp00r7MO7A/kD1xeLoXNqXAvJvxQosiIXx/oP80z+VBQRlLEjJHZMoynw4dTecwGtJFVtNgjY7Ki/OrVZZOqJ+fyxduc6HQxmVKL6M9sIAs X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0863; X-MS-Office365-Filtering-Correlation-Id: fb7a0e60-2f30-4b43-d644-08d3266674c9 X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0863;20:/ceNnNbmqUmZo/PYXQZSmYhP9AczEyR40BuUCBYk6++xkfMOROScP9xH4UGKlSZhoLRCVB2MmPLvH9F+MlLwBM6sUAM8SuU6Luiwue+F3vRKDgjvMOhqfDto/KiEIUKp5FhIvdL6xBQ9YNkdxKsLd52bI1wmgxGV5jnuRI4greTna9/PWY/2iBjKbIIUB1cxxbWu5QWYus+PIOad0LGRFnjp/S32SXN/LCH6GCqrUH9geZKckMGovRQWrIcqzUF2qtJ61tMyrlF4MaiXjbowalIKUSF8kR6oevOOphcnsef50wIOH4ai4nIPbvQVsOWT39wlduZZs4kzJShN8/HF9v7OPTkN2D3blQO4mEsY/Hx3by0xr0Uof/0Kegf6KRaaxVsjGzvJq6LbTs1bVRGsl3MOcGAzl+eBWGlwYVzkXVU5TlK1zG2J7fnEiVM79uD8wvKKrE8m4dfRwUa0IY6vBtGea5+Ziu45VxyKvVx8hKyMKwgUIHKmisx64idvsqWQ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(123027)(601004)(2401047)(13018025)(13024025)(13015025)(5005006)(13023025)(13017025)(520078)(8121501046)(3002001)(10201501046);SRVR:SN1PR12MB0863;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0863; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0863;4:HTcK4DxnXQmFgESsylWptII/YtymGkCuCErGNhy5YLeYCzByP4TpcTQqTfjzGG4cKa6mH8DWz+ARoE4yrXpnKXZxMwvFycRIOASeD0wRPOuuC7UR0Qnd+hDTz77/lgp6lP5bs/xjN2SpeznHSWpInP7gPMrKuK7OJcKI9rqS+U/skX6E7hqgdbSG5/4YEsUCx04DArRdnrHj1MSh9ch/lOTP3yw/Di3u2WpzkpF5nXw7WNlhaafhu93eYQMyPhNR9qEpkeXIb7MGRxWFZTCHjkrOgbcgVxGwndvpHF5Xus/zzKEg7MdGy35fAjjgqceudNNpEys+WqzpthpbyfH2fNl6CNhMCf4J/UeIRSLQxKFQqWpdtyA6GZ+k4k5bUtG0Xrh7zBv7Zz2fEBqdTcd8krTcSS4/C+OpGaFT/xK+yGdbaTR1l8H2l2WgvRkNm4qSGPoqdw/ea0nhizdjuClIJMMm4CFGYxVpdZ7CR12JpfF+yNRiULssrkn6p2tqiWDUoXmt+p89lEQKKlKvoRZLtQ== X-Forefront-PRVS: 08331F819E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR12MB0863;23:Ks/AWrhMXj6ZxVJY0StzAl9s8NdHd7MGRhI/3wTjK?= =?us-ascii?Q?LvXrD+GRJ/Gf7CFAmw0qEIVT7RKkEtXDT83EttHP9iXeBzY2wnpQXE4+hf5m?= =?us-ascii?Q?Y66Hqj0/HETVNb+ngytX8ncpFHbibMLLGLLspaswA1Rph4ObqBHmxd5T/t1e?= =?us-ascii?Q?fSGxLSjfEjbK6Ti2PE2RAYAiOb1uYRD7PRS4t6TBeglL3vKIrGReCbVdMSRv?= =?us-ascii?Q?p+zO6nLWw2j5pEtQA8uasV4jIUCqjv+/Eku6ZzyN8cSL6S2Jx7SPuculIqMw?= =?us-ascii?Q?4ZM/JlOOXVQDxJfLjCInqGcjjSViKXSVKt4owtcwRISiA9UgR8pLp4s2UhoU?= =?us-ascii?Q?Auv69VHC3iuje8UI4yL3p5eA7EZ9k2MfZYH0giJVWFgb1wu7lc9cxLpfLtop?= =?us-ascii?Q?6Xv2PNsF5rxvAv8kdZ+eAwbxzgwr9GmUbS9eFlgBq9NQOqoSAd8KJ2NzzxGk?= =?us-ascii?Q?g/ZdAuh1dbH4NAaYh+t8L4xgFxDT66fHpRNdA6fqSRwZnE8Nd5cGYdtdqIvM?= =?us-ascii?Q?DfxcQbFAG2HyMqZURitHkL0HCsyxAu8RTTTVuKVChaSazY9ZBLHusUfNQ5rV?= =?us-ascii?Q?+areJuDlDaDOkUUywFz3rWVuYvKcemEIXbf+BgU4gdvWu34seeKp82A+bbgi?= =?us-ascii?Q?k6RR0UsxdU/LSKO/cxfS1cL6LR4dampDIloHlp/BXFJDbKSk/8iQDujfZnBU?= =?us-ascii?Q?Q8NmrS6FSrTg1PfRgWv42W4w3K/MpoAZcrGU37SZqyUJ5+H1BmoDI6z65Fud?= =?us-ascii?Q?9BTLGDKCspd6UqIGG/NZHblIfJ7i0fv7KbcbKqjo2OvMEiQObpLrN7eRPqTO?= =?us-ascii?Q?r7hYQc6gaoOLGz72Rz9e8Ffr2+pr3Z6L3PsaYLkR0p8fxSZOE5O/Kpz6Nm5j?= =?us-ascii?Q?uEGGPMT9eQgMgDefLbYk/f070Te4iLOmUk4y6eljEemJXyzccuGuDV5GkH9u?= =?us-ascii?Q?RZ+ZyyfeImaH3AxZ5j0oPHyaZco3kp/rFshIqU0inAyKJkF4mofDI+Sr4vXw?= =?us-ascii?Q?wmhUKh763x/GAP/lXOOc5M/?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0863;5:rslhiRrdDcCZtFEf603++wX5GbylyO8lpx+txTC4rHsr3Lp/pmP+Q3CY/kwJCHl1wGe3tQ/nf9SfLtBl+XAtxvQw5g4s6l5ieclzCxcFLipq7pHup/IZHX+SWkXWI/wxb34PDBrwToNu7uNoUXNCHA==;24:nQc88D9JWUyKolM0olBeY0nv/zoEjNmHl0VT+LKz4cxXdKpO4Q0I/zVuxOwtXnrn1YwnyyGzO+4RcA1I8fVU0ooOU/NtfD5MBFWFlLf8PW4=;20:mAnCQiz4+4SzRQ+bo0lRfZfXdigj9jdklb/fVXPfpVtsCN2tvu9jE3bwABbJh84Mk4MFtTQ1PHxoa9sK5whuBdXrnHX+PRK+vlEAtA5dUg8ZU73Ju85qkprJPxVG8EoPdRtw3NztzYJ61a3yLYmRyFy3rY5wnzMPWR+D5x5z21uq9voh4do2/TzrVJ6P6uqacIsTtsnDgUpOroja5EegAD/57DuhTM9gYsI32RBIsJ0YzZAcMnDToJnCgUOfIrWf SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2016 15:36:27.1650 (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.221];Helo=[atltwp01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0863 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 adds 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. Suravee Suthikulpanit (3): 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 | 309 +++++++++++++++++++++++++++++++----- drivers/iommu/amd_iommu_types.h | 14 ++ 4 files changed, 440 insertions(+), 57 deletions(-) -- 1.9.1