From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753248AbbL2JQR (ORCPT ); Tue, 29 Dec 2015 04:16:17 -0500 Received: from mail-by2on0073.outbound.protection.outlook.com ([207.46.100.73]:52160 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751089AbbL2JQI (ORCPT ); Tue, 29 Dec 2015 04:16:08 -0500 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: 0O044EO-08-M86-02 X-M-MSG: From: Wan Zongshun To: Joerg Roedel , CC: Suravee Suthikulpanit , Ray Huang , , , "Wan Zongshun" Subject: [PATCH] iommu/amd: set AMD iommu-callbacks for the amba bus Date: Tue, 29 Dec 2015 11:54:53 -0500 Message-ID: <1451408093-2802-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;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(199003)(189002)(77096005)(50226001)(92566002)(11100500001)(50986999)(19580395003)(87936001)(97736004)(50466002)(586003)(48376002)(86362001)(5001770100001)(5003940100001)(53416004)(101416001)(105586002)(5003600100002)(5008740100001)(106466001)(36756003)(189998001)(47776003)(19580405001)(229853001)(1220700001)(1096002)(33646002);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0864;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0864;2:pvb5xVgSSvALjKhDtYyYXPMvv+pfUFl4vKyzLQ2TmhSGLU6JISBDyTALs6Fqg2qD8ifjY7yBceRjyP43sZiryzLmQAou/ASVMF1Q8y+5St1TlRSecJ8hXSZEipQROOmpjcL5DCMLS5ylNoGEqkWPXw==;3:TQNDjQQaHd3mwjpoJK/NA/SNj4I1h9BKUJ050bYQOG426ajxReqn4dfTvY4mhNEYqldqghHeLmz47H+v7xk47JaslRjhHyUGGC2r7bSJ4ZAp/1WMgAHtV5Pltol5f81k5ab1//KwUnWuYQFoAYhJg1JFcm4CNWwEIQLdEMLoyZ2PHiWA1vedKZUPOfmXHvZYDgGAH41ykKMmPw+LxLRCKIYLUJnMFAb4pFHUu4534gc=;25:h/8hlyMNGObQAcHs7awPBW3B3Huw7x9uyOKQtuAK9w7gV8ue85rG7bKQyFRvVDIQIIn87Vut5AleR9Yke60AGyU6We6o2GqwRV4qO44Wns2w0UrJKJ1RHeoLnog5uNDSukzCU3WKDkRKGEzY48hC1gOgkW5QNzH5sFtVtd2ahFNl7URHRS8BfprTL0RhszahOmBu2dCxzhIuPl7D0h9V+L4Zu1YznUdi4jjNCY9c5j9CMgS6b5VxxQsb/sBOfWYacBhbwNhrw0GrhQRUg4BS2g== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0864; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0864;20:NveNPEzJDbBnsOibzyKjMsO3uaplZBPT3JZqqbIqjHEnevhKY2j6Myn842mhj5VUEOhIsO7uKDzc0exUCcoNYyvv+tY9e1TPT+i5r2n3e8MkyTbMSmQmPB/6PQBx7GUU13j5b2tbaAAua3gak0sonlQhxgVal4+VeFxbf0zQgXvSgvmye9W6wr8upkr6pGLR4SMUguhJzecCbf5GkYZHW6FMGvf2KwxH/FnBp35V6ePBkBxw9uOhEwYUa62XASnQ9ddMebo/dqQWcITCUK8Qd0cCfYTBg1BaMpM1S7xMmBgnYbNzhJK/oy6jvnqDOnArDOChcyxRZGRUzTs6EKI7umS9GYPjNL2cIe5Sr3+0JSHPHSCysyGC5NFaQIO/jCjWoUiwzyirGxlDiX6ca8gABE/j1gRjwC8DO5AAOO0zyFCQ1loYkvEyoTCFBZUwsarShD+tffoXn8AqR/PC1MROzcoydxFmaGfz/p4VG4Dee6RUtPkJjjJyv4b4x8EYu3QS;4:dZj63JzfsO9NLSfVD4gxqKZZvmyU0LFuC3AlmjyT866E6ApLScD0MDNGtpYH4Ziebf0kgfMXyVhiRzuk1FDoGO26gRrHNyE9PwGHjfdrbQR+qkRTphcH6L220Xar+aIoHOLFHROlWQ8LWMMe+6Ezj/gjB4eWjqOJxh5i4INZK65FPpH6jtaYhvxRUzceoBVEYJ966LdTOwpS2WDpBepbM0JAT//4eepCkwDYYsVDuQou1gP7Ppy93FGNUutrJXz8McyCQuSO224nS3kELpAf/wCnhnciTRKfkJLsSppiLwoA5E+T/cMLrlu+8+Ge6EOA/Lho7s1LjSjA5ZA2sxdRUg4261hXKMxdxO3ynQkX0G77EZeU/tXoRM+9tcWXgEU/8RjbupJN40av/eeVviXnfF1IIj4CuPDlic8GK4ipN2M= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(10201501046);SRVR:SN1PR12MB0864;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0864; X-Forefront-PRVS: 0805EC9467 X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0864;23:jB1Jj0UGHzMH9iCl5Wsf1qrB7rFopgQ/ht5GgJraer5nzYmKtMkh/M9zLgrfWa2b8TrwC1uIRF/Rhc0N3g/RYodV3/mOXMOnIdOLLgtxyqFBmRgtMik/j+GdzZ+YnEwaoVbuLTnMJQ2Y1Olawd0uhnZBun5BbDrsd60ZXgeRvlYEx4ZgOLNuajmu0lodPtNQm8O9BHKQdIesV82N6Vxk38AgHeC6+nYa65QQ/2h1RlB763K7f6hga/4mKLRvmlqrmd6mYvhsnvBlj7QysGey83c3A3b4qEj5YALfNC8pJVysoAw9di3kuQcD0UIE5Zl5kqSFO1hxMQmw35yOIRuSW50MjKlBdDnalvgewy+CI2J8vYTeAXQt3fKjNAJ5Y+F4wKoXxOkPFyFtgCeI21nY77jVUuUPNVZvT0D9e10NeLLIQjvdOLOIj8O7Qkw6iJGvP04ju99TVPyJ5L18UV34E4Z0a1KK65h3nCXzDUInxvErRcW9gDm6zcWWzKYSQx5Hihf3HjHLv4FO3/Zr7jKVfuQ0ByTGNrBgZTs5Gn12DMXof/Mlqt6O1LZHl8fC15ILvRaRD8Laq6q5zrOAzu/yseOK9hq1jYyKRsUhRN41DIq5qIX8zJkGO+DTpQ8efPA2hwzBxOdqyAREGK4TTA8p7l/pvUlGckWoPpJLjb3goz8K6wj7JYTscqYdJgOKjp/dvfXKmjjV4QjIG0WuLVtwqwQIE+FVq2m3TfjDlA1c1YIc5w5ORd+xjWQ+rVo+cwebTOs1iBkkj/p8qzSWO6El5QjcCf0RLieGoS1Hs+kH3gVHo7p2X/fKccqbdsJernVf0Ak32cXOt0WqlfQO3TbBiCBJ6dONbwQKw2eurV0EeNeOIZ0Eofy9d8g89A2fOZ7qoklL1iMf7oyezpgvicytiXaJCLkQO81W7/dJJ9xjW5w= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0864;5:ggad5hGfUyNtxzSyR0njKaW+Elix9jwTu1LeGDhkPYaL3+WRTTzrUbcdW+tmcD+xpz+03HTQeAx4qYkTh+BwZbeCq4L79FWyCogG2YlcMsyLBTzVeu76CSbCCEDY3/PyI70uYoyoQp5K7/OFNq2bWg==;24:2qZlWqUiFqBiuevtbhMQLADTHaAci91YQYX+Uz68E4G9k+xanjh6N7xxfSK3K+/ARV/S8C5AcVERmP5rAq8o91U7qar1Hmi9/n+a+Q2ybZA=;20:NOdIAYKnmFUrf+h3l/uaT5zVHS2yDfnNCW01R1HKhCL6LHlUNWnvDmftmeBjhdh6xl76drPFzdu6r6nOtebqj828+H9o6+Qbh9UNgOzfTkS7zBPxMyz5VyfW1Olj55nn4CNRgJjua30ivWRSodiPDshBs63Bg7VYWZEYklj7W93s+fryF+fiOAxcDnzvzugjrpJCjdYOwRLefwquqlq38Qq/4hLOtUXu+qX4x5EjDscI2Djwsw5PNX8AFPKzrOyv SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2015 09:16:05.9342 (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: SN1PR12MB0864 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wan Zongshun Since uart dma is using AMD iommu, and it bases on amba bus. So we need set callbacks for amba bus type firstly. Signed-off-by: Wan Zongshun --- drivers/iommu/amd_iommu.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index 8b2be1e..9097b11 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -2758,7 +2759,17 @@ static struct dma_map_ops amd_iommu_dma_ops = { int __init amd_iommu_init_api(void) { - return bus_set_iommu(&pci_bus_type, &amd_iommu_ops); + int err = 0; + + err = bus_set_iommu(&pci_bus_type, &amd_iommu_ops); + if (err) + return err; +#ifdef CONFIG_ARM_AMBA + err = bus_set_iommu(&amba_bustype, &amd_iommu_ops); + if (err) + return err; +#endif + return 0; } int __init amd_iommu_init_dma_ops(void) -- 1.9.1