From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751694AbcEJFnp (ORCPT ); Tue, 10 May 2016 01:43:45 -0400 Received: from mail-bl2on0069.outbound.protection.outlook.com ([65.55.169.69]:40669 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751172AbcEJFnn (ORCPT ); Tue, 10 May 2016 01:43:43 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.21) smtp.mailfrom=amd.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=permerror action=none header.from=amd.com; From: Wan Zongshun To: Joerg Roedel , CC: , , , "Wan Zongshun" Subject: [PATCH v2] iommu/amd: Set AMD iommu callbacks for platform bus driver Date: Tue, 10 May 2016 09:21:01 -0400 Message-ID: <1462886461-3149-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.21;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(979002)(6009001)(2980300002)(428002)(199003)(189002)(5001770100001)(189998001)(87936001)(19580395003)(11100500001)(19580405001)(4326007)(101416001)(2906002)(5003940100001)(1220700001)(586003)(50226002)(77096005)(47776003)(6806005)(8936002)(92566002)(50986999)(53416004)(5003600100002)(5008740100001)(48376002)(106466001)(50466002)(36756003)(86362001)(33646002)(229853001)(105586002)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0862;H:SATLEXCHOV01.amd.com;FPR:;SPF:None;MLV:ovrnspm;A:1;MX:1;PTR:hybridsmtp.amd.com,hybridsmtp01.amd.com;LANG:en; X-MS-Office365-Filtering-Correlation-Id: f40f444c-5446-469a-6ac4-08d378960982 X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0862;2:V7AhmywDTjzb6f5Wx+ADIIqv7fo59frvGB2kX+3OZfyPJDMJE+c35YnKMTe0eIytsmTWKc300X9dG/CCBlCxOX4hMtAsC7GeDSm3R7WZyN5skgsLfzijyTt9Mx6pbC7rZNVl3ejwnsBOKWewH0wGZyuNiXazPjSCRXHDPvKFvxPZOcv0K4OtrNuJ/Rw5FO5d;3:XRHjgDCcqjUZpQGOvbOMVCyapVcVr54Z8LS4oEiCN8RQ7Y8iu8cBH49RqttHbSI0qStW1DwZ5j6q1IDjIOlnk6Svwv05QnPry4iX15YvRHbDZhnBESQm5w32Hn8OW1cgEK73dzbjAzRbYlgZ2RFEUYZoCZkT0lAGymvImM5JdnhrmA0ZS9Q5OWLDuhdLjH0tYltjOCRuYZf/jG0VBCVoRaTPFGsKebHK58Gig9/zSW0= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0862; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0862;25:GqNu8nb0hKRmbA2xXyQGXKI4O1J7bjAOVbXnAfgkS+dcC6tRQt0mkbgqBJvSv4+ok0W4QliMJEdpBPQmc+XdnZTBc8WFfMpkJhzgt08kL2WAz/YQ6jjxzKmDsfq1Npb5DtTrbh4k94km7mCvamxXzHi8r2qrGQH0i/paW8lZib3NjMX9/ETtobT1C6iph232dQmyPFjB9wdRvFCtbCaaDBNl54P4jqpqMCSH/xS5JJmxCFOMnqKecGoqakAt0Mqx/Qz62iFCrLprM9M9nLluqa0P0Plk6rJX5MIiGhrjlXdW4uxyA4MdbIXf7fkiBDwgQdsXAiJS8hjxAIqHp6Z8IjKLoHICQzxV3zKpYLBK+IrkREui38GTh/igPpLieyqsriNYJHEGQ6Sqrfo2Ui/r453uEV1KGWjBGNOxd0+1eQG1r4HBY9PEb+nIiaJ9csmJhZ1yyvXcxVr3avYPs17A/8zBfAkiUUI3dObSykx2wlPX8kvNjwqThpj5eP9g32tcWO3aoUhHUC4vmBQGYb9xUpnf/tXpN3fevH3FVtlmd7YQqObClUospROv/B+WyPpWdn6FIv+FG1HcdK3B0asv9aKx+IIaqq/UxDLQ4No5HtOmh1UN+3fd5JfV7XBTKoDZ1diWCxEeNwLHBZ2OU24WCzsqyKLpO5eg4JheEDb9vzGhOKshn5mStkEHQ5HXWkWvsrFrFsYHVV2Q7uoJCwPbepCNzyGr5UwFm6MR/l04GfptWWdajYhOnKeCi341N2NGRgSRu3duH5l2g5xN12bfGQ== X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0862;20:mlj4m+/KeilbCOcmTX+wOnIy7ZTqgQsctXERoAQ4ILf4/khKs+YeqxYsxPJk9Ahvc41r640VjpHlQ6De9bxcVHzZMqSagBjtyCb0/d8RzLMEsJBr8Pe4rOWSFiUCGBT1QnbzA9PdxFOzrnzstqiVaQCck/K2vv+XPGaxIId9JPPskbF0lalitd44+17ulqb2praHtZcvt/2poE50BnW8iFoia1wPWAdKAQUStpiWlie9b1dSjmPsdnhObr0kiruuwgIqcyOzJfk/ocujNqZebwvsfhVzZs5p7ygCg5ybqr3ff5d5zi5gN8c13zldaDWIUDK8JHTu5gfUsOwKi+29bAGylE73wE4Rh9B6WJeXom6Oet8JHFN3ETTwa/TG5pS7NslDtPGgW9d5wmqiWffUT13YAHopg54i4RIJYB/WsUwQoWGeI8geYIIt89UIEz9kZZjwRbk+WfNTwc6JqNc0ic3HbVQ1/eVP/TMQ1KAGjLvNivTtGNp6a3YQHJ05gStk;4:e8gLxjUM1++TenxUp0BSdLTr0f7ExVNVZih2iaxYZGN7ph74jKTMukSaHAscdLj2pJhjdZeqHQSg5Vq3/JO9qwFPU00hgquXQIBU/Ar5A3Br0aJJKv+lsn31vV7uGsrGmXxSvgLwtBbW1o3Dvk3Yhp/hhUVGCuP3eOfiJKVFmnLKlNSVqZo1QuOEoRV0cVlBzgsFy5dExjEQZOOiWc8WnYvCq6DfU8VLeaQoEt/I8b8DlKuLBtLG2ZRa7yWSq/RaLXimpsUsiD+aY/4xtrtbpoVs5vRQwbPpo24WA0egvhaiJgPSBl49F0JrPSb/6xkRWfTEn7SoQfySg+T5IA1p07R+IEvsg2TX61IMUJmcCX4zZkn9GqaqGl+8WiAmr2T86FxqeQ1VBKG/Q0HlUVnljpWcxKOIQjDI3VkWWKsg/PsRmZcHJVYBfnYoJibknnx+ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13021025)(5005006)(8121501046)(13023025)(13013025)(10201501046)(3002001)(6055026);SRVR:SN1PR12MB0862;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0862; X-Forefront-PRVS: 0938781D02 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR12MB0862;23:o/6qio71k9x/5G8nXHy8wV9ogptfAPINwlYs1imAl?= =?us-ascii?Q?41bSE5aMsoRnAKxmy7iOrpovywX/nrRbjaozC7mhpOj/Ya7vPKPyGV7m57wK?= =?us-ascii?Q?jzPr0fK8VtxPbLwR9EdiEBLl05QZB5ZtY34+JwFqBBaSTS6FRV0VAHsQEp7B?= =?us-ascii?Q?u5nFdDV2EoTTQx+1xnsTyRAfUlX8r+ClMP70e/KEzW5s4OHxQ4RHiXqWyOs9?= =?us-ascii?Q?swpOWGuwEM39fBfq8F1zOtevOQdGK/OENf79+yFQIW9tuBMH2nr4PX9j78lk?= =?us-ascii?Q?9ioKVk5KVrRHibqnNKZUefF5leC/5w4oHJ5qJBjepfZB+ukJzkiyiJdodH59?= =?us-ascii?Q?ZhVPWZ3Uez6efMgczEv2iulnn4N2o7FUavjUxkRooIIA09rigAKeSUnkrSgm?= =?us-ascii?Q?HZyv13jPP8zDaAtgQ1kKLpVkNpWog5l2ugFMdzEYC38axYXT6CKD0A/7sD2W?= =?us-ascii?Q?QNrdaqJzUFKfYr50WGB2JjcSKkgREZrngPmNuvvWdLk+QjFnwyLs1JzLVbK5?= =?us-ascii?Q?qwdozUrOUX1smwo5mKuDSCem/zffix/4aegFlTFxycmwVvXIbPd80TF4j8Gu?= =?us-ascii?Q?yDR/oHCCFUufwQ8B1eBaCh46IuwOMsD+jH7uq2YiRSDWFWaMqkposmmH3kl9?= =?us-ascii?Q?sjzfFanZzNkQtFPGRcF519B+1KPicSgbct0+/rlz8ccVkNW4d6i+iksrGN+S?= =?us-ascii?Q?EFRYX768a4XU1+3nWDPiM9azKI2i9/fR+1K1npS2Y2HRWDcGzldztK4QMhzT?= =?us-ascii?Q?ICI94o8ik+szBpZbl5Q7/ZA48SV7R/pPBizx2shV9VsuKrKMya8rD9ap0f8H?= =?us-ascii?Q?Fd4bTg7BJvh1Bq7jaTomcULsW11eX82HIqDA+vJD9XCEwR90g9MVJjLcPNHK?= =?us-ascii?Q?pFqO5/T6yWP6ZW5yeqG5GcRDBRmB0oxS0QgT8DanMWlzlqa1xf9GwHiSDtyM?= =?us-ascii?Q?MqmWCNI2a2Qucrp02UznUCzUt73oE2JuLzi8hK2m+yE/f6vGfF3fWiBa+mYO?= =?us-ascii?Q?YIiG02N93mZFqhfwTiJggh1eDosjqdvKfqX6qhIAtksKi0wv6Z+xwECgqwbb?= =?us-ascii?Q?issxVI=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0862;5:ffcSMx9XrYGdI8FlMsiZPorLirskpfV5XOtfkMLEeqAz5eFuYSUggKvIK80XYdpiXnzZGZqI+GZfbccTV4AIkwe5nXJK1blPNEgspw5dtYNtEnKjSo35dzly8npJn+9CMra0fvdLFFYVH6PZ1eX5PA==;24:kKWt9t/D3c6lTOkOs4LsdlZNznsWJpElvC5fhULbxOi9YnNgkB1kEWNjjjJfFWBPn5hHTbnjUfIaTaE/dc/QG5MeDUtU6/k/QFQ4MuqbReY=;7:DJNAaWfx3FutU7Q0t8N0F5yVgV4YmuC4r89cwTGflq09ZXfAcx8ccAvE8S6QP2RyF/4HTP3dk9ugkfv74N6gXfQoG6TnAaN848JzRLVg9z459isjLWTDDcBAccZ5YyQ7JvM0kcK84esVZ/+znp9yVx/SChzylNl1kvLWKlZapSr2nKuaeJ3zdv1KW+0tgqBz;20:cfpD8qC3bz3VLVVNwaFSUP3IjqBqMJSQCpcHAcX9pBemeg8YS1f0Nf9G3NTSGtcZIWMoE1j/R2cW/0Ou4Awq9DaXlKiE0WwFeXdINimdXQ0/hAogOrWwBY/Vf4KCkrt7+8NVi3njnH3tvk2fFkb+Dq8ziijYa1V+bUrzo1jnEakX3DFb2oCO+mOPea2aFu5+02yAlxc7Aej61oIo3Sd7xe551ipHq/4YSzj2xNlj40EtADQTd8i+16l3T+Kxub9K SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2016 05:43:38.6528 (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.21];Helo=[SATLEXCHOV01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0862 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wan Zongshun AMD has more drivers will use ACPI to platform bus driver later, all those devices need iommu support, for example: eMMC driver. For latest AMD eMMC controller, it will utilize sdhci-acpi.c driver, which will rely on platform bus to match device and driver, where we will set 'dev' of struct platform_device as map_sg parameter passing to iommu driver for DMA request, so the iommu-ops are needed on the platform bus. Signed-off-by: Wan Zongshun --- changes from v1: Add comment why the iommu-ops are needed on platform bus. --- drivers/iommu/amd_iommu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index c430c10..547cdd4 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -2980,6 +2981,9 @@ int __init amd_iommu_init_api(void) if (err) return err; #endif + err = bus_set_iommu(&platform_bus_type, &amd_iommu_ops); + if (err) + return err; return 0; } -- 1.9.1