From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751449AbdE3MXK (ORCPT ); Tue, 30 May 2017 08:23:10 -0400 Received: from mail-bl2nam02on0066.outbound.protection.outlook.com ([104.47.38.66]:53391 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750898AbdE3MXH (ORCPT ); Tue, 30 May 2017 08:23:07 -0400 Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=caviumnetworks.com; From: Geetha sowjanya To: will.deacon@arm.com, robin.murphy@arm.com, lorenzo.pieralisi@arm.com, hanjun.guo@linaro.org, sudeep.holla@arm.com, iommu@lists.linux-foundation.org Cc: robert.moore@intel.com, lv.zheng@intel.com, rjw@rjwysocki.net, jcm@redhat.com, linux-kernel@vger.kernel.org, robert.richter@cavium.com, catalin.marinas@arm.com, sgoutham@cavium.com, linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, geethasowjanya.akula@gmail.com, devel@acpica.org, linu.cherian@cavium.com, Charles.Garcia-Tobin@arm.com, robh@kernel.org, Geetha sowjanya Subject: [PATCH v7 0/3] Cavium ThunderX2 SMMUv3 errata workarounds Date: Tue, 30 May 2017 17:33:38 +0530 Message-Id: <1496145821-3411-1-git-send-email-gakula@caviumnetworks.com> X-Mailer: git-send-email 1.7.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: BM1PR01CA0081.INDPRD01.PROD.OUTLOOK.COM (10.174.208.149) To BY2PR0701MB2024.namprd07.prod.outlook.com (10.163.156.139) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY2PR0701MB2024: X-MS-Office365-Filtering-Correlation-Id: 81d5e8e6-f8d2-43ed-a91f-08d4a7569f67 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:BY2PR0701MB2024; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0701MB2024;3:hwls+rYA+GLTz8ZhZSDox6flGyvfS7qZyj3ZpDWT/lx3oTX0sxHkH0ljIulYciZZ4H1OMzG40Hyxq4Z3xH6dKdqvxgMN28Kan0DV0r4nrk/mhYQQlMqU1n8m2CRKhAD5JUVNbq4uoBlOcZGFLldW1eDhLX3vG6CraZcI3aOp0nI6cnm2G/6iXSryCVUcquB+EblJbvFaXg4zD7ptOKQaDcT+qyC+JShKb6d6cImMleyzDpnrMfmEjXA0RW7tgZk6f2v2/KXJf5cQ5w25aoc30JhmvGWpQMN8ZB+1GuB07MQ/F2bgS0pniMI/w5gsXmTvRiaqcVHDpFy6HdW2sKRPzg==;25:RdLEdPXcOLvGEqTuAF51vu73Y5EsiXzTsIgrF+lmZoZYpkT9VZCmJKZR53Qez5vi+XZi2AYj+AppemNGGbgsJUQodGIHgkHyG4yxTjRwiRkelqr/BYchCL148LQWQG+3AJ/umm0KQWX1/Rs2ohoCekHKGm+oX58ZVnzNNmAHoCXvaX0KkWGvQuDPC+Ts5z/YTBxWNBt3dH68eKb7pNQxNpCd1TRNNXulW8IbCYHV0YkvRxACnhELhkzwiajzXPC2UbG+tbzyhBRbjetNmZcl2yAPRnhIJEw1cO63XE34i5C/YqC3mDsxlcY7V5YmOwK3J7SpaYqWgl30SgJLF2FV1VsfqSwBBCg1FvtfngxXczwAcW1xWvE1EKVyaU0TE2c3ekjdYDv59/8/Ww776iDxP07cgN0SXh73rZe98SJuMrs+Ub5NwgKIDvQ9ICL16umXD16lG3HMHz7u2h39ZgmujaHvCRhapYu7LMmmj/JAu2s= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0701MB2024;31:sSpU9bqZkC2kDNeHOA2Yh33qdcbDr+SfxVNBeGf/+EwvY94CjE8qHbvPpcY684Rx+VC5JF2ho34Iu/yA9GUjLaOvcjQYnePlr+YpqlBerkrX9WldJSbD2kr5lvUHOAkeQDMYTNkVJjev0cbV4dK+gbEpeeUIhzqr6BNzAYmHhh/AIhDJYu9xoVoMHpoyPBpQ3O2eG75IrmB6ZiWP7408lI5K8VEUrUN3KIQuxURUSHQ=;20:hW9imPZneAgFfyFDsJdMleqXQRm+RU3XGDCeZwx7G7Z1m4MBVY6PFkEqe9FhlxPLwwEikkdIy9p/sP1KX4Ly4GPAdU7jgM/1n/8GR2s2SLegafJPquGVvaCiMlYY0aGt6kCbxhBzUe+g3wBVpmu+bHMvv+7U2OZ1Q0RdywXxbeM7bDFSZHnJGQP8rzosu2QrRLUyscNCcAFU5iV1ld7bl7m2kk4gR/mZVhy9trle/cZWAs3q765jPnNNN6Ojx3wZYk3yS6IO0l1D9OzAqpFfoxHNSX1VameMDxBrcjMBzCtw0xobGKbPW3UqKTpPTK/2BQnQ3DwFEBOts7pcbP6nWokYUjso6oLCrMXHPtzntAWJZ9p0kV8IWzBYQua86QuOMJ6dZt5rjIjgJZLiUlXoD0CDIByIqtr6jjVx+U2SjzGZ17shBjcss/g4n4RfPWX0ZjK8LHiCJFzPdNEwTXEL+7ZoEL7sCy5Dst1/Wq247SMQ6mXZCQ8nCcaOMdTTWkfRepcxeIm3b0ik0hvm7BtgpEiPAWNzZ6pn+TOub4NVJFhKom0DJsFgMQ66mzv6SNIGHlMPEIHYq6JrrxBVe65FzIvcgrBjWI0DoXlVe+0NrI0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700073)(100105000095)(100000701073)(100105300095)(100000702073)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703073)(100105400095)(10201501046)(93006095)(3002001)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123562025)(20161123555025)(6072148)(100000704073)(100105200095)(100000705073)(100105500095);SRVR:BY2PR0701MB2024;BCL:0;PCL:0;RULEID:(100000800073)(100110000095)(100000801073)(100110300095)(100000802073)(100110100095)(100000803073)(100110400095)(100000804073)(100110200095)(100000805073)(100110500095);SRVR:BY2PR0701MB2024; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR0701MB2024;4:hQdRylhuUUTADmSFp6wHQOoPycrGafytXG51kEEl?= =?us-ascii?Q?iur7w0BnndExvT4Re1PpHwXddTQjjFmLTOQ4R67ySxikiYctwBP2/slZ7Wzx?= =?us-ascii?Q?rFnvYs56rP0q8PQx2+yM/1IaFiu95zj4wx6VasVawIjb7gwZyOKUjfp00GrO?= =?us-ascii?Q?zY4anaiK/vOdHZYokW/mJYY/ool8zStLt691fM0aUS+fKqTq/8/Dt3eH8BNt?= =?us-ascii?Q?6iKRPEUG6d96+maPSjfk/GNQG/6MltOliGqhuDXpkp1L2MdjTD2imQ/HIp0/?= =?us-ascii?Q?yXWFIkIobjqRrd5T70GbHjrs+RRMN80AYwBiOeUrtcNyxUjWukJZknx0vr5G?= =?us-ascii?Q?8TL1RfLzkC2u/H0cX2AGUfIHKr8zBDuG2OroK0FryQWnTLDuxe17qGakYFyk?= =?us-ascii?Q?ZOJp0kuxZyXSKuS6zCiBlRnmtY1+Ww31SHp3IvFKNi/IzhJLApcMC7FA1le4?= =?us-ascii?Q?GW0/djJXPOi8V0qssfAaOSMqU1vV1sxk4spQyCGHKyydKZKsj+KHly3tNziG?= =?us-ascii?Q?D5tXejhag9ibpC5RTiQjq4bW8J47yzm/bU8bM5jWasu3obVFFBXl1tTs+xm8?= =?us-ascii?Q?wu64IX81MGJorO0srOI2lflGn2VXdkzk8/EyZ+jsUEqoXblg3MOFXqTNzGc5?= =?us-ascii?Q?g38L8K22yidCdcvausMWj+eAvxB71KaUBwnWkWyL1h7CrM2GeBYJrzgcNgcB?= =?us-ascii?Q?0kmmkjq0ms2kjjzp3zXE/MRf7JYPaychubj0iOyS+iBhJbSPOeE78R4Z/LVk?= =?us-ascii?Q?K9iWDILZWu45dgADdWaljIcG/RNE+T/gbnH+rkfPTSL4Wv+RC/dmCzM/atBA?= =?us-ascii?Q?SXlauKWt+FgPGuxXl71sEcBjYmuwQ7XRS2zVtwrwxi6hQAggnZp5hWKgARZD?= =?us-ascii?Q?uTAT8HhkfCRw6DydNguG3tYeaFWcRQCSygGTF8kHpG9+RZoXhSMI63+oQftl?= =?us-ascii?Q?M4zLWskVPz8c2lqElGIcwWp46sl+yjOkLUyyPYDGJv82NLpGL/XmXpg0M5fe?= =?us-ascii?Q?UZWOER+vTPX6FW2YZjtt1NP/A/OFUC0HSBsvdLENn2uWy2brzrQ3wMbn1wDG?= =?us-ascii?Q?7SgDDyxLTcGHmqYjiweLC/fZgY2IhG9Play1Umu+NneKA4xVVIYwLsX0m9XC?= =?us-ascii?Q?U66f9+48lB4=3D?= X-Forefront-PRVS: 032334F434 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6069001)(39840400002)(39410400002)(39850400002)(39450400003)(39400400002)(3846002)(6116002)(8676002)(5009440100003)(5660300001)(81166006)(36756003)(6306002)(478600001)(38730400002)(6486002)(6506006)(6512007)(966005)(50986999)(6666003)(7416002)(42882006)(7736002)(50226002)(305945005)(4326008)(25786009)(47776003)(42186005)(33646002)(110136004)(189998001)(107886003)(72206003)(53936002)(66066001)(48376002)(50466002)(5003940100001)(2906002)(110426004)(42262002);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR0701MB2024;H:localhost.localdomain;FPR:;SPF:None;MLV:nov;PTR:InfoNoRecords;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR0701MB2024;23:VQVehq9V3Qxc8iKxJCR4VS1lk1mW818DCVwA84m?= =?us-ascii?Q?QZ841eL1w2NXrsCkI/pJG8d6ieGgIWej9cipR/G+d1P7e3z9MnlguoHvZi8d?= =?us-ascii?Q?meN6IoZpDqruevgI9I1grpdn14K6kHvgV7Up2noddIzEY23HYmqI6Cn0REg7?= =?us-ascii?Q?R815JOVKltkFRTELtPB3jKOsC3jzqLHGd+xYnPe9oCiLgGuzWyHFN7N23BK6?= =?us-ascii?Q?lKmizfRRSZSk4WHfZXlWRHe92Z/BYk8Ej85zPdbJcrrv2utgNCeMkDe5sKYd?= =?us-ascii?Q?gTEBt2DbrpP7GSZYz1UbTMQ2b0c57ar7ISe19X1kDLudznsnjc5bcJIU0N25?= =?us-ascii?Q?JOfx2OV9P/B8GI7VHKA+W694EvhPZAoAu/n8WRMRR99pJTahAeMPcAb98Ys8?= =?us-ascii?Q?eKGuGk+9wboqLbzvmjLmwpeN09Nv3lAWb7wC0GRKpj4YJM4egfpuvPYp1ZLM?= =?us-ascii?Q?LS9yLF17ZPcGTlUCkngNoQiMOYg+FaIRr8sNON8PWmuMhucZCFIy3wGsbBif?= =?us-ascii?Q?L4KJnjyi/HVI4KZOhwBgUZaObKaouCN4OV2c5QzEmT21pjyBr7qMCJV+PGV5?= =?us-ascii?Q?rmok8G8d+yIiq7J9cBzmjocI1t6QFLWl6Tb++V8AVKa8omIm2EoXvQ48epnH?= =?us-ascii?Q?6W/q1n5SuH//cCwkXQkj7zdo7bdteyfAvuo2brigdaKQ/Qzuwc9nrfs9a0NW?= =?us-ascii?Q?scD1pJiA+D/VEOU65557seQW5+h7duCvkm42V99ZyD7TJzjfPjvAcw0qU1Fu?= =?us-ascii?Q?Bd1rzlnl7MnwFGl/jaU4v03LTxrDo9vzxKeXGUL2KTET9q+lJiEdG0YbGRiw?= =?us-ascii?Q?gCD3EO55jgvl1Es5mgvhhW5LoaXe5IMAwUAZUJwOAF1JeVQJxVFpdsm3qCJX?= =?us-ascii?Q?im8oyaXHhHZTMYKOGOeroOdtHUKCIyKb7b/XclFuyeP0B0gVj9fOoYk77ZfW?= =?us-ascii?Q?roSguMRKIZBvaDEBDNx50/77ftcw13iBufsavhWXehQU7NjmpwF0HaAp6o8m?= =?us-ascii?Q?Fn2dSkHQbxziEbQ0z2kEF/eHVAF4dsOE9CE8xDo1RFwTbtJV6vq5VebmhHYR?= =?us-ascii?Q?ASqDOoL1DXZDGYlMhRJg+HkPAudwBcG9mDTSEc6sVO3I/OjhXaCKSFd/W9Rr?= =?us-ascii?Q?s7q8h+PF/B9X6NfshNelcBjf4H+DYbUR1qHMvz4kJpsnZQAycye0BSQ=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0701MB2024;6:sKJeDWDbfFGb+PhdjcBKB45oZe9XFH6CxAaL0auJAv+r+SBUWULwLkgz5nkNlJ3LBVe3wggqLClZt6JPwupm+KYX4SUSnpqm1Y9NFH0Mm0fkUiNpICW15WYFfxOB9ktBBrQEmy0F6E5W7bqbspYBDbiLxmN+9kYZP5yoYmKaZ6na/4ITG9VnNqimZmBcesqYt2nBXO0fmw3AbRb8VS/TiS0LSeuCIbbY/+VHznSq67YAiyJMeJAJTjKvXbjpmOfwukvLAgQ41lNa4psVINvGxLe4ulq/xE/vadPW2ohxf936osNNHc2FoCvpMtDff4g6dJ/4j3Elo0w4jIWNsiJEUow4ljsONKn1Ac/EmbRl3ToNqmktDDX/oxQNtxJEYsMFFCoYWYrndbcutbRndrRQm0HqXlIsU0TTudAn31y/zO9s083hpsFPo67rMKG7wO/tQJ46fMFu0LilM3lh8hCzCc4A6V6oFhsLxsTFYxMlcr511uaLOkYnGeFUrLlwweT6wHQKfF2q4ieS4LGwCndCJQ== X-Microsoft-Exchange-Diagnostics: 1;BY2PR0701MB2024;5:6AatZbdGxPo9Cxr95+Wf3yg4aBMB/yqSToiwqLjzD9h5txIv7DhZ31YiU0RzA6HAyMtlCAUV9tRX95/YvAWg1NQaVNpgZFZEbe+W68jIgI+uIJmuZOBRI2u+DifZzW5ZShDxu+WWd/aUrZn8/0dThG8Hvf20ACRHGYqXgqYUfVwkdOgB1E8hUchs9rWTkGxJmW/FAXfJ+mjEc2sO9fRCdVniCZNNNfnRNphw+4VkKZl6SWYX5IInJo2p6WPc3/FvHM0ztoTtRboRmKDESGlUXnFMxOfTocE4HIlQEEEKHbqAXQ7DTh59CO/KUBsbWE6Mi0OiNNkhFE3I4zRMr5i4PGBz5YD6gIbYt5mMjpJUZ1jR8Tu+f3JC0cKO6l17ykQWnHxDcTC+znjlpkpF6b+i0H9TSqQdMF+LV+FVsajwmXMfGyPvkE1JRP5EWe9wKqbUWBv43OFrPBaJSH/hjlgfSjFPYSwpWUb5ay30w9j2Xd98AvOd2aGpcsn0Z6s4sCfm;24:c6cpcu2tujq4OlxqseRD5xRPfgKAB6ZQOD3lECl5ZEATKjrXNrlrUu0py/eTT2o4qgNibFnenn23vhp/vZWXO+3vVKF+X5IBM0U2nIRVxmo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR0701MB2024;7:t5JO5ccDAftYEoI8GuGki/htVdi7HzeeQLff0PonKIIh+ljhBg035yQgamfRdBiLzB7nYbxl36vAK7kNB41cdcUA9ejYJx9iElidR0ALemT+9braiC9TYGHjIfnvAjJvtJDiN2hCwhf4FoWdsIqok3qcG770s+TmnjV56Kqb1SIn5lxFfB1jsONxHtFXd4aTximbNexZ37hYqpVhu2lbxe+pMJwsJPeLyBalJcgXdyRVCSu6fXtZHp7QZ5N1YxmRwdqkuxs268GgOeW8g/fk9dhqCbZD4sPYm7yj7L2KUVYTPmKbT4Z+Vv+GUX62QTR6Ucs9irGCPpO1ocGa1Suu6A== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2017 12:22:58.8383 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0701MB2024 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Cavium ThunderX2 SMMUv3 implementation has two Silicon Erratas. 1. Errata ID #74 SMMU register alias Page 1 is not implemented 2. Errata ID #126 SMMU doesnt support unique IRQ lines and also MSI for gerror, eventq and cmdq-sync The following patchset does software workaround for these two erratas. This series is based on patchset. https://www.spinics.net/lists/arm-kernel/msg578443.html Changes since v6: - Changed device tree compatible string to vendor specific. - Rebased on Robin's latest "Update SMMU models for IORT rev. C" v2 patch. https://www.spinics.net/lists/arm-kernel/msg582809.html Changes since v5: - Rebased on Robin's "Update SMMU models for IORT rev. C" patch. https://www.spinics.net/lists/arm-kernel/msg580728.html - Replaced ACPI_IORT_SMMU_V3_CAVIUM_CN99XX macro with ACPI_IORT_SMMU_CAVIUM_CN99XX Changes since v4: - Replaced all page1 offset macros ARM_SMMU_EVTQ/PRIQ_PROD/CONS with arm_smmu_page1_fixup(ARM_SMMU_EVTQ/PRIQ_PROD/CONS, smmu) Changes since v3: - Merged patches 1, 2 and 4 of Version 3. - Modified the page1_offset_adjust() and get_irq_flags() implementation as suggested by Robin. Changes since v2: - Updated "Documentation/devicetree/bindings/iommu/arm,smmu-v3.txt" document with new SMMU option used to enable errata workaround. Changes since v1: - Since the use of MIDR register is rejected and SMMU_IIDR is broken on this silicon, as suggested by Will Deacon modified the patches to use ThunderX2 SMMUv3 IORT model number to enable errata workaround. Geetha Sowjanya (1): iommu/arm-smmu-v3: Add workaround for Cavium ThunderX2 erratum #126 Linu Cherian (2): ACPI/IORT: Fixup SMMUv3 resource size for Cavium ThunderX2 SMMUv3 model iommu/arm-smmu-v3: Add workaround for Cavium ThunderX2 erratum #74 Documentation/arm64/silicon-errata.txt | 2 + .../devicetree/bindings/iommu/arm,smmu-v3.txt | 6 ++ drivers/acpi/arm64/iort.c | 10 ++- drivers/iommu/arm-smmu-v3.c | 93 ++++++++++++++++---- 4 files changed, 91 insertions(+), 20 deletions(-)