From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S942905AbdAJDfu (ORCPT ); Mon, 9 Jan 2017 22:35:50 -0500 Received: from mail-bl2nam02on0075.outbound.protection.outlook.com ([104.47.38.75]:55648 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S941364AbdAJDfN (ORCPT ); Mon, 9 Jan 2017 22:35:13 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; From: Suravee Suthikulpanit To: , CC: , , , , Suravee Suthikulpanit Subject: [PATCH v7 6/7] iommu/amd: Introduce amd_iommu_get_num_iommus() Date: Mon, 9 Jan 2017 21:33:46 -0600 Message-ID: <1484019227-11473-7-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1484019227-11473-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1484019227-11473-1-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [114.109.128.54] X-ClientProxiedBy: SG2PR04CA0045.apcprd04.prod.outlook.com (10.169.49.141) To CY4PR12MB1447.namprd12.prod.outlook.com (10.172.71.139) X-MS-Office365-Filtering-Correlation-Id: 5fbc655a-77f7-4b7d-1e88-08d43909ae25 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CY4PR12MB1447; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1447;3:2UFiYdkWBWGjGEuELGe3saK7oBZnk7OIG0t4cJ2RbDlXFSlxs/R8pEeWLe7IVo7Y/KQVD3h3V86uzJXBfK58KFtOPKXc++uu4cWWfu9bJJ4axrP2ttQ2JO/nu+Id3fTC7UIeOMfvjBzqXay2UVlDr4Mzon9oYxadNId+y+MyBWdQRPO3TjkbU6JWtDGC71wOoEnXcsvFMVA8QV0BTQSEHLvVJkQQjW706+7pEK9U6f8HfxSEUkau9AMRp1oohOO9DgeZQsFp9a2oQBlc9GotQw== X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1447;25:1OsO+dVx/oA3GtQQvT1IyXbg2lQBtgoHAjyiVItmUDjeip6spAQ1nUACTx7GtWngWcfkpGgTZHzv2Gbi5NI5Y7tuOxHqvGU+P5TTjZJUmasl+Bc4lGxWHKfzShcJQA1aXxfVoY1FO24RrhKUEd+15zu3lmkC2f9MT076WV8lTkufwOUwQh2VLz+sUH3c0fzRr/fidyA+aXjWUW38646A+q9MvyaMeev+A7HEnWgoWIsyfOwuf0ShOp0tlbjc7tlFEgQwUrk9TT8IspfgAOo5R5bvuk8YIul7l57rooxpPZ0qoSl0+ZztXYADJnxGu42XKachzbboxhbJtT7BJ0kcasmNMI5r5J9D3ZuftZGGxoDMlzYrXMQ+hetevIg539AWGoddact6jWtHLS2V+yFNX9d++Z2Z20wIlM1A8qjfAj22qtGMUIbXWMr5Jo8nNrQNv4Z7tjC+U/zE5uCYs3DvY/kwTjx5kpxb5WNPPzPQqt1eJaJBAJHOQDF+DBX77xchSjLbN6i+9ZvuV4J/FcGDVG7OQaMsEfV5jJAFC044ETBrxeQHD4QZGpp0yh6y7KqPuZAtsSxZ7vHikGaNPzk4Lvldi30p1dMLpPSv2sPLD4rAKEXbH4n+2te0khlpf4iXzbJnOYFDrOsiLbKraeBQsusQB4DgzhpW9aO2IOAzr0hccIE3oFEfHIv5KlPTW8lG2YCMcRGkkG8UVQpGEveizzJoY63s8l1HAE4ojJ+jkMyONfFqVBDnxmnTQjedpLk/prsQoaxotQdkCXtecNI4JQ== X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1447;31:kIYmhWb6o4LiKAIqN+Gx2T9aKyoTtAqZmPPR4KTBP482l7JPqx4w+4YYdgibC1WBqxdFtyXJgzWr73TSXgE0XReYRP1TBfRrRrGZhWLycIrs5Z/zHrV6T7a7XRjz0buN/hI5bA6SBBVQQwEa6fZqpZaAgXxjRASBp9w3+bV+JnZ9pKfMs4hHABcCozQa9fvLwT5UGxyX4L0D/stCJHpfGMPgIhzKYUkUKm9r8j1uV8gW/gTct32wRZx3+nMARkeP;20:hScmoawodHxrad6wyY0pB70yLAihqajJ4lflRoN8nhl+s0HZI4KbbYk0GBy44D/cBQloJu0qGaHDtOp73sV/lc3GNH4r5gSqh9bwi3b//5plza9FF5/EpgLw/UUKL0T6F332B8lrIeAyIyj2io5mSUJU8ESD4qx+Rr9/mXOHSDfU7UZnoUqmoL48CpBecZ8HdXc2tg4zqTklfLcCglaiOhn1IWYZFWhDnelMkABlXxXDs1i+f1X+qse0zycZNfB3DrAXHfGpcNcTyP0+xn2wnsFL77oi0g2r38bNffkI+DyUt1dICCflUWUuvbAyD75KHjr1kIfaxMwj7HFRIEpoI3Zg6By/vSyBoRdqkNVcB1ulTYZXBQlI4N/ejmCPPKCy3JDzKYHGdbfXwOtXpbfH/zh26vwG2C2V5JgO6iJSbO2LKDzLyQhbnVO24P8yF6feVAx6s/YsCyhYZyYBoRBdpE2+5Ugj/PLYhYo+cGBVzq+rQJH9ya3Fva+V8kcnlTDE X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123558021)(20161123555025)(20161123562025)(20161123564025)(6072148);SRVR:CY4PR12MB1447;BCL:0;PCL:0;RULEID:;SRVR:CY4PR12MB1447; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1447;4:s8cW3dtyPlvnRkrRyqeXY3xhdQD9Ua4WZw+iVWGcgPDkebAHRtsgujBkaZU6hK1mg5tIq0bgQv5Fs0fJXKTIhwkRq0brFOyWsOQFmRkMlDUZhHdb2lf4Xc/BemWXfXgU2+fHtgFB+yDbGxJZ2+nsc1XH9S0brjinVta7U5SASms3rPzskVQT9PJtoECyOBSqvjxDLWzdv8XRK37kJxcVqPB780dC8160Pio1zuDTb9G0WVgBQvkmT9G3jIwTa6Q8WrmwC8c+kviibvc3lNIfzol+36KYvQ3toA9DLz4pWrMhieAwtVYdTm5DShs0CCiMlfqpK5pjElYGlBmlcu6fYb2DvL+8XYOWekIofhjQCIaVxwQ/ar05KazHP8aNzDusFB3KDhA/ea+Vc+oJy+tt1bixY6kGYOAi20TCgqdB8qg8T4XzGPozMdGFhv6uY/npTc4kV1xxJKjEMfegBRjz/ciqqMM46wX4xMBcd6zLyEBVb8i847SQk1bGvBZnv8xdo647GUNL60zv8hsBnJfa3L92ntKcq04bsihPTPWO4SgyV6rB9kO9wMgyXqO3H30dEeBqNx1GKLRFcTZF1Z96DmrMXgBXZn66zUMMxkLEoPq0fXT0An0Y1saMOlFCHRTV8GX6nG3t9P+eNj2y1Ek0cmCqxdBGGmx//AmSJDvDDkI= X-Forefront-PRVS: 01834E39B7 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39410400002)(39850400002)(39840400002)(39860400002)(39450400003)(189002)(199003)(38730400001)(86362001)(54906002)(48376002)(50466002)(25786008)(305945005)(7736002)(189998001)(6486002)(6506006)(97736004)(68736007)(4720700003)(5001770100001)(6666003)(5660300001)(6512007)(101416001)(66066001)(92566002)(6116002)(3846002)(47776003)(2906002)(50986999)(2950100002)(76176999)(42186005)(8676002)(81156014)(5003940100001)(81166006)(36756003)(50226002)(105586002)(106356001)(4326007);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR12MB1447;H:ssuthiku-rhel73.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR12MB1447;23:HOaow3MAFOum7DQc/imlbaHYg03D2WsOU9xyFzR0W?= =?us-ascii?Q?U1P2CoQ6YW9LvmKOGJFpNoxR+EQVJ7ao3zElhf0Hi/KtUUUtunChZLuW/eYf?= =?us-ascii?Q?cieNJygRjLsmTgBeEsw3b6nNdXZDulLj15qc7wJf22qJ7G3okT7vXHNcUDRU?= =?us-ascii?Q?i1FDLJ6hggxGevD4cuFYS5IJ5DXAZQlt2kL4NFPbQwWXCdeCRL1b7np4V/vx?= =?us-ascii?Q?gROurGa8VJJAcvW+qzKsCMmZyrAKLdDhCqlRcs57/SJJ9yyqTiR5YrBCln8X?= =?us-ascii?Q?obNGM/9bXNlzrZpt2pQ1ig6hA29lXd0XoFRDTmv4eDc0r1axLkSdf3/Ygcsl?= =?us-ascii?Q?lH3vfLviCNroawoaEUgQBeBoi9FYiUo6ZJCDIInlujoqkXqzvhNuJAb0Pmc/?= =?us-ascii?Q?Y6l4FoR2vjx+f6RW/lYJ6ZpXmeMmElCJ/1lNM6PU3h3C3V9JAISMNb47UXsf?= =?us-ascii?Q?B9bpPOuqEz0XZjI/F3YkXMWNOSNvGv6AAxxkr3xbb+4jWvcjRo8fUQujixS6?= =?us-ascii?Q?tTTYrvfWHmGz43SCGnSBTmJXbh0o9eVZEX9SOZIfSsqTN3A0QTMGkRBDKlpv?= =?us-ascii?Q?mwjkrAYsXmhVMUzNjRu9X/6vQGiLy9GoDDJkruaJJ11XFq2E9S//KD+cUuGE?= =?us-ascii?Q?Cl7aoTDPgCknPtrJTAQUl0TdDTpV1NhiO2niW2PMPnU8fCKmZo86sR2tEOAd?= =?us-ascii?Q?09vOLye36NmKNXrMIHa7+J7Ic6UuJZb8QgT9ysZzZn1Gsyc8Tp/9Rz35b2mU?= =?us-ascii?Q?hqHLmcWIz7vLpIxnGuxlAZjJUZBQ9ynAALa1DcVPjtoMSYN/+tRiIfkghzij?= =?us-ascii?Q?FjaP4qxnQp0FuOq/as51O9UpjhpsqwAg8Jg5gSaggfWC5AEcinGnChi0lfcU?= =?us-ascii?Q?Z5OBT0ayqKxG176GOAFJ/Mr6ovgwfGtBvduC2WAwgbbZauOw6IFBaTKFOGln?= =?us-ascii?Q?+BQBYqa3lM6dN7nxzC9RHpTZOO6Uggg38VAUmiBx5n8XTxrp78uT5jUk6j5a?= =?us-ascii?Q?ifmOAxyZI7XXUEI0H9UT2oj0D7IB78umsQTpy4D8MGyMj6RRNbiYiB6qNqdE?= =?us-ascii?Q?XvkfWMD6LI6pspvqgjk4LbWoObB/reUIkynmgd/286lbyUsbE/b7PUELXfxF?= =?us-ascii?Q?2CLrkgN+z6/QUPsRWBUXepMXYfK1zvhXlr49UboyAoKeYmPevlDvqCK4hSkQ?= =?us-ascii?Q?02mRq+IhDi7Z4hhRAPvzivOTRJF2fG2MZj1?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1447;6:trqBlyAFop2hk/cnOBCozvk+4N0RtqB8QbnbPr8Z9pWD24FWqE/OIp4td9EEzRaV2cpIoOSwYIyqu7aIEcQyiMC1EdvBTrw+by3IktM2KI2mK7J2zl08bpn+Zar7fax5ld1dYIyKWoIcNzUS7IpQ+RkQzmvWwPk9JQNJ3dfE3vHS3/aEbcV2G/U8aE1wQNpVPjaPA7i4irBYkpDI8nVN+DvZg2xToJRoJK8hcLhLFsMIF7Mct7IDxSJGYrWbLjr55Kcw4q49/Ld2cw4z71iih1xY5qyDsfyNGq5hA5eHZhmhffMDCvgIKp1bKJxCnf4U51x2vj9QX5Y18cZT1FXDxJZuIFVMy26wzvnjU8zAC4zMywXaXBflWZZ+wJCaGvVTGRl69pK8wosrX39vUkKhFCfZcTff2vBgyMXJrfgXrWIisLCxfVSXy7IF5a4ctb2sRJ5LIQS5N4s/vHXgx0MVeg==;5:Y4bGB/nqpHU+W+k6LMzxVTEajflYWXWZBOPg0xq5DgsRq6YZ6b3rIorlJ0WK+9x7ElX25T/wsT0J2qigJNTWD0lw/CbV9QZwkHVdv/4ZUYDGNfL1av69065Q37aQih2KgRtF3skwIv9nR9CYIEDjIC9dtALNtdu3bTK+wEBAXgU=;24:LGACylIEz/cUeq/b/7y7y3d6wW0X+akOQESr7HYyY09pQaeaINjb1P8MzPy2u/4H8CxL0L2+r3/f0R7ggu2m/oitCs7hbFsjs96xNtloesk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1447;7:OZACo1mDHFXgG2L0t7kUhfzQOq3MxbwixzX0msF+qTg3+UC21V0E2BHcxkPAgRA6taaryu9Fw5MGaEcgDm76xgCZLJf+uIYTTeOp0Aavjp6+LnftN5ribpCgbDlmwsEzSQp9k/rGciRGR/Njsn4H4gltUHBE+duYhLJ/E4zS0HCkr4/8HL5qtyIe4T9qhKdi2svS4mzKfUmYLmD/4cgMWCOiB4X+iL4UEe3ZtUcD86dZQZUe6tfyI2sXkruQ4lcN3zgFnJ6B5tAhSXxtrRZHvkfdJnOXCrFxd+UioPCfxlcyxL5ZIYxIqv8wS8ZMWZ5F8eILCGXwIC3Sohta1IwjHQpKVB0tRJ0x9DmrMSZ33BySdFAFbFu6kLA8QBZyP6T8yUWLqEz4KhBVaaSiotQsVmXVLWrTgZtubZdpPZMPSCyfAZiLrkr71LbWkBkfs8uVLz8ju5Mst6+6oKI2RYUS0w==;20:0sWDQ7aBzUeKQueJjjyc2weDNIDT+6jCb6AnQHJC7O51iXlOcXrFUzASKibeKc8m+73J9K1/BN5FqqZUEjo85qPjA1ZZKyD1M+z9lmEllnpZpyjZzPJUqLhxaxMMYs1awtA0HiqmIGtT6ogtsd5ssfHH9PeE3d+3Jz1GLrtUtD7Ycrd41L1zY/P3wYe/LOAen6C/YoMX0Z7rgC+XbFYe3KpQFPQr2epzA6/mvwZnpRkP6R4csSUYX2AnvW4VdNZp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2017 03:35:08.1689 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1447 Sender: linux-kernel-owner@vger.kernel.org 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. Cc: Joerg Roedel Signed-off-by: Suravee Suthikulpanit --- arch/x86/events/amd/iommu.h | 2 ++ drivers/iommu/amd_iommu_init.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/x86/events/amd/iommu.h b/arch/x86/events/amd/iommu.h index 342716e..381f1c4 100644 --- a/arch/x86/events/amd/iommu.h +++ b/arch/x86/events/amd/iommu.h @@ -25,6 +25,8 @@ #define PC_MAX_SPEC_CNTRS 16 /* amd_iommu_init.c external support functions */ +extern int amd_iommu_get_num_iommus(void); + extern bool amd_iommu_pc_supported(void); extern u8 amd_iommu_pc_get_max_banks(uint idx); diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index c993c77..c3740cb 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -1329,7 +1329,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"); @@ -2717,6 +2717,11 @@ static struct amd_iommu *get_amd_iommu(uint idx) return iommu; } +int amd_iommu_get_num_iommus(void) +{ + return amd_iommus_present; +} + /**************************************************************************** * * IOMMU EFR Performance Counter support functionality. This code allows -- 1.8.3.1