From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755194AbcDLAYb (ORCPT ); Mon, 11 Apr 2016 20:24:31 -0400 Received: from mail-by2on0059.outbound.protection.outlook.com ([207.46.100.59]:8384 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752686AbcDLAY3 (ORCPT ); Mon, 11 Apr 2016 20:24:29 -0400 Authentication-Results: broadcom.com; dkim=none (message not signed) header.d=none;broadcom.com; dmarc=none action=none header.from=caviumnetworks.com; Message-ID: <570C4034.20105@caviumnetworks.com> Date: Mon, 11 Apr 2016 17:24:20 -0700 From: David Daney User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Jayachandran C CC: Bjorn Helgaas , Tomasz Nowicki , , Arnd Bergmann , Will Deacon , Catalin Marinas , Hanjun Guo , Lorenzo Pieralisi , , , Stefano Stabellini , , Marcin Wojtas , , , , , , , , , , Jon Masters Subject: Re: [PATCH v2 2/4] PCI: Provide common functions for ECAM mapping References: <1460414707-19153-1-git-send-email-jchandra@broadcom.com> <1460414707-19153-3-git-send-email-jchandra@broadcom.com> In-Reply-To: <1460414707-19153-3-git-send-email-jchandra@broadcom.com> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [64.2.3.194] X-ClientProxiedBy: SN1PR07CA0023.namprd07.prod.outlook.com (10.162.170.161) To BN4PR07MB2130.namprd07.prod.outlook.com (10.164.63.12) X-MS-Office365-Filtering-Correlation-Id: 43f115aa-a65a-4463-5a5b-08d36268cd94 X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2130;2:QL3dxxhJDYQYrjnutWdIlRZbk3jucWgccv3hrM1H7vS0Mr29zOh7bB/OGCjQNo8sEwtzYDo+msLTv0nnI8K8C7QRvffwt8BXWdr9yvZvR0+jcF3+UIWIVHLtC/8ir6BNF7RidyOmWaGO2HhSE/zge4K/+NDNLEWX8jlmP7vasqjzchzta4qd/9kk3cj/06e7;3:jYgHfau6z++wnjTHlT2n29dNyQtzVUE+/m2CNCC2NdqD2ZM4P3P6doGQlZQqQFvldiY60SnsSaGv0RpZyDcC0ESfxrt+/bL1Ss3HKHaA5wLDwhF10i+C+3kjo23tYKgP;25:7XLjU5xRoyw/h2oA4hRPRjrUPFnaGj/T0dDoTrwTVEheP9HurbDZp8FjvpYdiQ3cpxARO5UxS300ztdX+wVPqCWVzpQr8LTqasUfYg4r73zo8nJTmbHbSBl6bLSM/2kvSo7j6bB8QiWz8Djh9+Sqqiih8KL6z9Sj3XVkUfPFNbsIGqFogO8Ox8RlcEeSIjW2cKGl/UTWmBpvByriEF/yfhzmEYIUVhtvOhQctDoKlpdEbpoGJr/Ks+Tc8ntmtFFKJNXKhggWWD84W4W99S3Zf48+bkfak5RgF5C/2GQ4BsjBPXLn8XiGUt2BXYEJeXSNZD4s82UhtITuH8jhQq9drw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2130; X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2130;20:zChHYJnQ3TZ3G7LAQTSaDyOdWvROO89xfngEU006H/kLLIFFIQ6UlD70nAxA+yJWlKxsyXoUbTcMW06gSJIbd43Lvxg1ZVRsHUto/Fr1xZcp/WCc0I0rrvvMazG19UGrSE3yZ4QEo7L+M/F9HscVINhv/wGKOK+qMt5kw/26qSx6oR8SxvJslFK/45x0MooFLT50I1r6cVLdlkKRKsAwWrHVcq0/s8AZ+CKKDuK/ACYBP8ObrCpjB+DcjDE+0s4CzLkoBbqfiOe7LfZ4ETAXBNVaF7tIe2zwTnfiA1ZTREUXnCZ/E+4qIa2lOTRQYYFYe6EooYvm35DvIv4gBc2zsYmAsSLiZlMeh8uLDOX+zeyXYX44vfhNF4CCVZeEWjTKhDg386yV2LO+GkqA7d7UB5OT2FCu6pbd0eUNogch4gzDFj936bpnC3dXneQ7CM3qAG1ctfroC1zFkNYriOWXILsyKihFmLg+wyAzWJ4KHpNJf0sOtvJ4vQhf4TkPxk7TyEBS+hTsbjvl93S+vAcBegbyKqeVbaTfWgegHLblt9yJh1VbUch6Yw8BuTuc6chAf+cP3005lPCdbOUuogexQYE13Y7dDtlave93LxFWHWI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001);SRVR:BN4PR07MB2130;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2130; X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2130;4:F2AMeI55B8lCAb8GLPrJXgCM+k6PboIpf3lWGtZlpQtc44j1ORCuSmX+2naKXpe4hvUTE4njkYoKwj7kgzLxnqLb8e24Wx0T05jCjKTGdsBVNPr2O3hTFaLimE3txtnzKO7kNNjb8RdltPkHoIeGgIC5VAg2bWCOxktNvbZnEueZ5PsiGS/gtgU8nUAhDvvHmPMBy5Qz1DylmsoFBq5O0OzpuK4bIAHJxQ0qO5gZWSJU1lsdBMtTGgQRcbFz9i6/jmI05R1vytlJoqUtfbyxzJUV447SC1pilwt+ozvudTdUhL8CdQI8Lm3hw3uww11koIdTqgvXolq1dmzhOuetrWs5nvPhimkORgO7J6aCwiVJu/as2fsO/OMZiumi2of/ X-Forefront-PRVS: 0910AAF391 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(24454002)(377454003)(54094003)(92566002)(65816999)(54356999)(50986999)(76176999)(42186005)(83506001)(50466002)(189998001)(4001350100001)(5008740100001)(53416004)(2906002)(33656002)(4326007)(1096002)(5004730100002)(81166005)(6116002)(586003)(3846002)(47776003)(66066001)(230700001)(65956001)(19580395003)(19580405001)(23756003)(2950100001)(36756003)(77096005)(110136002)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:BN4PR07MB2130;H:dl.caveonetworks.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;BN4PR07MB2130;23:O8MlnlFNeCOu7SWZI+tnKDsKzupTuoNGZA9wIw4?= =?iso-8859-1?Q?ZqXv17jn7tH/GHiTgmoiLk4MZ9kBgorGM/IMc07C6MwGAbVorkbW5CxGzN?= =?iso-8859-1?Q?GczDuYI5L87iYCE6Z3MsnfdwJg7JD1Vo6xbrWBqPO25WGvKjQ2DA7SlFOv?= =?iso-8859-1?Q?2uIwvG/1d+8qGat7GmGx986lNH8Ytr2/Xxq9WzTbAz7935Xp9EXVMrc8vq?= =?iso-8859-1?Q?LlU0rcgGDynN2zutoAklh5WYjHya0dUXUbeI+foH4luybe0mIjPmpyIxO/?= =?iso-8859-1?Q?oNBni2pvJAqAA4KlDgy7wQA3H++KORdLvHdoDRfsHJsGRvswoMgjkBijTk?= =?iso-8859-1?Q?BuxPFq4zwYvWYlNrxvADgvqiitXAp7eAqHFagAJEQOms9xPqhkN2F0bVFc?= =?iso-8859-1?Q?AyISBjDfkdtg8CYsjoj2t1VIdwI8EsfUZQq0Ls1woPg9eoXeK+NJxloPuo?= =?iso-8859-1?Q?SBIYVR+qOsLJLZ+zMCsjKxHZMEAOh26jPU3jsfJTr60BSl5ITdNWa2Q+RX?= =?iso-8859-1?Q?xkXsDoIITQrXEZnuMwuHj1j2ctLOITNP/T+nSlFNmMXU7xKyN711guZ96G?= =?iso-8859-1?Q?zr/6B5IbsT9X11lFmJ0tmeXfZhjKZMLgsm2/66+ePW4fwjSmP0RUASxXka?= =?iso-8859-1?Q?PIXoHHegkRQG22RZXNzVxc+3cGUqy2tzlwiLNqE+ujt9/vqrvzjmVpUi8k?= =?iso-8859-1?Q?sfngmYPTdbWpZZ33ecYLgG0j5xmp/eNg+pkDxQEXtHToLZTbESpuI5Ocro?= =?iso-8859-1?Q?lD7T3Tm7jV1k2YGrhWE91eeANkRNKrq49E5u0fY7Rxetici+GF92eXKUHo?= =?iso-8859-1?Q?g36VcRqrWogrpoa4jrYedivNm8HW9CdQEFRRFw0oiVqoUE6/Oykvfe96cq?= =?iso-8859-1?Q?mBJPRFdKYMOtbcxjI1kUlXToCnoQRMJGO3CZnaOAQbCmjE4gO2nkjxpVoX?= =?iso-8859-1?Q?F9v+dNhNWh4AYrq7QAnV67Y0b406nxk1/+XUxx+JUkuLS+F31Nh4gklVNk?= =?iso-8859-1?Q?HVi+UYVbWR41jjJCKEI3eoInONSwvivf3A2SmeAppjptki5+X/6h1jS6G?= X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2130;5:N9xNsXrfCLhdFZuMFBAlIuiCQ+j9f2F6Su/uemAQFF5B66gIBdEan2P1ryDNQfqKSTi63G+GGPcfhWmKkVQiR/+PIyYbW//IhjzgHFU/j1KJPGiluSKI+45hIf/aUxkqzCzN6plQvlB8T5mMrXoM1A==;24:5hgYdQMJjaReKxuqCRf6uymlP7VXbIC4l0bgCE0UcyhztXtCvIOr6o8RChPB+cv8wR/L+uJsZZm8D8K2LNWaCGAFr7wbsJyFCLJCLc7eowA= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2016 00:24:23.5048 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR07MB2130 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/11/2016 03:45 PM, Jayachandran C wrote: > Add config option PCI_GENERIC_ECAM and file drivers/pci/ecam.c to > provide generic functions for accessing memory mapped PCI config space. > > The API is defined in drivers/pci/ecam.h and is written to replace the > API in drivers/pci/host/pci-host-common.h. The file defines a new > 'struct pci_config_window' to hold the information related to a PCI > config area and its mapping. This structure is expected to be used as > sysdata for controllers that have ECAM based mapping. > > Helper functions are provided to setup the mapping, free the mapping > and to implement the map_bus method in 'struct pci_ops' > > Signed-off-by: Jayachandran C Tested-by: David Daney > --- > drivers/pci/Kconfig | 3 ++ > drivers/pci/Makefile | 2 + > drivers/pci/ecam.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++ > drivers/pci/ecam.h | 58 +++++++++++++++++++++++ I wonder if these files should go in drivers/pci/host ... I understand that you still have to use them from drivers/pci/acpi though. I will let others opine on this, but could you put the contents of ecam.h into include/linux/pci.h along with the pci_generic_config_*() declarations? If you did that, the contents of ecam.c could go into drivers/pci/access.c... > 4 files changed, 193 insertions(+) > create mode 100644 drivers/pci/ecam.c > create mode 100644 drivers/pci/ecam.h > [...]