From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752582AbdBOU6t (ORCPT ); Wed, 15 Feb 2017 15:58:49 -0500 Received: from mail-sn1nam01on0089.outbound.protection.outlook.com ([104.47.32.89]:55072 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750806AbdBOU5T (ORCPT ); Wed, 15 Feb 2017 15:57:19 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; From: Suravee Suthikulpanit To: , CC: , , , , Suravee Suthikulpanit Subject: [PATCH v10 4/9] iommu/amd: Clean up iommu_pc_get_set_reg() Date: Wed, 15 Feb 2017 14:56:20 -0600 Message-ID: <1487192185-31272-5-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1487192185-31272-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1487192185-31272-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: SG2PR01CA0102.apcprd01.prod.exchangelabs.com (10.170.138.156) To BN6PR12MB1444.namprd12.prod.outlook.com (10.172.24.21) X-MS-Office365-Filtering-Correlation-Id: 43c97e98-64b2-49d6-afd5-08d455e535be X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081);SRVR:BN6PR12MB1444; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1444;3:+xuGCZDM7Ud7V106mZuWrj46mbHqdw1PyREUImnj8yo5rtu2Czl3wCRL+CJOlGUInMbHjefOUxFDZHybo5jJ8QCXS8FVVjjIgbMxUuK05DQ5FdiY+kcoAiLWQUB3rVK+1ajiRUfX4vcm0axzEPSYPUkiumXRp64O6smdRIMhFbgvPVfMwiUXLcWEDj5gBwN6VbPfDtrtvz5uCQkhOTRC6/MoHKIWbh+CR4tf8WkXrO40vkurGNw511MU5nptDMAUSMh6khdiWmeI5HTRm19n3pcHolR6PhZLRDwgYM2EMsI=;25:rhQ4+bkFDQpvw9V1ojs0ftEnlIbq0QX4e+60FTvW4OkMUeCuYRqVNbiRTe8/0Jh0HG5FiTqyHJNb/LchaCuVPGoezTA6UbheHEVrM6ICwoH7E9q4uqwusWQIlhF8Yc4D7fCFrLfb9Xq60WRJoZ9YAqeYyNT7oO64CvjiMN+ACmB1A32YLGj+wM8qOpDhIkX6D2Ps6HbCkpfAFDAL1Fh34CWSTdzbW4hQNb79ToGdvkX9vBvLeGPAcVS6BiOxUSTFhZ/kjFeozcqEAJodH2pmzhGrwHkKbuRDGBs+4HzmHcxZIe+UzhEX1C2ZXNueDVAzK+IJt7rPmAiEkaib3QLmM4BPvdXNLAv3sVc3NKBQhcLJ4EOGC/Kl2YDg49Tp+akuRNONtBRVQFvMSAxISQQ0AHO5EG62aioZ01Tzlj/dbAyjA+/wprQq0K2RVGzL5EWRM9xSi4LJ0Qc7aNdddQrS/A== X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1444;31:jyDE3UBA4hXTcCtqPVXqZpEBTdNSVxTz9jr+xazna8BwRnzXrwCFD1aChQSMRK0EFAMwD4XoHtQdFGra6+slF50h1j2amkSLLnF+W/Pmi0BrhHXQU5v2fjzv7mN2B18zuzKHPZHgcN6v5f7BJSDpDYvbSiN4Bp+a57TJHe/bc6MEPHNSmJ2KeRRAQ7PaKl4NTy94fjvO7LBfrhl0IFDCskejRo/0gOhhB6ioauZLOHg=;20:tfn3olqrl+802IJF739+ATnFwmPP7RjiZHQkKnMMMd/oKTz96xwX2WnNKi4Mgk0WzBgInRzhVXcSuDNKsjxbkVTNA+hVgpqsJ29iaqxz1mDWjFctCTBIkwH8A8jfUf9JQ2yETLHswk215zYN80pDKNpLFX8GApCIAVkpVTpUfB51JJWhyqfbfkBvEUm1Slsx5KGkcs2b7atqjDjZ4I/7NBpTlJb7uhMTg9Xut3fEakGNy9t1BwrzjJl2ZaQaXhLI/FPWUmW4AP7rSky8wjSnXDsjfVnji6Q7sdyVq9fFSZEhfIa/6308rnfnSj0IxsdTebahtDVP4hfMth7q6QCDJ9jLc44j1VHfMk2+A0vQ2NG8kGnh9IQkVjIGFLxRCQhVQyq9UAPJFVBzJt4U9zg1TopSELCWypYiJBwSAylGKy3wxee4/9XcQItFE4VQ4IpvJOQkno+Rq0uxt5k3qxTO5rJuWcMoSztkTnTX5xG8w99ya6qXAnuFEHFzRV1PpKq7 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)(20161123564025)(20161123562025)(20161123558025)(20161123560025)(20161123555025)(6072148);SRVR:BN6PR12MB1444;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1444; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1444;4:11n5fxwPPnMtK0x0qPHO8+jNmmhhNb5SE2aMwtCQdxlPGduD+ktxtcoex7seSABJ4rA+HQhEz0g2dvnw9hbLr1RvGg4M8SY1xp43iswc2OEmcqvjVOJE91M/dNyryGT4IlcO+Gs4GENjW11/2XgrkwN90jLXFGBwUc3/fGwtUlMgofTKL4KqflCvZBCVF3f7XzggPm4Lq3Pu1lZf0yLERrV0UpmiFde3Pbj5ZOToK6IWVwwfAcgVHEfF+s4MjgZiC2WKDrogSQa4e0TPXC11aT2jUh7BZTTrNwSU+47avpZdHI8t0dO/OCaBAkE+EX3MGRhYDwgCQqite+OPBh2fTy4DerF9kYv/qG7KHXfddvOZjdKtOlT5q2KLAM3X6A/wSovHRqBMBPVCVXIgOjBD7sqwfNbEMBPhze6/APeO45z3hol440W7mD7R04Zun1JHeXUMuVn6Me+sBee3uBoRbyFnmPWfTTvYnqXSbf6koUWb8/Ib/LWzanxtxrRv3nxghzTBmQ7utnai2uimiHHBlfg+uIuyKJ6RlbBiCz7wQpyGHu3uCn3IVy/t2Decc9kUvtZOE8sb7J5FRPt8Q2FhPlnYu9V7BKSWtmUOI9K85VYuTHUn4Zvhaep2FMtgj052i6ekDHCDE04QtiPbcgLpAqjpnNzo+ddRKFyEZ/SHE6E= X-Forefront-PRVS: 021975AE46 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39840400002)(39450400003)(39860400002)(39850400002)(39410400002)(189002)(199003)(6486002)(50986999)(54906002)(38730400002)(53936002)(86362001)(305945005)(48376002)(25786008)(5003940100001)(7736002)(389900002)(42186005)(106356001)(2950100002)(4720700003)(5660300001)(76176999)(105586002)(6666003)(6512007)(189998001)(68736007)(47776003)(50226002)(97736004)(101416001)(50466002)(81166006)(66066001)(81156014)(8676002)(36756003)(6506006)(2906002)(3846002)(4326007)(92566002)(6116002);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1444;H:ssuthiku-rhel73.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1444;23:YVnjznVVz604pN6X2xq8caZ8uZ2HKVwmK8u2mqA7d?= =?us-ascii?Q?WDezgTkuUM4O+rsJoTNoN1lXYirdh0dYFTn9D5LTeSaBxpJUkUK+LHnZu8GU?= =?us-ascii?Q?CpdOftFOj++jZItC4Jo5U2mdPcZxkOaMtIDZNkw/WmZhjjynfh7Go1AQM4WG?= =?us-ascii?Q?2PPF3D1kDgxRnIRp8VY4K4arnW48Hs6OP5wZGQtPyzTez6Gjk654/kj53/rj?= =?us-ascii?Q?lzzexjwLshUsIQPXXIgy+Nvf7+ugok1vwMta72m1ss1bkbaHrqmQKY0ZehcV?= =?us-ascii?Q?V+oW5O0TK2CLqWxnABFzhfurS7nKvvjYPAp7FwpXO40bI1XkcmQtR93ryUyX?= =?us-ascii?Q?kO+1R/R5s5iinETSUNGGuHJIr6GaEuja2vXh52J9cVkBSM5lt8d+KppIejk1?= =?us-ascii?Q?V01lhIt8Irl639qVr8nhvxTqZffvJX1jVK+Ut9PNDfl2ZpT8eK0w7ryOkcC7?= =?us-ascii?Q?+IZgo5tZPh5/IskU4Lk38RAhc9+SferfriFFzHuZddsOdV1oLcyEedpVz0gU?= =?us-ascii?Q?TK/zc4fTOZSTYmrOQUjjS8bPeoL0Wzty/Uxp7pcL7lFHc4B3HDs/eUJ88cwi?= =?us-ascii?Q?t5sD9MnLdqAPnPYZ5X+nTD+5hB0DFHdrAi0wN4UqTPcxTky7q45e/aAZYL4D?= =?us-ascii?Q?P8NpZ/dENujF0IOGsPWC680HfEaNZLnT6dmXNeiBfHBwDJVGb0F4yRgoNjp9?= =?us-ascii?Q?b6IDe9WEuPq7Xm5uk+6F5qtgN99WEK10cJwcfEW9ci2Z/8Qhr3rpIA/uNKXW?= =?us-ascii?Q?YaRV+oD5D2hiwvnTtVQ5w0YkodnSOOh4WOffvGSyH4BlOy9qoZIRRLD5eA9A?= =?us-ascii?Q?lkFZXkODFuWKVN36fUPzOxeaIiF8xHPM34ZLmRU/IuiRJoEhGHLaz/mcghKu?= =?us-ascii?Q?Y2HKWGzHq8eQUBG3Thx84GC01UC3swEK5OxoeqtxHT9/jiyfZUN3W9Ya9PF/?= =?us-ascii?Q?Hm0qps28oxtEAP1OOYJAyMSUisMOZhXnFGTVkV4wlKSyQIxxASWC6E3DS9Eb?= =?us-ascii?Q?AwdTFS5zhu45ydUulfZcKfcjN9KtSIAZBH+flSUEWAm1HW9i/jFI3GH3SQ7C?= =?us-ascii?Q?WWFeLUH7TUaruGvXvLBO4oLLzZ7HMT8JCfIaeBfXwUL6cKJ8qvFAi23iWab/?= =?us-ascii?Q?kngSu5e3rd3DgIH5fsnGCpJBdGy16maSfLoX0Ngmx2iPCzB5WtrPhTfRoeWt?= =?us-ascii?Q?bTCSjcnhn7yKGEfkZmFBwCV4xOT6zMzggQT?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1444;6:UgBLaz1jpQ/AJNOdBnTgg8yqj1ZHoRCV3T+fIEn/AiRVdgZVZybetOsWz5vfN0k1eYmIi/x0z3cIIOIpeHGej/rK9P6dUggYzJmD1qsAnkGxbKEPT3TRtFz8Mmf5qrLNYiCvN10T+rl86lCOYS9s8PUSDDSEy5PMVdsuTSoZo+aKMdKwFN3SMavZc34XO9DicROAzSAefUSNnjQffVCb/QCvjLBsJhZ+fCc04+2EdrL86FYdm2uSCuAjDka1hyknYynRlyaxE0bYeCj3NxvY3kEaS/EqFEwavZDkOlk52sJ7hlv4T80QAuAysr/EJunIDLwprXJ62X4+bsdRMuRUPm7QuOdNEsEFzIM4lNSJOyFNHgOqkI5lcWWYs4g0mUyyQFOeimTrI3luhG8bmkryPJ8UTBrpyrwuNqA0XVBuP48=;5:3sS0VrjRkdLtr7RaltZvwCx4gcItTPpnOXFnRnJbiCjIKLjFVOzGZH25ZyyJ9IcuSLjsp/QdxuVEqh6tPTnn9wa1bxuMmx8SEulL/k5VvbTqRLnJKktaSB+5noiG5X4XQULG3Lp9WgxBGdPmI0+ZqQ==;24:5Tm9oWk8tV75+BIz9RAq15aa0WfEBrwwpuzR+yel30/IxWqjXad9K2NJ9CZX8xiaD7N+Y9NkcYZH97xLNl2okUSeZ5ConvgQS2u94dV+hpU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1444;7:xF5uM9ZxKpd/aYehip5LdPb/GE1hllNphypR2A3ajTR9hPxeKVLPZ2z/jjQvQucYs48YNylSWyN6BV8TyajLfnSaKAyDkBiiplUgFn/lgo3YvrJ8XMXtHLtbEQTltg6XUCKR2SU4baaa5QKRVvrEDamUFQy+CGsJBitBWObIVs+70RsJIcjO68iLQEGdTPmOQ4PBaUMoFTvYRoJf6ytB5iJRQbMNRmNC6XBspdJXK4UTy+LmFnva4UYCPP04HN3TMXNeq4IhDzYufmJHK0OsZcrVZ5a8Z1hkg0I6PSfGaZPBAEs0kg2RrGbrIMZz5LnUZdMjix5fJE+hpSx/RqOmIw==;20:9xEWgP9m/axFPBmkNWAc4tOmwYDTIyrHwP8CPN5ES5WNTcqwiZ7D1QRbhgboPFABM8YOoeDCQAwtAQ/Y6DwzyQosPAUNAeFxQvq/j27UPdOqh/YluxQ37pmXd7y7EKmcf5VDEEqHZb+6Ynxa3A7aSIcJkSQi14VZKwK2mzIN8LYGLEwpBUGwTmfOJVQna2m6PleTucgMqHYAKdf+m7vuTZLJqyshEaxZs8Wj3acK1CIeRvhw9N3XXqAeNO+BgmY7 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2017 20:57:07.8182 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1444 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Suravee Suthikulpanit Clean up coding style and fix a bug in the 64-bit register read logic since it overwrites the upper 32-bit when reading the lower 32-bit. Signed-off-by: Suravee Suthikulpanit --- drivers/iommu/amd_iommu_init.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index 6799cf9..c7edc18 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -2760,22 +2760,25 @@ static int iommu_pc_get_set_reg_val(struct amd_iommu *iommu, if (WARN_ON((fxn > 0x28) || (fxn & 7))) return -ENODEV; - offset = (u32)(((0x40|bank) << 12) | (cntr << 8) | fxn); + offset = (u32)(((0x40 | bank) << 12) | (cntr << 8) | fxn); /* Limit the offset to the hw defined mmio region aperture */ - max_offset_lim = (u32)(((0x40|iommu->max_banks) << 12) | + max_offset_lim = (u32)(((0x40 | iommu->max_banks) << 12) | (iommu->max_counters << 8) | 0x28); if ((offset < MMIO_CNTR_REG_OFFSET) || (offset > max_offset_lim)) return -EINVAL; if (is_write) { - writel((u32)*value, iommu->mmio_base + offset); - writel((*value >> 32), iommu->mmio_base + offset + 4); + u64 val = *value & GENMASK_ULL(47, 0); + + writel((u32)val, iommu->mmio_base + offset); + writel((val >> 32), iommu->mmio_base + offset + 4); } else { *value = readl(iommu->mmio_base + offset + 4); *value <<= 32; - *value = readl(iommu->mmio_base + offset); + *value |= readl(iommu->mmio_base + offset); + *value &= GENMASK_ULL(47, 0); } return 0; -- 1.8.3.1