From patchwork Tue Feb 23 14:12:43 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Suthikulpanit, Suravee" X-Patchwork-Id: 62713 Delivered-To: patch@linaro.org Received: by 10.112.43.199 with SMTP id y7csp1856063lbl; Tue, 23 Feb 2016 06:19:24 -0800 (PST) X-Received: by 10.66.252.100 with SMTP id zr4mr45603082pac.111.1456237162228; Tue, 23 Feb 2016 06:19:22 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 21si47564399pfj.62.2016.02.23.06.19.21; Tue, 23 Feb 2016 06:19:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753697AbcBWOTU (ORCPT + 30 others); Tue, 23 Feb 2016 09:19:20 -0500 Received: from mail-bn1on0061.outbound.protection.outlook.com ([157.56.110.61]:31520 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753420AbcBWOOu (ORCPT ); Tue, 23 Feb 2016 09:14:50 -0500 Authentication-Results: 8bytes.org; dkim=none (message not signed) header.d=none; 8bytes.org; dmarc=none action=none header.from=amd.com; Received: from localhost.localdomain (124.121.8.20) by BLUPR12MB0436.namprd12.prod.outlook.com (10.162.92.141) with Microsoft SMTP Server (TLS) id 15.1.409.15; Tue, 23 Feb 2016 14:14:44 +0000 From: Suravee Suthikulpanit To: , , , , CC: , , , , , "Suravee Suthikulpanit" Subject: [PATCH V5 09/10] iommu/amd: Introduce amd_iommu_get_num_iommus() Date: Tue, 23 Feb 2016 08:12:43 -0600 Message-ID: <1456236764-1569-10-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1456236764-1569-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1456236764-1569-1-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: HKNPR06CA0045.apcprd06.prod.outlook.com (10.141.16.35) To BLUPR12MB0436.namprd12.prod.outlook.com (25.162.92.141) X-MS-Office365-Filtering-Correlation-Id: 38ba2dd9-8561-447f-eda5-08d33c5bb054 X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0436; 2:QLr/ELAe5GX1kaj54VY2inGvpfekaienz4uRUESPYSlbd+J9DYu99WnDiJIQZuYeaZuDynQd2R0FV3nJ/k3u0BARUUnV16lHYWky7gC0eN6UjEzG4UdYgqDMQCX66SeshgDPt8OFzrXF5jmXgGRwZKE9lk413rIid7tDdSuXbRlcek9aBTWlZ5h+M4OAJHij; 3:eRYKhpnFiwN3akalLAvPUrWzsUGAcsxHKp5xQL1HZgscv4n8Jm97H3XuHTKv89TRTHd90q0G6d491lJZKuoVhk4Bfz2otxvGf/AbciGdSbiAw/TI3S1fCtVuqfOH24hQ; 25:EWQV7PSNhg0VQMjA8abh93JwJe29VAk+QglyQk3BN9iaVn34iJveMtTLk57WTSukpkPZqUQb27+K+NpmSoHbMTK+sTLorVEnr0maJqZ90QlULKMgn8QHqXh6EGqbWDEXyjkaKS/A47830z60pUvU4RStcYTlZ5ScpQ5Yq5qTj0yvpd3HiBhYaNYDgJ3FFJIdu8pHxEl1ahCEEXQeIF1PScixTQiK2GUOKET3UtAxcG3anIIai3A5KmpXD2rVwcfJ83vd66UC/4s7I4BQ7nw4yv4+mFKRpfM36uEKPBMkz6VdD7uJ4xHrc5OSOJJw0kx5TSjlzqikM0bLPuUNxo6byH/Cx76j/SOIrSafx/+fU/k= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0436; X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0436; 20:be1P2TmV/fLEBFsitT+aNKfex9sDIKIqABFi8ap2TmOCb4zeRlC+5PhELdqob3wVaxPgosjoemddBU99dUSvEQWfz7WndL4PDiLg5h4aFVQWp8JOPzLf2s6U3nqbjAiSazO8OuA4Fu+d+zoqX9mzG/I7omnFIxWpT08DyK35qeYzTXp76R+0dV0C4yx8906U0Tyk9EMCCtdOi20n9mpvjKMRXB6jyyVv2qA62LDIv8jinYrXKum9LXDUxePJytXbd0t4TcS0rc9e/zkHi7/3gjLohbJ5FpXPxVVC3UvW9MpXXflBmOM5RkOBNDzW4neGpt2m7NReCuwHnEi+3z0FPFUZ5+BzwYplkp7gTfoXDmqY8UOtDY2OhptWGc+BmvUVtkIdu6BDCyP1e3jDtrquZGDpPUG739NaiN7O7F7e9tX647ukpI7DSeMkhpx3B9UUg2vMkH7vvb6WlheOsTl7qaHSN3SiDEqTN68wknN8o1jpEGchjrX9kW5lWt+qTWvt; 4:WI+O+6DAcBoFtZZCGE4MtaLn1r1hsqJsjZJplNhMR3gK87gHcvKZfSrOHFF2rkpHXke/PPFA6tLJCWNPCRp4zZcKsUDZxfscXaWjXpwxWpIhYESXjmX6tbKnh0JANbJnbbIs3IiviZfVIACv2Vpazt1vkXVyWfNhvdwZZedHgARNZH9aCt4dwThGGdhRtuTTbYZ+l2czNwK4d8mHT5Tu4I7Lw+nYBacAWsFr1xSMcFLk3dqs6HszZtsr4P24MT4UsEas0gx1Xs4rAdCLNQYeCZY67sVjGHQA3j+aH2dJrEyUvnuRvh0lheJh9uO1jCu5xdtQzbB+POIY+raLSPG9Y2bulz8sFfVAWBbsH1voEU1zd/DcLYGZSi/0QNcVrGcxoCrPSSf7Fx6PitBce9rvUUBTIUdUI6xoyidRma6VJC0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:BLUPR12MB0436; BCL:0; PCL:0; RULEID:; SRVR:BLUPR12MB0436; X-Forefront-PRVS: 08617F610C X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(5004730100002)(48376002)(77096005)(4326007)(2950100001)(2906002)(3846002)(6116002)(42186005)(5008740100001)(19580405001)(1096002)(19580395003)(86362001)(40100003)(50466002)(586003)(122386002)(36756003)(76176999)(5001960100002)(47776003)(66066001)(50986999)(5001770100001)(189998001)(229853001)(50226001)(87976001)(92566002)(2201001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR12MB0436; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0436; 23:pU3/xiIrKPcp4RVltaYIyhWQG2Zj7thQYbUnmPrrTpUlqPRGVlkYhgpi8sxRPUQ5HywiCEfha0GsyiFox7dUMvyJ9iHxA3H1r0sbYX+VLM0ya9XfZix3GuESC+jg5vsVXMsV3GifsC4+NLl4EWSBS+EDikJxkC/OZAm4D3T66vJOoi/HaXGzXIEgZXim0jrbzOZDr2GHN7VUUxJXOL9x8ffsllWPQWonmPp4i6405bVySzdVgqDsDiOZiDmJJhRFQ5c/4JTPn0MjNdMz94KswjXRDw62eo/M9f7hU0ceHnATOUbaw6S5p49KbBuYtv0COcMWt7YWnvc6xWkGfXWW4YgPojuYcdjAMlegOXaI0Nl0/z/rPMrF/zzQjOwuDhVVq9/oqCy8AtUbRnpSMsdpJsUTSY7n4MHFyHB6VN2tmIQbSpkIKLJn58IelPL/Mtl0XB0zd+UQ9EX0fYckI+qSqFjGf1gIaoDkeRWAgqPD+O06PVxJkHk+1YDQrNiC6qvmXqg8zhEnf0t81MejpusveMFGEsYb+vaYdP4cljLEX8qpm32Kscxwzcqc5UOWcDH4jU+08PEnTYHgjZkZKv8v8PqSp88OVfxpFcgQ1uzh5Gq3HzkpC87pnGEyGWx1A9dmpOyL2t9bcamLNI2duiONRCwSuU36b9U4F1bo2U3TM/xgW5EUub+Fny9dBjkLz6qdOvd+W3lUaI4i3FD8YNsW4+y9PpBMdpP3FtgT0UcrKjz8d+2J7nLaUpfWEjVEGuiI7jc3U0qf/+RJ91v1mkuiFhpYkkXUbNXzjHuw5qBcsjCUJHRJapqBltBgMlXWxpyb3wuLRko9yYwE0ybHA6Gw+Zz4zmujN2dBiNPXAKLgT+nO+nV3GMNMwOd24b0GpjauZPg5Mui1RpTuLQ1wkcMldIANT1e3xb62RPuM41b+Bkgshgjzmz1DZ6iv6CgdXtmR X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0436; 5:uCnfdg65mdupUt4IWfRR+wakD4DkVgZpaxTfg9GVG92F/9yicGKupmu5cBrwCj5MY8zP0keRYExezdyZKS9bHwFBuhtY7QVDNK2ouWA1NhhijWCjS//+8il2RVfJNRGyHNggR/1eeAuUKja1e5djoQ==; 24:zvOq/0d3wXXfmAnVYZTjoNJOjQ8jN3PK/Dv9hQ1QccB8ZRHdNgKoIx4o6KwzNUcTsLuWgw9XE7MokiCaqoyB9re0nvV0LXXGro+2BhxmHPk=; 20:O+eH5QyUnmNL3krN20Ml4Exk3cby++5BOUVJjbNoBENo/1XTC1w/fLmBx4G58032BZEiv9tVeu2UlNKjlxsChwkmH3wbQN9oYAPbPb2siJ/GjkqDmpNQTfyESQsnwkjdpPgEvFg+UETpGfG2p4vodAErUphADBC6R7xG3KKzjyFAzKXtnRSMbyL82tcqedxp1sQ1gc7IfwUKsdIDaLE+d8ucsA/UvUedLFVyki5slw7U9PR4x3rp0Z1WT40OOlbp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2016 14:14:44.8666 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR12MB0436 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch introduces amd_iommu_get_num_iommus(). This is intended for Perf AMD IOMMU driver. Signed-off-by: Suravee Suthikulpanit --- arch/x86/include/asm/perf/amd/iommu.h | 2 ++ drivers/iommu/amd_iommu_init.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) -- 1.9.1 diff --git a/arch/x86/include/asm/perf/amd/iommu.h b/arch/x86/include/asm/perf/amd/iommu.h index 60ddfb6..b4c3fd2 100644 --- a/arch/x86/include/asm/perf/amd/iommu.h +++ b/arch/x86/include/asm/perf/amd/iommu.h @@ -25,6 +25,8 @@ #define PC_MAX_SPEC_CNTRS 16 /* amd_iommu_init.c external support functions */ +int amd_iommu_get_num_iommus(void); + bool amd_iommu_pc_supported(void); u8 amd_iommu_pc_get_max_banks(int idx); diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index b68a2d6..59fc4c6 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -1030,7 +1030,7 @@ static int __init init_iommu_one(struct amd_iommu *iommu, struct ivhd_header *h) /* Add IOMMU to internal data structures */ list_add_tail(&iommu->list, &amd_iommu_list); - iommu->index = amd_iommus_present++; + iommu->index = amd_iommus_present++; if (unlikely(iommu->index >= MAX_IOMMUS)) { WARN(1, "AMD-Vi: System has more IOMMUs than supported by this driver\n"); @@ -2259,6 +2259,11 @@ static struct amd_iommu *get_amd_iommu(int idx) return iommu; } +int amd_iommu_get_num_iommus(void) +{ + return amd_iommus_present; +} + /**************************************************************************** * * IOMMU EFR Performance Counter support functionality. This code allows