From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932675AbcHINBx (ORCPT ); Tue, 9 Aug 2016 09:01:53 -0400 Received: from mail-sn1nam01on0073.outbound.protection.outlook.com ([104.47.32.73]:62240 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932539AbcHINBk (ORCPT ); Tue, 9 Aug 2016 09:01:40 -0400 X-Greylist: delayed 7259 seconds by postgrey-1.27 at vger.kernel.org; Tue, 09 Aug 2016 09:01:40 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Robert.Richter@cavium.com; Date: Tue, 9 Aug 2016 12:29:26 +0200 From: Robert Richter To: Tomasz Nowicki CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms Message-ID: <20160809102926.GT22012@rric.localdomain> References: <1470661541-26270-1-git-send-email-tn@semihalf.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1470661541-26270-1-git-send-email-tn@semihalf.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [78.53.81.249] X-ClientProxiedBy: VI1PR0901CA0062.eurprd09.prod.outlook.com (10.167.203.158) To CY1PR07MB2346.namprd07.prod.outlook.com (10.166.194.145) X-MS-Office365-Filtering-Correlation-Id: 8e5309f3-ce77-4c26-fcb1-08d3c040140c X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2346;2:eFlHuG2VoIrtUvfR6ZBXbjeNgeyM/u5anKebsz72bQer6tHVSkFh+3ilSD043B4InGkiGwfjz7AJt69xWY3HNUCAeeq42Fhe110JgT1kbsNl7fx7m6xsDjVeR8HytkFFQtRVP9sPcuYWw7W3kqJ0NHvbdMloma3kLdvZgk1mcsq/7rj+3exRUyYtoLpYMeqx;3:gfoVr/9DvQhdJ/ok5z5vyOtrywDcoajImTxLl+UoyFbGbZ/0r0Xwt2WvhalNVPWV09dMrZaA/0FW3BeAvH7tztUlJPriLqaOpeoEO88W8+Slkit8K6PXA0pJepKWJt5e;25:8L1cQT/69l+gA391sLA3WeOycrtC1YPDcwbZYNHyNpUQyDLwKTU8agcm1Fx8VEf+9Fkg2dNZUFG5QS9zYFQBr08Zojoboi5aEzlqnnrMW9QodD/4nyOI9UNJKA08ZThbSXocufMVfCupqNkH53XmlMCDOgS2bZDDmuVy07WtCR7AMMHzNDJrjSHR0kIXZneRNVQDbnQY9Zo2y0AXnZJbR5bRK9zcjEs9B8ROgFpayacCOKdhlGDN63rdkn1Gr3BeOrfNpMQt646DQxvTOLpiOIUIyR77AneAytloEEcrKkfTmqxLbbkZF5p/U+jVk12kUurxByhflYE7wScVKrC2MpQDFkKk5nqEyyWoeQYy4694X2z3IexgfjyFarEpwpjYQHMY2ht4iJg4JHm9v0hhT34sUa/nOuYcKPi61CfC1IM= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2346; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2346;31:OjP5CTyYwSBl6DwmKDJQQ0MSham4Tx6u/BIjtubX3sGQ/kVxZ2JmM3/AtH+S5MAwnw0QYIMM2ut601AFugRY++17k2JRQzcasdCbeBkHg8AbADXQE3L4tKkLiJkRUHNkXK4+1Z0zN4/P+BfV3UNQZB6Q2I2Kfi7/IJrbfPQMK4vljmmKmLGpLcQT6DzKAV6u4PLYYL0r2+sMjGygp6fWEcbqdhbauR0dyb0DQeWEEkQ=;20:pddoxXi5mZPdEFlD5/zHkyPL93Z9Ftj2IsGywC7WqKJZQhPnxt9+ujIrHiZnTOWfX6gOLkH5jOI9QgP20Bb8HfxumTSm/O2RTuO50jP7dmXZ2cIibKvaajYOE95qIUzodBSWrGJWZ/W52cZlaK0EPtwHVACuQij96j2abJCjz5IjMarqn8cbNjAczVBuUJ1gUlZRwCR5/IqrgdsTrl68miuxIcIPByQSOrCVgmiqcwHPODw5W+hy45IlOs7QFyihyY2xbjfiNwXfbu5FBWn7SFEbhyiY40zYEikc5BB7Y3ovonc3xsBRIYcoqnKKqakB+o+U7+/x2D4oDnYEWghCIvCOjmTLvDKy0c25Us32GvOnm+TixrqsGpMn2/+YA7/r2Ux/I5tmPC0LQjy41zRo7GD76t0lpreiqyveEIaQo3aqJWFECIYHKj7CTcx4HiJ8ghVfSihBvQ/hu2sKIhKbnwFsgM2I3gd6CaszFQyGD6ZiLVmqciRxnJn0pdQALVTH X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:CY1PR07MB2346;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2346; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2346;4:M3UmBwGRW1oOngtw01khzf/s3Tw5g+88gpue4t/tyJrf40PCN0LFoEczzhKS/QSxzNnlWU1+PDBnyiK9v/x12ybmyEJsOMbsWeuqHfy6qGhi+HvVVqdrcDFY0kY8PzDCJpMaL9Kt75EELorgYuqsHaleYYCGagtXIexoFvVBI00ZAHsf2MoIKB/OcrIYsDxugW+dYou0BZNiqRtfJjLP5JRVpzKoQQUnpCPHEkMTfcDs20XdcDYM8aAxhQAp8+fETeZm/r7EVjmNfu8VhoLn3ZOUqtLX2J326jwjz6osCj/O5VofJEBaGe6b8jK1TnAUFrtoHq/A5SCLbgqviyjD/Egnkj+fTDThbn20b2giPWE0XFFxOBpWI4MEPdd5lnRY X-Forefront-PRVS: 0029F17A3F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(24454002)(199003)(42186005)(6116002)(3846002)(23726003)(50986999)(19580405001)(54356999)(19580395003)(76176999)(83506001)(101416001)(92566002)(66066001)(1076002)(47776003)(105586002)(2906002)(4326007)(189998001)(50466002)(86362001)(2950100001)(110136002)(77096005)(7846002)(7736002)(305945005)(8676002)(9686002)(81166006)(68736007)(81156014)(106356001)(97756001)(7416002)(4001350100001)(33656002)(46406003)(586003)(97736004)(18370500001)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR07MB2346;H:rric.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR07MB2346;23:DQXx88Rnltw6StSQFRSlA8yt+/dL50HwmWt35m7gm?= =?us-ascii?Q?uYHQdqMQ/dUa0CVJtYU9y3jP56FpQ/dSgknCnQLbRrTNrV/HCCzzg7JTiDxO?= =?us-ascii?Q?fRkqfnkXY1qz3xHcNqrA7++suKKlzywXp28WkWmTVZLM/1TQKXZ2ATea1ZdW?= =?us-ascii?Q?rv+eK89NHKq2oskF9kTotV2W9CbTHapZg48ovG1MEUdM3qky0eXc6KNAw2EI?= =?us-ascii?Q?9EfY+NuV1zw/JVrJ+sBj64+avyGBlUkBEAYV/TKLyjiQf0txNcp6DyBOd0eg?= =?us-ascii?Q?CLRw91j4MGBNWDa1b2B5KmPM3pvd3Ra5oZqL/zLfpZFVrxpiWScql5mGtRXq?= =?us-ascii?Q?iv3s09tMktwdxQAz0QwBduaoua72VF2UdJ6FGfel7/giNodOcxBmsU6YWkOE?= =?us-ascii?Q?BI0e/gNwkCQtYnF69e6oNTAzkLXQYJNAWl7LsMgYmxkkbVVVGAx6dkL04cAf?= =?us-ascii?Q?bPr5Q/fwTITcicbQKwua8c0eYCYwXclFqagtLLMqVvsgpCsxzbLNGRtVaPpy?= =?us-ascii?Q?rMk/N2fusYFA+WSTnN99WZ1kO7PeZUjW3qzm2z9eJq8Bgl1OVOBObhDmCZZO?= =?us-ascii?Q?U0nEucNxguPKYDCOMfmjf7z5rDxxHuQnqKgpi5q/Dtfgqm56sXbf5+vxGK88?= =?us-ascii?Q?8C/xX0w6YQG+6mXh7zQdZM0LMCwLuMnNzRl4GWDkwAt5IIY0vF4mgn97QZaE?= =?us-ascii?Q?JZejDPFt+r05jP0OemWFfMJvQPGGjNGL+obVMefBuaHWc9JDWragA8McuP5j?= =?us-ascii?Q?qthJ+CSunHU1959GVolx0/MfbHVEFCyqhiuztGIJ4/GXpa8W2kp9LLpOFTi8?= =?us-ascii?Q?T3zi27hvBHOS/bhHmHVlftquAJjthdqR7VQGuRAI1r/IzRG8FTngldG73knF?= =?us-ascii?Q?D4pHYlRTFosur6VUaYjM9JIFYr21Pwwr46ZT1AoUz9lLGwA742TcyKjS99Qq?= =?us-ascii?Q?WTQKi4lNy0o8RrMuWlFJvsnHwOpzvZBgdvjzE3GauDyz5OsVn5NhlwkgBP8o?= =?us-ascii?Q?ZHjOKS7HGqcCJgYv4m+3thHHsLnqesfGGdFtgPsEU0y8FUP890mc7mzZnPZR?= =?us-ascii?Q?fzItWs+RxAFb/8q2tUJT7d7pdurfXP6y6bHbm+4Jp6jNl2kVLsaU+TVkVQay?= =?us-ascii?Q?37frYr3emcNPd6YvAHBUHNzjN8hdxkeDDyoKbeZNPNyx/YLKTBTHYi2XIQc+?= =?us-ascii?Q?7FcOWYxVwNRYGUeoxGG+G4oWnjNuoirYT/l?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2346;6:FYkra7CQxVvp+mQiXNbWTDfPIJaBby54V1oBLzNNuDLbTlUbHn3XnW86miGoYwzXgGV/PlmQ2wUuDnhlITBKMe0tNnpKGyW1NhDaC5baFOwjkzZwKF5O2x3TB0b8TAuKi+TOvLDlvpg71AUHjTBxlq6J5E0HJ3wUkcVP5SzKmIxFfqz0Nvnt8uctB5W3E1xE3A4rC0eZjXxurasHduLsJcIMgNgzYSfngbmIip9TuaJmseZ40ao+jX/f2N/HHeQ4hCzH+TrToulFm7uXGbS/7KzDDGQZVwmNMN+F15xeppU=;5:LLwwP0iMV6LQPOXZfmR5DNJIHCOG1p/tvgmNPFktSPethFaHl5OzbvtHiWg8F730BCTJqywdLxgesVeP0K12b7GfLYONDY4vQR7w18yeS+dG474fkeb/P2r2yBhNxpfuuUuSRCdJ590udq2GryRkxA==;24:BjYbPQjdQQzA+CB7ju99/zd8jmnJJJtCFEytXn0TlTOVtj+Q3lDcfMBZhAL/huZoeivJd+ZBsb0JOLxMwiRAJp/3byHRS+hP9MubtTgz2BI=;7:gkJMkvZQ8SiM6/LPOMxyE4Kow0loT2R7fn36X0cR5S8F2lgyxEJj5jo7sLl9qDc7XNvWZZL46mJ8ht3vXoWlf978vgnXZGA2OFM/ttxfH6LKdxXbDCxafGcn520W8fnIl5c1mIY/N51GwMsJ14bAQTXNR6+MhDJ9X/eFWISUld5h6DzI5kIjHVsPtnXz6KuxQfUj4gEedlbpjFdeGDT+oLKyWgukCwILE4O3eiYEG6fxntI3CH0Yu6T16FEquxBx SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2016 10:29:37.7209 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2346 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08.08.16 15:05:36, Tomasz Nowicki wrote: > Quirk handling relies on an idea of matching MCFG OEM ID, TABLE ID and > revision (the ones from standard header of MCFG table). > > Static array is used to keep quirk entries. Each entry consists of > mentioned MCFG IDs along with custom pci_ops structure and initialization call. > > As an example, the last patch presents quirk handling mechanism usage for > ThunderX PEM driver. > > v4 -> v5 > - rebase against v4.8-rc1 > - rework to exact MCFG OEM ID, TABLE ID, rev match > - use memcmp instead of strncmp > - no substring match > - fix typos and dmesg message > > Tomasz Nowicki (5): > PCI: Embed pci_ecam_ops in pci_config_window structure > PCI/ACPI: Move ACPI ECAM mapping to generic MCFG driver > PCI: Check platform specific ECAM quirks > ARM64/PCI: Start using quirks handling for ACPI based PCI host > controller > PCI: thunder-pem: Support quirky configuration space access for ACPI > based PCI host controller > > arch/arm64/kernel/pci.c | 42 +---------------- > drivers/acpi/pci_mcfg.c | 40 ++++++++++++++++ > drivers/pci/ecam.c | 6 +-- > drivers/pci/host/Makefile | 1 + > drivers/pci/host/mcfg-quirks.c | 93 ++++++++++++++++++++++++++++++++++++ > drivers/pci/host/mcfg-quirks.h | 24 ++++++++++ > drivers/pci/host/pci-thunder-pem.c | 96 ++++++++++++++++++++++++++++++++------ > include/linux/pci-acpi.h | 5 ++ > include/linux/pci-ecam.h | 2 +- > 9 files changed, 252 insertions(+), 57 deletions(-) > create mode 100644 drivers/pci/host/mcfg-quirks.c > create mode 100644 drivers/pci/host/mcfg-quirks.h For the whole series Reviewed-by: Robert Richter Tested-by: Robert Richter Test included: [PATCH V7 0/8] Introduce ACPI world to ITS irqchip Thanks Tomasz, -Robert